Python 比较numpy数组中的以下两个值
在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)如何 下面是代码(使用一个简单的数组,但并不重要): 正如您所看到的,它成功地打印了数组中所有连续对的和,在最后一次迭代中没有
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])