2011-10-21 7 views
14

NumPyには3項演算子がありますか?例えば、Rにベクトル化if-else機能があります:NumPy ndarrayの3項演算子ですか?

> ifelse(1:10 < 3,"a","b") 
[1] "a" "a" "b" "b" "b" "b" "b" "b" "b" "b" 

はnumpyの中に同等のものはありますか?あなたがnumpy.where()を探している

答えて

19

numpy.choose()

>>> print numpy.where(numpy.arange(10) < 3, 'a', 'b') 
['a', 'a', 'a', 'b', 'b', 'b', 'b', 'b', 'b', 'b'] 

numpyのは、さらに一般化(値に、代わりにのみTrueとFalseマッピングなどそのマップ0、1、2、)持っています。

+0

それです。ありがとうございました。選択は複雑に思えますが、私はどこかでその用途を見つけるでしょう。 – hatmatrix

関連する問題