NumPy 函数

NumPy ptp() 函数返回数组的值范围(最大值 - 最小值)或沿指定轴的值范围。

函数名称来自peak topeak的缩写。

语法

numpy.ptp(a, axis=None, out=None, keepdims=<no value>) 

参数

a必填。 指定输入数组。
axis可选。 指定要操作的一个或多个轴。默认情况下,axis=None,对展平数组执行操作。
out可选。 指定放置结果的输出数组。它必须具有与预期输出相同的形状。
keepdims可选。 如果将此设置为 True,则缩小的轴将作为大小为 1 的维度保留在结果中。使用此选项,结果将针对输入数组正确广播。

返回值

返回的值范围一个。如果 axis 为 None,则结果为标量值。如果给定 axis,则结果是维度为 a.ndim - 1 的数组。

示例:展平数组的 ptp()

在下面的示例中,ptp() 函数用于返回数组中存在的值的范围。

import numpy as np
Arr = np.array([[10,20],[30, 40]])

print("Array is:")
print(Arr)

#值范围
print("\n值范围:", np.ptp(Arr)) 

上述代码的输出将是:

Array is:
[[10 20]
 [30 40]]

Range of values: 30 

示例:带有轴参数的 ptp()

当提供轴参数时,将计算指定轴上的值范围,如下例所示。

import numpy as np
Arr = np.array([[10,20,30],[70,80,90]])

print("Array is:")
print(Arr)

#沿轴的值范围=0
print("\n沿轴的值范围=0")
print(np.ptp(Arr, axis=0))

#沿轴的值范围=1
print("\n沿轴的值范围=1")
print(np.ptp(Arr, axis=1)) 

上述代码的输出将是:

Array is:
[[10 20 30]
 [70 80 90]]

沿轴的值范围=0
[60 60 60]

沿轴的值范围=1
[20 20]