加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 通过向量数组乘以numpy数组的标量

发布时间:2020-12-16 23:09:14 所属栏目:Python 来源:网络整理
导读:我有一个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]) 但是当我尝试将整个数组彼此相乘时,我得到
我有一个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]])

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读