Python numpy:数组乘以整数数组等于数组
是否有一种不使用循环计算数组Python numpy:数组乘以整数数组等于数组,python,numpy,Python,Numpy,是否有一种不使用循环计算数组z的Pythonic方法 import numpy as np x = np.array([[1, 2, 3], [6, 7, 8]]) y = np.array([5, 8]) z = np.array([x[i] * y[i] for i in range(0, len(x))]) 你可以做: x * np.expand_dims(y, 1) 当与x(形状2×3)相乘时,乘法将根据需要广播展开(形状2×1)的结果 结果: array([[ 5, 10, 15
z
的Pythonic方法
import numpy as np
x = np.array([[1, 2, 3], [6, 7, 8]])
y = np.array([5, 8])
z = np.array([x[i] * y[i] for i in range(0, len(x))])
你可以做:
x * np.expand_dims(y, 1)
当与x
(形状2×3)相乘时,乘法将根据需要广播展开(形状2×1)的结果
结果:
array([[ 5, 10, 15],
[48, 56, 64]])
您需要适当的dim使y
(形状2,1
)与x
(形状2,3
)相乘,
这里有一些向y
x * y[:, None]
array([[ 5, 10, 15],
[48, 56, 64]])
x * y[:, np.newaxis]
array([[ 5, 10, 15],
[48, 56, 64]])