我想用numpy.sum来查找两个数组相乘的总和。我使用了以下代码:
p=10
for i in range(0,p):
popcost=numpy.zeros((1,p))
cur=numpy.array(pop[i,:])
popcost[0,i]=numpy.sum(numpy.dot(cur,fc),1)
pop是一个(p * m)数组本身,fc是一个(1 * m)数组。我收到以下错误:
'axis' entry is out of bounds
我无法弄清楚问题是什么。任何帮助表示赞赏
答案 0 :(得分:1)
我想你想制作pop
和fc
的点积。 numpy.dot
直接做到了:
popcost = numpy.dot(fc, numpy.transpose(pop))
编辑:如果你想要上述总和:
popcost = numpy.sum(numpy.dot(fc, numpy.transpose(pop)))
答案 1 :(得分:0)
numpy.dot
会返回两个向量的点积(大概是你想要的那个)。
作为单个数字,它不具有1.
维度。
除了sum
没有为一个号码做任何事情:numpy
从0
开始计算,而不是1
。