请解释一下pandas如何处理NaN,因为以下逻辑对我来说似乎是“有问题的”。我尝试了各种方法(如下所示)来删除空值。
我的数据框,使用read.csv从CSV文件中加载,具有一个名为“comments”的列,大部分时间为空。
列“marked_results.comments”看起来像这样;其余的所有列都是NaN,因此pandas将空条目加载为NaN,到目前为止还好。
我的数据框,使用read.csv从CSV文件中加载,具有一个名为“comments”的列,大部分时间为空。
列“marked_results.comments”看起来像这样;其余的所有列都是NaN,因此pandas将空条目加载为NaN,到目前为止还好。
0 VP
1 VP
2 VP
3 TEST
4 NaN
5 NaN
....
现在我试图删除这些条目,只有这种方法可行:
marked_results.comments.isnull()
以下所有方法都不起作用:
marked_results.comments.dropna()
只会返回相同的列,没有任何条目被删除,令人困惑。marked_results.comments == NaN
只会返回一个全是False
的序列。没有NaNs...令人困惑。- 同样地,
marked_results.comments == nan
我还尝试了:
comments_values = marked_results.comments.unique()
array(['VP', 'TEST', nan], dtype=object)
# Ah, gotya! so now ive tried:
marked_results.comments == comments_values[2]
# but still all the results are Falses!!!