首页 > 解决方案 > 如何在python中获取某些列的空行?

问题描述

我面临空行的问题。我只想要数据框的某些列的空行。是否可以获得空行?

In [57]: df
Out[57]: 
   a   b   c  d  e
0  0   1   2  3  4
1  0 NaN   0  1  5
2  0   0 NaN  NaN 5
3  0   1   2   5  Nan
4  0   1   2   6  Nan

现在我想要 b,c,e 中的空值,结果应该是这个:

Out[57]: 
   a   b   c  d  e
1  0 NaN   0  1  5
2  0   0 NaN  NaN 5
3  0   1   2   5  Nan
4  0   1   2   6  Nan

标签: pythonpandasdataframenull

解决方案


您可以将 isna() 用于axis = 1。

df = pd.DataFrame({"a":[0,0,0,0,0], "b":[1,np.NaN,0,1,1], "c":[2,0,np.NaN,2,2], "d":[3,1,np.NaN,5,6], "e":[4,5,5,np.NaN,np.NaN]})

>>> df[df.isna().any(axis=1)]
   a    b    c    d    e
1  0  NaN  0.0  1.0  5.0
2  0  0.0  NaN  NaN  5.0
3  0  1.0  2.0  5.0  NaN
4  0  1.0  2.0  6.0  NaN

同样可以使用 isnull() 函数完成

df[df.isnull().any(axis=1)]

推荐阅读