python - 如何找到 numpy 轴上的最终累积总和?
问题描述
我有一个 numpy 数组
np.array(data).shape
(50,50)
现在,我想找到轴 = 1 的累积和。问题是 cumsum 创建了一个累积和数组,但我只关心每一行的最终值。
这当然是不正确的:
np.cumsum(data, axis=1)[-1]
有没有一种简洁的方法可以在不循环数组的情况下做到这一点。
解决方案
您快到了,但正如您现在所拥有的那样,您只选择了最后一行。您需要的是从最后一列中选择所有行,因此您最后的索引应该是:[:,-1]
.
例子:
>>> a
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14],
[15, 16, 17, 18, 19],
[20, 21, 22, 23, 24]])
>>> a.cumsum(axis=1)[:,-1]
array([ 10, 35, 60, 85, 110])
请注意,我将其保留,因为我认为它解释了您的尝试出了什么问题,但不可否认,在其他答案中有更有效的方法来做到这一点!
推荐阅读
- image-processing - 如何使用 Python 显示数字高程模型 (DEM) (.raw)?
- django - 遍历查询集并比较查询集
- c# - 实例化预制件的问题。ArgumentException:已添加具有相同键的项目
- iis - 无法在 Windows 服务器上安装 Web 部署,安装程序找不到“Visual Studio 2015 更新 2”和“Visual Studio 2015”
- twitter - 如何使用 cefsharp 点赞和转发?
- java - 从数据库返回列表
- python - 计算步数达到 0 的函数
- zurb-foundation - 有没有办法在页面顶部有一个带有标题图像的顶栏?
- tsql - 如何在 SQL Server 中加入客户记录以显示缺少的交易类型
- java - 更新配置有 delete orphan 的集合时出现 HibernateException:无法保存父对象