1

这是一段代码:

s = pandas.Series([numpy.nan, False])
s.all()

会回来nan的。有没有办法让它nan在系列中被忽略,即返回False上述情况?

我检查了 numpy.all() (http://docs.scipy.org/doc/numpy/reference/generated/numpy.any.html)上的文档,上面写着

“非数字 (NaN)、正无穷大和负无穷大的计算结果为 True,因为这些 > 不等于零。”

好像真的不太一致...

谢谢,安妮

4

1 回答 1

0

正如评论所表明的,以下False在熊猫中正确评估

In [12]: s
Out[12]: 
0      NaN
1    False
dtype: object

nan此方法在评估之前先删除值

In [14]: s.dropna().all()
Out[14]: False

In [15]: s.all()
Out[15]: False

我想指出这一点,这是因为True( 我碰巧相信这应该给出一个错误,但那是一个不同的问题)bool(np.nan)True

In [13]: s.astype(bool)
Out[13]: 
0     True
1    False
dtype: bool
于 2013-08-02T16:52:12.267 回答