我有一个numpy数组的向量,我需要乘以一组标量.例如:
>>> import numpy >>> x = numpy.array([0.1,0.2]) >>> y = numpy.array([[1.1,2.2,3.3],[4.4,5.5,6.6]])
我可以将这样的单个元素相乘:
>>> x[0]*y[0] array([ 0.11,0.22,0.33])
但是当我尝试将整个数组彼此相乘时,我得到:
>>> x*y Traceback (most recent call last): File "<stdin>",line 1,in <module> ValueError: shape mismatch: objects cannot be broadcast to a single shape
我认为这与广播规则有关.将这两个数组元素与numpy相乘的最快方法是什么?
解决方法
I[1]: x = np.array([0.1,0.2]) I[2]: y = np.array([[1.1,6.6]]) I[3]: y*x[:,np.newaxis] O[3]: array([[ 0.11,0.33],[ 0.88,1.1,1.32]])