Oh. I answered thinking about choice and not choose. Please ignore both parts. 

On Sun, Apr 18, 2021, 17:56 Robert Kern <robert.kern@gmail.com> wrote:
On Sat, Apr 17, 2021 at 4:28 PM Kevin Sheppard <kevin.k.sheppard@gmail.com> wrote:
1. I suppose it only uses the (Native int or int64) dtype since each one would need a code path to run quickly.

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.

No, it's broadcasting the two to a common shape, as documented.
https://numpy.org/doc/stable/reference/generated/numpy.choose.html
 
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])
 
This is equivalent to `np.choose(a, (np.zeros(8, dtype=int), range(8)))`

--
Robert Kern
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@python.org
https://mail.python.org/mailman/listinfo/numpy-discussion