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 进行比较 [重复]