NumPy | diff method
diff(~) method computes the difference between each value and its adjacent value in the input array.
The input array.
The number of differences you want to compute recursively. By default,
n=1. Check out the examples below for clarification.
The axis along which to compute the differences. For 2D arrays, the allowed values are as follows:
Differences will be computed column-wise
Differences will be computed row-wise
By default, the axis is equal to the last axis. This means that, for 2D arrays,
Values you wish to prepend to the input array a prior to computing the differences.
A Numpy array that contains the difference between each value and its adjacent value in the input array.
a = np.array([1, 3, 8, 15, 30])np.diff(a)array([ 2, 5, 7, 15])
Recursively computing differences
Suppose we wanted to compute the differences twice recursively, that is,
diff(~) first computes the case when
n=1, and then performs yet another
diff(~) on its output.
The case when
a = np.array([1, 3, 8, 15, 30])np.diff(a, n=1)array([ 2, 5, 7, 15])
The case when
a = np.array([1, 3, 8, 15, 30])np.diff(a, n=2)array([3, 2, 8])
n=2 is simply applying the diff method on the output of
Computing differences for 2D arrays
Consider the following 2D array
a = np.array([[1, 3], [8, 15]])aarray([[ 1, 3],[ 8, 15]])
np.diff(a) # or axis=1array([,])
np.diff(a, axis=0)array([[ 7, 12]])
Prepending values before computation
a = np.array([3, 8, 15, 30])np.diff(a, prepend=1)array([ 2, 5, 7, 15])
Here, we've prepended the value 1 to the
a, so essentially we're computing the differences of