NumPy有三元运算符吗?例如,在R中有一个向量化的if-else
函数:
> ifelse(1:10 < 3,"a","b")
[1] "a" "a" "b" "b" "b" "b" "b" "b" "b" "b"
NumPy中有什么相同的东西吗?
答案 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()
。