Я хотел бы знать, есть ли какой-нибудь быстрый способ суммировать каждую строку первого массива со всеми строками второго массива.В этом случае оба массива имеют одинаковое количество столбцов.Например, если array1.shape = (n,c)
и array2.shape = (m,c)
, результирующий массив будет иметь вид array3.shape = ((n*m), c)
. Посмотрите на приведенный ниже пример:
array1 = np.array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
array2 = np.array([[0, 1, 2],
[3, 4, 5]])
Результат будет:
array3 = np.array([[0, 2, 4],
[3, 5, 7]
[3, 5, 7]
[9, 8, 10]
[6, 8, 10]
[9, 11, 13]])
Единственный способ, которым я вижу, что я могу сделать это, состоит в том, чтобы повторять каждую строку одного из массивов количеством строк другого массива.Например, выполнив np.repeat(array1, len(array2), axis=0)
, а затем сложите этот массив с array2
.Однако это не очень практично, если количество строк слишком велико.Другой способ - использовать цикл for, но он слишком медленный.
Любой другой лучший способ сделать это ..?
Заранее спасибо.