numpy.ediff1d — NumPy v2.2 Manual (original) (raw)

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

Notes

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

Examples

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

The returned array is always 1D.

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