如何使用NaN值按多个(即所有可用)属性对条目进行分组?

时间:2019-04-01 10:25:02

标签: pandas pandas-groupby

我必须找出哪些条目具有相同的有效功能,即数据是否看起来如此:

Idx    F1    F2    F3

1     NaN     A    23
2     0.2     B   NaN
3     NaN     C    12
4     NaN   NaN    88
5     0.7     D    41
6     0.1     E   NaN

分组应如下所示:

Group 1: [1, 3]
Group 2: [2, 6]
Group 3: [4]
Group 4: [5]

问题是,有超过2000个属性,因此我无法手动列出它们以明确地按功能分组。

有人可以建议我使用熊猫的方法吗?

1 个答案:

答案 0 :(得分:2)

您可以尝试:

(df.groupby((df.isna().dot(df.columns)).
     replace('','no_nan')).apply(lambda x: x.index.tolist()))

F1        [1, 3]
F1F2         [4]
F3        [2, 6]
no_nan       [5]