为什么使用notnull()过滤器不起作用?

2 浏览
0 Comments

为什么使用notnull()过滤器不起作用?

这个问题已经有答案了

如何删除Pandas DataFrame中某列值为NaN的行

使用 loc 进行布尔索引会返回NaN

我有一个DataFrame cMean ,它是某些数据重新采样的结果。它包含许多NaN值,我想摆脱它们,所以我尝试了 cMean[cMean.notnull()]。但是,它们仍然显示出来:

\"enter

你能解释一下这里发生了什么吗? 我们可以看到cMean.notnull() 是正确的:

\"enter

admin 更改状态以发布 2023年5月24日
0
0 Comments

这种方法不起作用,因为cMean.notnull()会给你一个二维的输出,而你需要一个一维的系列来执行布尔索引。

使用感兴趣的特定列:

out = cMean[cMean['population'].notnull()]

或者使用any/all聚合,如果你想考虑几个列:

out = cMean[cMean.notnull().any(axis=1)]

请注意,您还可以使用dropna

out = cMean.dropna(subset=['population'])

0