NumPy

Previous topic

numpy.diff

Next topic

numpy.gradient

This is documentation for an old release of NumPy (version 1.18). Read this page in the documentation of the latest stable release (version 2.2).

numpy.ediff1d

numpy.ediff1d(ary, to_end=None, to_begin=None)[source]

The differences between consecutive elements of an array.

Parameters
aryarray_like

If necessary, will be flattened before the differences are taken.

to_endarray_like, optional

Number(s) to append at the end of the returned differences.

to_beginarray_like, optional

Number(s) to prepend at the beginning of the returned differences.

Returns
ediff1dndarray

The differences. Loosely, this is ary.flat[1:] - ary.flat[:-1].

See also

diff, gradient

Notes

When applied to masked arrays, this function drops the mask information if the to_begin and/or to_end parameters are used.

Examples

>>>
>>> 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])

The returned array is always 1D.

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