在 Python 中计算给定轴上的第 n 个离散差值

pythonnumpyserver side programmingprogramming更新于 2024/4/29 13:32:17

要计算第 n 个离散差值,请使用 numpy.diff() 方法。第一个差值由给定轴上的 out[i] = a[i+1] - a[i] 给出,更大的差值通过递归使用 diff 计算。diff() 方法返回第 n 个差值。输出的形状与 a 相同,但沿轴的维度小 n。输出的类型与 a 中任意两个元素之间的差值的类型相同。在大多数情况下,这与 a 的类型相同。一个值得注意的例外是 datetime64,它会产生一个 timedelta64 输出数组。

第一个参数是输入数组。第二个参数是 n,即值相差的次数。如果为零,则按原样返回输入。第三个参数是沿其进行差分的轴,默认为最后一个轴。第四个参数是在执行差分之前沿轴添加或附加到输入数组的值。标量值在轴方向上扩展为长度为 1 的数组,在所有其他轴上扩展为输入数组的形状。

步骤

首先,导入所需的库 −

import numpy as np

使用 array() 方法创建 numpy 数组。我们添加了带有 nan − 的 int 类型元素

arr = np.array([[10, 15, 30, 65], [80, 87, 100, np.nan]])

显示数组 −

print("Our Array...\n",arr)

检查维度 −

print("\nDimensions of our Array...\n",arr.ndim)

获取数据类型 −

print("\nDatatype of our Array object...\n",arr.dtype)

要计算第 n 个离散差值,请使用 numpy.diff() 方法。第一个差值由给定轴上的 out[i] = a[i+1] - a[i] 给出,更高的差值通过递归使用 diff 计算 −

print("\nDiscrete difference..\n",np.diff(arr, axis = 1))

示例

import numpy as np

# 使用 array() 方法创建 numpy 数组
# 我们添加了 int 类型的元素,值为 nan
arr = np.array([[10, 15, 30, 65], [80, 87, 100, np.nan]])

# 显示数组
print("我们的数组...\n",arr)

# 检查维度
print("\n数组的维度...\n",arr.ndim)

# 获取数据类型
print("\n数组对象的数据类型...\n",arr.dtype)

# 要计算第 n 个离散差异,请使用 numpy.diff() 方法
# 第一个差异由 out[i] = a[i+1] 给出 - a[i] 沿给定轴,通过递归使用 diff 计算更高的差异。
print("\n离散差异..\n",np.diff(arr, axis = 1))

输出

我们的数组...
[[ 10. 15. 30. 65.]
[ 80. 87. 100. nan]]

数组的维度...
2

数组对象的数据类型...
float64

离散差异..
[[ 5. 15. 35.]
[ 7. 13. nan]]

相关文章


有用资源