Скажите, если у меня есть двумерный массив:
y = np.arange(35).reshape(5,7)
# array([[ 0, 1, 2, 3, 4, 5, 6],
# [ 7, 8, 9, 10, 11, 12, 13],
# [14, 15, 16, 17, 18, 19, 20],
# [21, 22, 23, 24, 25, 26, 27],
# [28, 29, 30, 31, 32, 33, 34]])
и выберите 2-й и 3-й элементы 1-го, 3-го и 5-го массивов следующим образом:
y[np.array([0,2,4]), 1:3]
# array([[ 1, 2],
# [15, 16],
# [29, 30]])
Я не могу найти способ репликации этого с использованием массивов вместо среза для индексации, следующее не работает, я должен быть в состоянии использовать массивы для индексации, так как иногда меня могут интересовать 2-й и 4-й элементы массивов и так далее:
y[np.array([0,2,4]), np.array([1,2])]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: shape mismatch: indexing arrays could not be broadcast together with shapes (3,) (2,)
Как мне достичь желаемой функциональности?