在Python中计算给定轴上的第n个离散差异
要计算第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数组。我们已经添加了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))
示例
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]]