我有一个数据框,其中一些值为NaN,少数为0.0000。 当我做的时候
pd.isnull(df);
我看到它仅针对NaN返回TRUE,但不针对0.0000返回。
在我的数据集中,我需要忽略所有NaN和0.0000。我可以通过其他方式实现,但我对如何定义null感到困惑。
那么我应该假设0.0000仍然可以是一些无限小的值吗?
答案 0 :(得分:2)
NULL用于表示缺少数据。在Python中,我们通常使用None
来表示这种情况。由于 numeric numpy
数组(数据框中的基础数据结构)无法保存None
值,因此Pandas会将NaN
用作NULL。
因此pandas.isnull()
function只会检测NaN
或None
值。
0.0000
是完全有效的数值,它不是缺少数据,并且未被该函数检测到。
换句话说,NULL 不意味着与零相同。这意味着根本没有数据。
答案 1 :(得分:1)
0.0000只是0,一个完全正确的值。无/ NaN是“非数字”,一些不可计算的值(例如0/0)。这些基本上是不同的概念。 Python NaN 不是C ++ Null (本质上是0)。 NaN更像是一个通知,在计算这个值时会发生某种异常。