我不明白NaN是如何被大熊猫对待的,会很乐意得到一些解释,因为逻辑似乎对我“破坏”.
我有一个csv文件,我使用read csv加载.我在该文件中有一个“注释”列,大多数时候都是空的.
我已经隔离了该列,并尝试了不同的方法来删除空值.首先,当我写作:
marked_results.comments
我明白了:
0 VP
1 VP
2 VP
3 TEST
4 NaN
5 NaN
....
该列的其余部分是NaN.
所以pandas将空条目加载为NaN.到目前为止很棒.
现在我试图删除这些条目.我尝试过:
marked_results.comments.dropna()
并收到相同的专栏.没有什么被丢弃.困惑,我试图理解为什么没有丢弃,所以我尝试:
marked_results.comments==NaN
并收到了一系列法利斯.没有什么是NaNs ……令人困惑.
然后我试过:
marked_results.comments==nan
而且,除了愚蠢之外别无他物.我在那里有点生气,并且认为更聪明.所以我做了:
In [71]:
comments_values = marked_results.comments.unique()
comments_values
Out[71]:
array(['VP', 'TEST', nan], dtype=object)
啊,得到了!所以我现在尝试过:
marked_results.comments==comments_values[2]
令人惊讶的是,仍然所有的结果都是法利斯!
唯一有效的是:
marked_results.comments.isnull()
它回归了预期的结果.谁能解释一下这里发生了什么?