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コメントが示しているように、以下は pandas で正しく評価されます

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

これを指摘したいと思います。これはTruebool(np.nan)(True これによりエラーが発生するはずだと思いますが、それは別の問題です)

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