numpy.array操作/方法:从下一个元素

时间:2017-07-06 16:22:53

标签: python numpy

我尝试将同一个元素[n]的值与同一个numpy.array中的下一个元素[n + 1]的差异构建起来。

必须对所有n重复此操作,我期望n-1个结果值 此外,我想避免使用循环,因为循环可能是编码元素的错误源。

现在我正在寻找类似的操作:

result = array[n+1] - array[n]

适用于所有n

我尝试了很多类似的实现,但我总是收到一些错误消息。

我怎样才能让它发挥作用?

2 个答案:

答案 0 :(得分:2)

Numpy的diff()功能可以满足您的要求。

以下是一个例子:

import numpy as np
a = np.arange(10)  # this instantiates a numpy array containing values from 0 to 9
result = np.diff(a)  # if you print this you'll see an array of 1 with length 9

如果你想要,你可以使用切片(我为所有新手添加这个,作为slicing的例子),如下所示:

result = a[1:] - a[:-1]

答案 1 :(得分:1)

null

输出:

x = np.array([2,3,1,0])
result = x[:-1] - x[1:]