Python中的 numpy.diff()
numpy.diff(arr[, n[, axis]])函数用于计算沿给定轴的 n 阶离散差。一阶差分由沿给定轴的 out[i] = arr[i+1] – arr[i] 给出。如果我们必须计算更高的差异,我们将递归使用 diff。
Syntax: numpy.diff()
Parameters:
arr : [array_like] Input array.
n : [int, optional] The number of times values are differenced.
axis : [int, optional] The axis along which the difference is taken, default is the last axis.
Returns : [ndarray]The n-th discrete difference. The output is the same as a except along axis where the dimension is smaller by n.
代码#1:
Python3
# Python program explaining
# numpy.diff() method
# importing numpy
import numpy as geek
# input array
arr = geek.array([1, 3, 4, 7, 9])
print("Input array : ", arr)
print("First order difference : ", geek.diff(arr))
print("Second order difference : ", geek.diff(arr, n = 2))
print("Third order difference : ", geek.diff(arr, n = 3))
Python3
# Python program explaining
# numpy.diff() method
# importing numpy
import numpy as geek
# input array
arr = geek.array([[1, 2, 3, 5], [4, 6, 7, 9]])
print("Input array : ", arr)
print("Difference when axis is 0 : ", geek.diff(arr, axis = 0))
print("Difference when axis is 1 : ", geek.diff(arr, axis = 1))
输出:
Input array : [1 3 4 7 9]
First order difference : [2 1 3 2]
Second order difference : [-1 2 -1]
Third order difference : [ 3 -3]
代码#2:
Python3
# Python program explaining
# numpy.diff() method
# importing numpy
import numpy as geek
# input array
arr = geek.array([[1, 2, 3, 5], [4, 6, 7, 9]])
print("Input array : ", arr)
print("Difference when axis is 0 : ", geek.diff(arr, axis = 0))
print("Difference when axis is 1 : ", geek.diff(arr, axis = 1))
输出:
Input array : [[1 2 3 5]
[4 6 7 9]]
Difference with axis 0 : [[3 4 4 4]]
Difference with axis 1 : [[1 1 2]
[2 1 2]]