NumPy numpy.diff()的使用

NumPy numpy.diff()的使用

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,它定义了要在计算差异之前附加或前置到 ‘x’ 的轴上的值。

返回

此函数返回一个包含第n个差异的ndarray,其形状与 ‘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’ ,并指定了数据类型 ‘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’的值。

在输出中,显示了日期之间的离散差异。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程