NumPy有三元运算符吗?例如,在R中有一个向量化的if-else
函数:
> ifelse(1:10 < 3,"a","b")
[1] "a" "a" "b" "b" "b" "b" "b" "b" "b" "b"
在NumPy中有类似的东西吗?
您要找的是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()
.