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 - 如何根据数据框中的共置约束设置列值?

python - 这个正则表达式是什么意思?

javascript - Array.isArray() 不适用于 NodeList。还有其他选择吗?

python - 如果我们使用索引矩阵,是否需要在 Theano 中使用 flatten 和 reshape?

python - 如何查看numpy.random.exponential的源码?

python - 如何遍历 Pandas 数据框中的字符串并删除不需要的单词?

python - 二维数组差异的 Numpy 矢量化

C++98 如何在 header 中初始化静态结构数组

php - 在不使用数组的情况下使用json从数据库中获取数据

python - 多维 Numpy 数组排序