python– 使numpy.sum()返回矩阵之和而不是单个数字

python– 使numpy.sum()返回矩阵之和而不是单个数字,第1张

概述我正在使用带有numpy的矩阵进行相当复杂的求和.矩阵的形状是matrix.shape =(500,500),数组的形状是arr.shape =(25,). *** 作如下:totalsum = np.sum([i * matrix for i in arr]) 这是我不明白的:np.sum()非常慢并返回一个浮点float64.使用Python的总和(.)执行相同

我正在使用带有numpy的矩阵进行相当复杂的求和.
矩阵的形状是matrix.shape =(500,500),数组的形状是arr.shape =(25,). *** 作如下:

@H_419_6@totalsum = np.sum([i * matrix for i in arr])

这是我不明白的:

np.sum()非常慢并返回一个浮点float64.使用Python的总和(.)执行相同的 *** 作,即

@H_419_6@totalsum2 = sum([i*matrix for i in arr])

保留矩阵的形状.也就是说,得到的形状是totalsum2.shape()=(500,500).咦?

我也认为np.sum()花费的时间比sum()更奇怪,特别是当我们使用numpy ndarrays时.

到底发生了什么?
与sum()相比,np.sum()如何将上述值相加?

我想np.sum()来保留矩阵形状.如何设置尺寸,使np.sum()保留矩阵大小并且不返回单个浮点数?

最佳答案必须调用np.sum,并将可选的axis参数设置为0(在0轴上求和,即由列表推导创建的值)

@H_419_6@totalsum = np.sum([i * matrix for i in arr],0)

或者,您可以省略括号,以便np.sum评估生成器.

@H_419_6@totalsum = np.sum(i * matrix for i in arr) 总结

以上是内存溢出为你收集整理的python – 使numpy.sum()返回矩阵之和而不是单个数字全部内容,希望文章能够帮你解决python – 使numpy.sum()返回矩阵之和而不是单个数字所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1207853.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存