介绍
在本实验中,你将学习 Python 中的 numpy.ptp() 函数。"ptp" 代表 "peak to peak"(峰值到峰值)。该函数用于返回沿轴的值范围。范围可以通过 range = maximum_value - minimum_value 计算得出。
虚拟机提示
虚拟机启动完成后,点击左上角切换到 Notebook 选项卡以访问 Jupyter Notebook 进行练习。
有时,你可能需要等待几秒钟,直到 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。
如果在学习过程中遇到问题,请随时向 Labby 提问。在实验结束后提供反馈,我们将及时为你解决问题。
导入 NumPy 库
你需要使用以下代码导入 NumPy 库:
import numpy as np
实现函数
使用 numpy.ptp() 函数计算数组沿轴的范围。该函数的语法如下:
numpy.ptp(a, axis=None, out=None, keepdims=<no value>)
参数
该函数接受以下参数:
- a: 表示输入数组。
- axis: 表示我们希望计算范围值的轴。默认情况下,输入数组会被展平(即作用于所有轴)。
- out: 一个可选参数,用于指定一个替代数组来存储该函数的结果或输出。该数组必须具有与预期输出相同的维度。
返回值
该函数返回数组的范围(如果轴为 None,则返回标量值),或沿指定轴的值范围的数组。
示例 1
在这一步中,你将使用一个最后一个元素为 NaN 的一维数组,并检查结果。使用以下代码:
input_arr = [1, 10, 7, 20, 11, np.nan]
print("The Input array is : ")
print(input_arr)
print("The Range of input array is : ")
print(np.ptp(input_arr))
如果数组中有一个值为 NaN,那么其范围也将为 NaN。
示例 2
在这一步中,你将使用该函数的不同参数。使用以下代码:
inp = [[15, 18, 16, 63, 44], [19, 4, 29, 5, 20], [24, 4, 54, 6, 4,]]
print("\nThe Input array is:")
print(inp)
## 计算展平数组的范围:
print("\nThe Range of the array when the axis = None : ")
print(np.ptp(inp))
## 沿第一个轴的范围,其中 axis=0 表示垂直方向
print("The Range of the array when the axis = 0 : ")
print(np.ptp(inp, axis=0))
## 沿第二个轴的范围,其中 axis=1 表示水平方向
print("The Range of the array when the axis = 1: ")
print(np.ptp(inp, axis=1))
输出
输出应显示 numpy.ptp() 函数返回数组沿轴的范围。
总结
在本实验中,你学习了 Python 中的 numpy.ptp() 函数。你还了解了它的语法、参数和返回值。此外,你通过不同的示例更好地理解了该函数。numpy.ptp() 函数是 NumPy 库中用于统计操作的重要工具。