在pandas数据框中
matrix
我想找到包含NaN的行(索引)。
在列中找到NaN我会做
idx_nan = matrix.columns[np.isnan(matrix).any(axis=1)]
但它不适用于matrix.rows
在行中查找项目的等价物是什么?
答案 0 :(得分:5)
我认为DataFrame.isnull
和any
需要boolean indexing
:
print (df[df.isnull().any(1)].index)
样品:
df = pd.DataFrame({'A':[1,2,3],
'B':[4,5,6],
'C':[np.nan,8,9],
'D':[1,3,5],
'E':[5,3,6],
'F':[7,4,3]})
print (df)
A B C D E F
0 1 4 NaN 1 5 7
1 2 5 8.0 3 3 4
2 3 6 9.0 5 6 3
print (df[df.isnull().any(1)].index)
Int64Index([0], dtype='int64')
另一种解决方案:
idx_nan = df[np.isnan(df).any(axis=1)].index
print (idx_nan)
Int64Index([0], dtype='int64')
idx_nan = df.index[np.isnan(df).any(axis=1)]
print (idx_nan)