Does NumPy have a ternary operator? For instance, in R there is a vectorized if-else
function:
> ifelse(1:10 < 3,"a","b") [1] "a" "a" "b" "b" "b" "b" "b" "b" "b" "b"
Is there anything equivalent in NumPy?
You are looking for numpy.where()
:
>>> print numpy.where(numpy.arange(10) < 3, 'a', 'b') ['a', 'a', 'a', 'b', 'b', 'b', 'b', 'b', 'b', 'b']
NumPy even has a generalization (that maps 0, 1, 2, etc. to values, instead of mapping only True and False): numpy.choose()
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With