Код: Выделить всё
import numpy as np
entry = np.array([[1, 2],[3,4],[5, 6]])
entries = np.stack([entry, entry, entry, entry])
indices = np.array([2, 1, 0, 1])
r = np.array([entries[i, indices[i], :] for i in range(len(indices))])
Есть ли numpy-операция, которая делает то же самое? Я ожидал, что np.take() будет работать, но это не так, поскольку он создает массив формы (4, 4, 2) вместо (4, 2)
Подробнее здесь: https://stackoverflow.com/questions/792 ... of-indices