Python 如何创建一个包含其他数组元素差异的numpy数组

Python 如何创建一个包含其他数组元素差异的numpy数组,python,numpy,Python,Numpy,我有一个numpy数组X。我需要创建另一个大小相同的数组(比如Y),其中包含元素 Y[i]=X[i+1]-X[i-1] 我可以在不循环数组元素的情况下执行此操作吗?您可以使用移位的值创建新数组,然后将它们彼此相减。大概是这样的: import numpy as np X = np.arange(10) X1 = np.roll(X,-1) #right shift X2 = np.roll(X,1) #left shift Y = X1 - X2 什么是Y[0](i-1=-1)?您能添

我有一个numpy数组X。我需要创建另一个大小相同的数组(比如Y),其中包含元素

Y[i]=X[i+1]-X[i-1]


我可以在不循环数组元素的情况下执行此操作吗?

您可以使用移位的值创建新数组,然后将它们彼此相减。大概是这样的:

import numpy as np

X  = np.arange(10)
X1 = np.roll(X,-1) #right shift
X2 = np.roll(X,1)  #left shift
Y  = X1 - X2

什么是
Y[0]
i-1=-1
)?您能添加一些小样本输入和所需的输出吗?@pault、Y[0]和Y[-1]将分别处理(事实上我只是为这两个元素指定固定值)。在这种情况下,@Jello的解决方案应该会起作用。@mamun,diff很好,但它会给出相邻元素之间的差异,而我需要的是“蛙跳”区别:不是在第二和第一元素之间(或者说第六和第五元素),而是在第三和第一元素之间(第七和第五元素,依此类推)。这个元素是完美的。如果没有内置的方法,我们会使用它。