我的数据框df:
Col_A Col_B
Apple [1,2,3]
Banana [1,null,4]
Orange [6,null,null]
在数据帧中,空值表示为np.nan
。如何检查Col_B每行中的所有值是否都为空?
这是我的np.where
:
np.where(pd.isnull(df[Col_B]).all(), "Fail", "Pass")
但是,即使我那里有一个“ .all()”,我得到的真值还是模棱两可的。有什么办法解决这个问题?
答案 0 :(得分:2)
我认为您不需要在这里使用np.where()
。您可以尝试另外两种方式:
df['one_bad'] = df['Col_B'].apply(lambda x: np.nan in x)
如果列表中至少有一个np.nan,将返回True
。
但是您可以使用np.isnan().all()
来检查是否所有值都是np.nan
。
df['all_bad'] = df['Col_B'].apply(lambda x: np.isnan(x).all())
如果列表中的所有值均为True
,则返回np.nan
,否则返回False
。