Python 的numpy模块提供了一个名为 numpy.diff 的函数,用于计算沿给定轴的第n 个离散差。如果'x'是输入数组,则第一个差异由out [i] = x [i + 1] -a [i]给出。我们可以通过递归使用diff来计算更高的差异。 Python的numpy模块提供了一个名为numpy.diff的函数,用于计算沿给定轴的第n个离散差。如果" x"是输入数组,则第一个差异由out [i] = x [i + 1] -a [i]给出。我们可以通过递归使用 diff 来计算更高的差异。
numpy.diff(a, n=1, axis=-1, prepend=<no value>, append=<no value>)
x:array_like
此参数定义了源数组,其第n个离散差值是我们要计算的元素。
n:int(可选)
此参数定义值相差的次数。如果为0,则按原样返回源数组。
append,prepend:array_like(可选)
该参数定义了一个ndarray,该ndarray定义了在计算差异之前沿轴追加或加到'x'的值。
此函数返回一个包含第n个差异的ndarray,它们的形状与'x'相同,并且维数小于 n 。 'x'的任意两个元素之间的差异类型是输出的类型。
import numpy as np arr = np.array([0, 1, 2], dtype=np.uint8) arr b=np.diff(arr) b arr[2,...] - arr[1,...] - arr[0,...]
输出:
array([0, 1, 2], dtype=uint8) array([1, 1], dtype=uint8) 1
在上面的代码中
在输出中,它显示了元素的离散差异。
import numpy as np x = np.array([11, 21, 41, 71, 1, 12, 33, 2]) y = np.diff(x) x y
输出:
array([11, 21, 41, 71, 1, 12, 33, 2]) array([ 10, 20, 30, -70, 11, 21, -31])
import numpy as np x = np.array([[11, 21, 41], [71, 1, 12], [33, 2, 13]]) y = np.diff(x, axis=0) y z = np.diff(x, axis=1) z
输出:
array([[ 60, -20, -29], [-38, 1, 1]]) array([[ 10, 20], [-70, 11], [-31, 11]])
import numpy as np x = np.arange('1997-10-01', '1997-12-16', dtype=np.datetime64) y = np.diff(x) y
输出:
array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], dtype='timedelta64[D]')
在上面的代码中
在输出中,它显示了日期之间的离散差异。
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)