我有多个列的Pandas DataFrame,我想检查特定列的值是否为NaN,如果是,则需要返回布尔值(True或False)。
我尝试过
pandas_df['col1'].isnull()
但是它返回具有索引和布尔值的所有行。
答案 0 :(得分:2)
对于返回布尔型标量,请使用Series.any
-测试每列是否至少有一个NaN
(至少一个True
):
pandas_df['col1'].isnull().any()
如果需要测试所有的valeus是否为NaN
,请使用Series.all
:
pandas_df['col1'].isnull().all()
pandas_df = pd.DataFrame({'col1':[1,2,np.nan],
'col2':[np.nan, np.nan, np.nan]})
print (pandas_df['col1'].isnull().any())
True
print (pandas_df['col2'].isnull().all())
True
答案 1 :(得分:2)
IIUC,您需要.any()
检查是否存在任何空值:
pandas_df.col1.isnull().any()
答案 2 :(得分:-1)