У меня есть 4-мерный массив, то есть data.shape = (20,30,33,288)
. Я нахожу индекс ближайшего массива к n, используя
index = abs(data - n).argmin(axis = 1), so
index.shape = (20,33,288) with the indices varying.
Я хотел бы использовать data[index] = "values"
с values.shape = (20,33,288)
, но data[index]
возвращает ошибку "индекс (8) вне диапазона (0‹=индекс‹1) в измерении 0" или эта операция занимает относительно много времени для вычисляет и возвращает матрицу формы, которая кажется бессмысленной.
Как вернуть массив правильных значений? то есть,
data[index] = "values" with values.shape = (20,33,288)
Это кажется простой проблемой, есть ли простой ответ?
В конечном итоге я хотел бы найти index2 = abs(data - n2).argmin(axis = 1)
, чтобы я мог выполнить операцию, скажем, суммировать данные в индексе с данными в индексе2 без циклического перебора переменных. Это возможно?
Я использую python2.7 и numpy версии 1.5.1.