У меня есть две матрицы A и B с равным количеством столбцов, но обычно это неравное количество строк. Я хочу, чтобы сложить все пары столбцов из матрицы A и B. наивной реализации с для петли заключается в следующем:Добавление всех пар столбцов из двух матриц
import numpy as np
ncol = 3
nrow_A = 5
nrow_B = 10
A = np.ones((nrow_A,ncol))
B = np.zeros((nrow_B,ncol))
C = np.empty((nrow_A*nrow_B,ncol))
k = 0
for i in range(nrow_A):
for j in range(nrow_B):
C[k,:] = A[i,:]+B[j,:]
k += 1
, который в этом примере возвращает матрицу 50 * 3 заполнена единицами. Похоже, что это возможно с помощью одной строки кода. Как я могу это достичь?
Спасибо. Не конкатенировать довольно дорогостоящую операцию? – Forzaa
@Forzaa - это правда, это может быть; вы можете использовать 'reshape' вместо этого (я добавил его к ответу) –
Отлично! Очень удобно использовать функции numpy. На данный момент я еще недостаточно опытен, чтобы увидеть все возможности, поэтому очень приятно видеть эти примеры. – Forzaa