如何在 np.where() 中检查数据框中列表中的空元素?

我的数据框,df:


Col_A Col_B

Apple [1,2,3]

Banana [1,null,4]

Orange [6,null,null]

np.nan空值在数据帧中表示为s。如何检查 Col_B 的每一行中的所有值是否都为空?

这是我的np.where:


np.where(pd.isnull(df[Col_B]).all(), "Fail", "Pass")

然而,即使我有一个“.all()”,我也得到一个真值是不明确的。有什么办法可以解决这个问题吗?


慕容3067478
浏览 122回答 1
1回答

慕雪6442864

我不相信你需要在这里使用np.where()。您可以尝试其他两种方法:df['one_bad'] = df['Col_B'].apply(lambda x: np.nan in x)True如果列表中至少有一个 np.nan将返回。但您可以用来np.isnan().all()检查是否所有值都是np.nan.df['all_bad'] = df['Col_B'].apply(lambda x: np.isnan(x).all())True如果列表中的所有值都是,则返回np.nan,否则返回False。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python