On Thu, May 20, 2021 at 1:40 PM CJ Carey perimosocordiae@gmail.com wrote:
Or as a one-liner:
out[np.arange(len(x)), x] = 1
Ah, right. `x[arange(len(x))]` is a no-op.
If NEP 21 is accepted ( https://numpy.org/neps/nep-0021-advanced-indexing.html) this would be even simpler:
out.vindex[:, x] = 1
Was there ever a decision about that NEP? I didn't follow the discussion too closely at the time.
IIRC, I think there was broad agreement on the final plan as stated in the NEP. I suspect, though, that the general appetite for adding to the array API surface has declined even from its anemic starting point, now that deep learning frameworks with ndarray-mimicking APIs have taken off.