NumPy ndarray的三元运营商?

时间:2011-10-21 16:38:13

标签: python arrays numpy multidimensional-array

NumPy有三元运算符吗?例如,在R中有一个向量化的if-else函数:

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

NumPy中有什么相同的东西吗?

1 个答案:

答案 0 :(得分:25)

您正在寻找numpy.where()

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

NumPy甚至有一个概括(将0,1,2等映射到值,而不是仅映射True和False):numpy.choose()