python - 通过分布项乘以 Numpy 数组

标签 python arrays numpy matrix multiplication

我在文件中有两个一维 numpy 数组。

'test1'=(2,3)

'test2'=(5,6,7)

我想将它们相乘得到

t=(10, 12, 14, 15, 18, 21)

我正在使用这个程序

import numpy as np

a=open('test1')
b=open('test2')
c=open('test3','w+')
t1=np.loadtxt(a)
t2=np.loadtxt(b)
t=t1*t2

print >> c, t

当我运行程序时,出现以下错误..

ValueError:操作数无法与形状一起广播 (2) (3)

我应该怎么做才能得到想要的结果?

最佳答案

使用 numpy.outernumpy.ravel

>>> import numpy as np
>>> a = np.array((2,3))
>>> b = np.array((5,6,7))
>>> np.outer(a,b).ravel()
array([10, 12, 14, 15, 18, 21])

编辑:

减法:我们不能使用numpy.outer,但我们可以使用numpy.newaxis:

>>> (a[:, np.newaxis] - b).ravel()
array([-3, -4, -5, -2, -3, -4])

关于python - 通过分布项乘以 Numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22894965/

相关文章:

python - Django - 'if x in list' 的模板不起作用

python - 模板 URL 以错误的顺序呈现参数,并产生 NoReverseMatch 错误。为什么会发生这种情况?

java - 如何从java中的json文件中获取value中的特定值?

python - 使用 numpy.savetxt 导出数组时在每行前添加注释

python - 如何使用十进制数/数据与 python 3 检查相关性

python - Groupby 并从组 : Pandas 的最小值中找出差异

python - Mercurial API : repo. changectx(change) 不存在!

javascript - 简化 JavaScript 对象的 JSON 输出

javascript - 基于字符串数组过滤对象数组 "with partial match"

python - numpy.empty 给出非空数组