numpy.ediff1d#

numpy.ediff1d(ary, to_end=None, to_begin=None)[源代码]#

数组连续元素之间的差值。

参数:
ary类数组

如有必要,在计算差值之前会将其展平。

to_end类数组,可选

要附加到返回差值末尾的一个或多个数字。

to_begin类数组,可选

要添加到返回差值开头的一个或多个数字。

返回:
ediff1dndarray

差值。粗略地说,这等同于 ary.flat[1:] - ary.flat[:-1]

另请参阅

diff, gradient

注意

当应用于掩码数组时,如果使用了 to_begin 和/或 to_end 参数,此函数会丢弃掩码信息。

示例

>>> import numpy as np
>>> x = np.array([1, 2, 4, 7, 0])
>>> np.ediff1d(x)
array([ 1,  2,  3, -7])
>>> np.ediff1d(x, to_begin=-99, to_end=np.array([88, 99]))
array([-99,   1,   2, ...,  -7,  88,  99])

返回的数组始终是 1D 的。

>>> y = [[1, 2, 4], [1, 6, 24]]
>>> np.ediff1d(y)
array([ 1,  2, -3,  5, 18])