【发布时间】:2020-06-02 07:47:32
【问题描述】:
我有一个项目,其中在将数组相乘之后,我必须将它们排列成一个单独的数组(按元素)并得到它们的总和。
As an example:
a = [1, 0, 1]
b = [[3,5,2], [5,4,3], [5,2,2]]
c = a*b
c = [ [3, 5, 2]
[0, 0, 0]
[5, 2, 2] ]
现在,我想将答案放在一个单独的数组元素中,例如:
r1 = [3, 0, 5]
r2 = [5, 0, 2]
r3 = [2, 0, 2]
然后,得到它的总和。
sum_r1 = [8]
sum_r2 = [7]
sum_r3 = [4]
到目前为止,我只能编写乘法。我仍在为后续步骤尝试适当的代码。我的代码如下所示:
[EDIT]
def fitness_score(a, b):
c = numpy.multiply(a, b)
trns = numpy.transpose(c)
s = numpy.sum(trns, axis=1)
return s
输出给出了答案,但它有一个类似这样的错误:ValueError:操作数无法与形状一起广播(500,3)(3,3)。注意a中的值是随机获取的。
任何帮助将不胜感激!提前谢谢!
【问题讨论】:
-
错误提示
a数组的形状为 (500, 3) 而不是 (3,)。这意味着您的示例数据不完全相关。您应该显示 2 个具有预期结果的二维数组。 -
@SergeBallesta 如果 a 是在 python 中使用随机函数获得的,我该如何更改?
标签: python arrays python-3.x numpy element