У меня есть двумерный массив, и я индексирую его с помощью пары массивов (на самом деле мои массивы намного больше, миллионы элементов):
a = np.array([[1, 2, 3], [4, 5, 6]])
b = a[[0, 0, 0, 1], [0, 1, 2, 0]]
Индексирование выделит новый массив.Есть ли способ сделать это индексирование с помощью выходного массива?
Я смотрел на np.take
и np.choose
, но кажется, что они не работают с парой массивов.Мне удалось использовать np.take(..., out=buf)
, если я распределю массив и вручную создаю 1-й экземпляр, но это вызывает больше обращений к памяти и почти убивает улучшение по сравнению с устранением выделения для результата индексации.