【发布时间】:2013-07-31 22:46:26
【问题描述】:
请解释一下在 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只给出了所有Falses 的系列。没有什么是 NaN……令人困惑。 - 同样
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!!!
【问题讨论】:
-
NaN != NaN - 阅读 Stephen Canon 接受的回复。
标签: python pandas dataframe nan