gpt4 book ai didi

python - 如何取 numpy 数组的 n 阶离散和(相当于 numpy.diff 的和)

转载 作者:行者123 更新时间:2023-11-28 16:33:01 24 4
gpt4 key购买 nike

我知道可以通过使用 numpy 函数 numpy.diff() 来获取 numpy 数组的 n 阶离散差分,但是有没有办法用n阶离散和?

假设我们有一个 numpy 数组,A = np.arange(10)。一阶离散和的预期结果为:

array([  1.,   3.,   5.,   7.,   9.,  11.,  13.,  15.,  17.]) 

我可以从中得到:

N = A.shape[0]
B = np.zeros(N-1)

for i in range(N-1):
B[i] = A[i+1] + A[i]

但是是否有一个函数可以避免使用 for 循环?

最佳答案

A[i+1] for for i in range(N-1) 将被 A[1:] 覆盖并且类似地,A[i] 对于相同的迭代意味着 A[:-1]。所以,基本上,您可以将这两个版本的输入数组相加,在 B 中获得矢量化输出,就像这样 -

B = A[:-1] + A[1:]

关于python - 如何取 numpy 数组的 n 阶离散和(相当于 numpy.diff 的和),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30089213/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com