示例数据帧如下
c1 c2
0 1 2
1 nan 4
2 1 nan
3 4 1
4 nan nan
在使用df.dropna(axis = 0)函数删除之后,我希望得到一个删除行的索引列表,如下所示。
[1,2,4]
您可以使用:
df.index[df.isnull().any(1)].tolist()
输出:
[1, 2, 4]
然后,
df = df.dropna(axis=0)
细节:
any
方法,因此它在一行中查找任何True,这将返回一个系列,其中index作为数据帧的索引,而True作为True值的任何行。你可以使用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]
你可以使用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]