示例数据框如下所示
c1 c2
0 1 2
1 nan 4
2 1 nan
3 4 1
4 nan nan
使用df.dropna(axis = 0)函数删除后,我希望有一个被删除的行的索引列表,如下所示。
[1,2,4]
答案 0 :(得分:5)
您可以使用difference
df.index.difference(df.dropna().index).tolist()
Out[420]: [1, 2, 4]
或
df.index[df.isnull().any(1)].tolist()
Out[424]: [1, 2, 4]
答案 1 :(得分:3)
您可以使用:
df.index[df.isnull().any(1)].tolist()
输出:
[1, 2, 4]
然后
df = df.dropna(axis=0)
详细信息:
any
方法与axis = 1一起使用,以便它在
行,这将返回一个序列,其中index为
数据框,对于任何作为True值的行都为True。答案 2 :(得分:2)
您可以使用np.where
。它将返回您的值为NaN
的行和列。
np.where(df.isna())
(array([1, 2, 4, 4]), array([0, 1, 0, 1]))
选择元组的第一项,将其转换为一组,然后返回列表:
list(set(np.where(df.isna())[0]))
[1, 2, 4]