Python的numpy模块提供了一个名为numpy.diff的函数,用于计算沿给定轴的第n个离散差分。如果'x'是输入数组,则第一个差分由out[i]=x[i+1]-a[i]给出。我们可以使用递归来计算更高的差分。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,用于在计算差分之前附加或前置到'x'沿轴的值。

返回值:

此函数返回一个ndarray,其中包含第n个差分,形状与'x'相同,并且维度从n减小。任意两个'x'元素之间的差异的类型是输出的类型。

示例 1:

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

在上面的代码中

  • 我们使用别名np导入了numpy模块。
  • 我们使用np.array()*函数创建了一个数组*'arr',其dtype为'uint8'
  • 我们声明了变量'b'并将np.diff()函数的返回值赋值给它。
  • 我们在函数中传递了数组'arr'
  • 最后,我们尝试打印变量'b'以及元素之间的差异。

输出显示了元素之间的离散差分。

示例 2:

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

示例 3:

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

示例 4:

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

在上面的代码中

  • 我们使用别名np导入了numpy模块。
  • 我们使用np.arange()函数创建了一个日期数组'x',其dtype为'datetime64'
  • 我们声明了变量'y'并将np.diff()函数的返回值赋值给它。
  • 我们在函数中传递了数组'x'
  • 最后,我们尝试打印变量'y'

输出显示了日期之间的离散差分。

标签: NumPy, NumPy教程, NumPy学习, NumPy安装, NumPy入门教程, NumPy进阶教程, NumPy指南, NumPy学习指南, NumPy库, NumPy库学习, NumPy库入门, NumPy库教程, NumPy应用, NumPy库进阶