Python 比较numpy数组中的以下两个值

Python 比较numpy数组中的以下两个值,python,indexing,loops,numpy,iteration,Python,Indexing,Loops,Numpy,Iteration,在numpy数组中触摸以下两个值的最佳方式是什么 例如: npdata = np.array([13,15,20,25]) for i in range( len(npdata) ): print npdata[i] - npdata[i+1] 这看起来真的很糟糕,而且在循环的最后一次迭代中还需要异常代码。 有什么想法吗 谢谢 范围(len(npdata)-1)如何 下面是代码(使用一个简单的数组,但并不重要): 正如您所看到的,它成功地打印了数组中所有连续对的和,在最后一次迭代中没有

在numpy数组中触摸以下两个值的最佳方式是什么

例如:

npdata = np.array([13,15,20,25])
for i in range( len(npdata) ):
    print npdata[i] - npdata[i+1]
这看起来真的很糟糕,而且在循环的最后一次迭代中还需要异常代码。 有什么想法吗

谢谢

范围(len(npdata)-1)如何

下面是代码(使用一个简单的数组,但并不重要):


正如您所看到的,它成功地打印了数组中所有连续对的和,在最后一次迭代中没有任何异常。

您可以使用它来获取连续元素的差异。更一般地说,
a[1:]-a[:-1]
将给出连续元素的差异,也可以与其他操作符一起使用。

numpy为这个基本用例提供了一个函数
diff

>>> import numpy
>>> x = numpy.array([1, 2, 4, 7, 0])
>>> numpy.diff(x)
array([ 1,  2,  3, -7])
您的代码段计算的内容更接近
-numpy.diff(x)

>>> import numpy
>>> x = numpy.array([1, 2, 4, 7, 0])
>>> numpy.diff(x)
array([ 1,  2,  3, -7])