Python Numpy累积/差异[重复]

Posted

技术标签:

【中文标题】Python Numpy累积/差异[重复]【英文标题】:Python Numpy cumulative / difference [duplicate] 【发布时间】:2022-01-20 01:39:14 【问题描述】:

我希望扭转 numpy 的 cumsum 函数的效果,即累积/运行总计。查看下面的代码,我将 a 分配给数字 1 到 10,并将 b 分配给这些数字的总和。我需要扭转这个过程,即从 b 计算 a。我可以对此进行编码(参见 c),但如果可能的话,我更愿意使用预先优化的内置函数。有什么适合的吗?

import numpy as np

a = np.arange(1,10)
a
# array([1, 2, 3, 4, 5, 6, 7, 8, 9])

b = np.cumsum(a)
b
# array([ 1,  3,  6, 10, 15, 21, 28, 36, 45], dtype=int32)

c=np.array([b[0]])
c=np.append(c,b[1:9]-b[0:8])
c
# array([1, 2, 3, 4, 5, 6, 7, 8, 9], dtype=int32)

非常感谢。

【问题讨论】:

x[1:]-x[:-1] 是获取连续差异的正常方式。 np.diff 使用它 - 查看它的代码。 【参考方案1】:

这应该对你有帮助!

с = b.copy()
с[1:] = np.diff(b)
с
# array([1, 2, 3, 4, 5, 6, 7, 8, 9], dtype=int32)

【讨论】:

以上是关于Python Numpy累积/差异[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Python\Numpy:将数组与 NAN 进行比较 [重复]

导入 numpy 模块时出现 Python 错误 [重复]

如何在Python中使用numpy获取累积最大索引?

ValueError:使用序列python,numpy设置数组元素[重复]

Python通过numpy中的二维数组枚举[重复]

在python中找到一个numpy数组中元素的位置[重复]