import numpy as np
a = np.zeros((10,20,30))
Для извлечения элементов второго и третьего измерения, ind1 и ind2 являются список индексовNumpy массив многомерное индексирование со списком IndexError: несоответствие формы
ind1 = [0,5,6]
ind2 = [1,2,7,8]
a[:,ind1,ind2]
Над команды дает IndexError: несоответствие формы
Если мы делаем индексацию следующим
a1 = a[:,ind1,:]
a2 = a1[:,:,ind2]
это работает, и если ди значения индексов ind1 и ind2 одинаковы, тогда работает индексация.
Нужно ли, чтобы списки индексов были одинаковой формы для многомерного массива?
Хороший трюк. Должен выдавать тот же результат, что и метод 'np.ix_'. Конечно, 'np.ix_' обычно будет более эффективным, но ваш тип меньше. –
@PaulPanzer Да, я бы ожидал, что ваше решение - это метод, предпочитаемый создателями numpy: p – Harlekuin