2016-11-16 79 views
2

行的indeces在大熊猫数据帧查找包含NaN的

matrix 

我想找到contaning楠行(索引)。

在列找到NaN的,我会做

idx_nan = matrix.columns[np.isnan(matrix).any(axis=1)] 

,但它不与matrix.rows

什么是等效于行寻找项目的工作?

回答

5

我认为你需要DataFrame.isnullanyboolean 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) 
+0

它也可以与df.isnan一起使用吗? – gabboshow

+1

df.isnan不存在 – Boud

+0

对不起np.isnan(矩阵) – gabboshow