找出DataFrame中两列之间的空值

时间:2017-05-10 07:56:02

标签: pandas

我必须检查Dataframe中的两列之间是否有Null值。我使用以下方法获取了数据帧中第一个非空值和最后一个非值的位置:

 x.first_valid_index()
 x.last_valid_index()

现在我需要找出这两个位置之间是否有空值

1 个答案:

答案 0 :(得分:0)

我认为这与检查所有NaN值到boolean mask和总和True值相同:

x = pd.DataFrame({'a':[1,2,np.nan, np.nan],
                  'b':[np.nan, 7,np.nan,np.nan],
                  'c':[4,5,6,np.nan]})
print (x)
     a    b    c
0  1.0  NaN  4.0
1  2.0  7.0  5.0
2  NaN  NaN  6.0
3  NaN  NaN  NaN


cols = ['a','b']
f = x[cols].first_valid_index()
l = x[cols].last_valid_index()
print (f)
0
print (l)
1

print (x.loc[f:l, cols].isnull().sum().sum())
1