numpy sum给出了错误

时间:2015-02-25 17:42:51

标签: python arrays numpy

我想用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

我无法弄清楚问题是什么。任何帮助表示赞赏

2 个答案:

答案 0 :(得分:1)

我想你想制作popfc的点积。 numpy.dot直接做到了:

popcost = numpy.dot(fc, numpy.transpose(pop))

编辑:如果你想要上述总和:

popcost = numpy.sum(numpy.dot(fc, numpy.transpose(pop)))

答案 1 :(得分:0)

numpy.dot会返回两个向量的点积(大概是你想要的那个)。

作为单个数字,它不具有1.维度。

除了sum没有为一个号码做任何事情:numpy0开始计算,而不是1