I think you are saying that this current behavior of `choose` should
be considered a bug. I hope not, because as illustrated, it is useful.
How would you propose to efficiently do the same substitutions?


On 4/17/2021 4:27 PM, Kevin Sheppard wrote:
2. I would describe this a a bug. I think sequences are converted to arrays and in this case the conversion is not returning a 2 element object array but expanding and then concatenation.

On Sat, Apr 17, 2021, 18:56 Alan G. Isaac <alan.is...@gmail.com 
<mailto:alan.is...@gmail.com>> wrote:

    2. Separately, mypy is unhappy with my 2nd argument to `choose`:
    Argument 2 to "choose" has incompatible type "Tuple[int, Sequence[float]]";
    expected "Union[Union[int, float, complex, str, bytes, generic], 
Sequence[Union[int, float, complex, str, bytes, generic]],
    Sequence[Sequence[Any]],_SupportsArray]"
    However, `choose` is happy to have e.g. `choices=(0,seq)` (and I hope it 
will remain so!).

    E.g.,
    a = a = (0,1,1,0,0,0,1,1)  #binary array
    np.choose(a, (0,range(8))     #array([0, 1, 2, 0, 0, 0, 6, 7])
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@python.org
https://mail.python.org/mailman/listinfo/numpy-discussion

Reply via email to