У меня есть три массива фигур:
A = a = np.random.exponential(1, [10, 1000000]) # of shape (10, 1000000)
B = a = np.random.exponential(1, [10, 1000000]) # of shape (10, 1000000)
Я вычислил другой массив IND[], как показано ниже. Каждый элемент IND[] является индексом максимального элемента A (максимум каждых 10 значений в столбце),
IND = np.argmax(snr_sr, axis=0) # of shape (1000000,)
Я хочу вычислить другой массив C, который содержит поэлементные минимальные значения A и B в строке #, заданной значениями IND[]. Таким образом, массив C должен иметь форму (1, 1000000). Я хочу избежать циклов for. Я пробовал ниже, но значения C неверны.
for j in range(0, A.shape[1]):
m = ind[j]
C = minimum(A[m,:], B[m,:]) # return 1x1000000 array
Извините, так как массивы большие, не смог выложить. Вы можете взять любые массивы одинаковых фигур.
Первое редактирование: кто-то дал мне правильный ответ, но удалил его (не знаю почему?). Во всяком случае, я скопировал ответ до того, как он его удалил. Пожалуйста, опубликуйте это снова, чтобы я мог отметить это правильно. (Ему: Кто для простоты взял массивы по 1100).
ind
. - person today   schedule 08.07.2018