在numpy中

时间:2016-05-31 01:45:30

标签: python arrays numpy scipy

我使用np.ediff1d近似于numpy中数组的一阶导数:

x=array([ 1,  2,  5, 10])
np.ediff1d(x) # = array([1, 3, 5])

np.ediff1d使用数组的连续元素。有没有办法控制间距,即有一个numpy函数计算每个第n个元素之间的差异,作为滑动窗口?

示例:newdiff(x, window=2)将是:[5-1, 10-2][4, 8]

2 个答案:

答案 0 :(得分:2)

简单地看一下移位切片的区别:

n = 2
x[n:] - x[:-n]

答案 1 :(得分:2)

n=2
v = [x[i+n]-x[i] for i in range(len(x)-n)]