numpydiff()函数

numpydiff()函数 首页 / Numpy入门教程 / numpydiff()函数

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'的任意两个元素之间的差异类型是输出的类型。

范例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()函数和dtype 'uint8'创建了一个数组'arr'
  • 我们已经声明了变量'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。
  • 我们使用dtype为'datetime64' np.arange()函数创建了一系列日期'x'
  • 我们已经声明了变量'y',并分配了 np.diff()函数的返回值。
  • 我们在函数中传递了数组'x'
  • 最后,我们尝试打印'y'的值。

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

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

教程推荐

Python实战 · 从0到1搭建直播视频平台 -〔Barry〕

如何成为学习高手 -〔高冷冷〕

技术面试官识人手册 -〔熊燚(四火)〕

流程型组织15讲 -〔蒋伟良〕

打造爆款短视频 -〔周维〕

用户体验设计实战课 -〔相辉〕

罗剑锋的C++实战笔记 -〔罗剑锋〕

NLP实战高手课 -〔王然〕

现代C++编程实战 -〔吴咏炜〕

好记忆不如烂笔头。留下您的足迹吧 :)