我必须检查Dataframe中的两列之间是否有Null值。我使用以下方法获取了数据帧中第一个非空值和最后一个非值的位置:
x.first_valid_index()
x.last_valid_index()
现在我需要找出这两个位置之间是否有空值
答案 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