【发布时间】:2011-12-12 17:50:55
【问题描述】:
NumPy 有三元运算符吗?例如,在 R 中有一个矢量化的if-else 函数:
> ifelse(1:10 < 3,"a","b")
[1] "a" "a" "b" "b" "b" "b" "b" "b" "b" "b"
在 NumPy 中有什么等价的吗?
【问题讨论】:
标签: 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 中有什么等价的吗?
【问题讨论】:
标签: python arrays numpy multidimensional-array
您正在寻找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()。
【讨论】: