【发布时间】:2017-04-11 21:19:17
【问题描述】:
我有一个看起来像这样的 pandas 数据框:
ID Hobbby Name
1 Travel Kevin
2 Photo Andrew
3 Travel Kevin
4 Cars NaN
5 Photo Andrew
6 Football NaN
.............. 1303 rows.
填写的名称数量也可能大于 2。我想最终将整个 Names 列填充为名称(在偶数行的情况下为 +1)。我已经将名称总数存储到可变数量的名称中。在上述情况下,它是 2。我尝试按每个名称进行过滤和计数,但是当名称的数量是动态的时,我不知道如何做到这一点。 预期数据框:
ID Hobbby Name
1 Travel Kevin
2 Photo Andrew
3 Travel Kevin
4 Cars Kevin
5 Photo Andrew
6 Football Andrew
我试过:使用 fillna 将列名中的 NaN 替换为 0。过滤列并最终得到一个只有 na 字段的数据框,然后是 len(df) 以获取 nan 的数量,并从这里创建了 2 个数据库,每个数据库都包含 df 的一半。但我认为这种方法是完全错误的,因为我并不总是有 2 个名字。可能有 2、3、4 等(这是由字典给出的)
非常感谢任何帮助
谢谢。
【问题讨论】:
-
您可以发布您尝试过的代码和您期望的输出吗?
标签: python sorting pandas filter