📅  最后修改于: 2020-10-27 08:12:45             🧑  作者: Mango
为了裁剪数组中的值, Python的numpy模块提供了一个名为numpy.clip()的函数。在clip()函数,我们将传递间隔,并且间隔之外的值将被剪切为间隔边缘。
如果我们指定间隔[1,2],则小于1的值将变为1,大于2的值将为2。此函数类似于numpy.maximum(x_min,numpy.maximum(x,x_max))。但是它比np.maximum()更快。在numpy.clip()中,无需执行检查以确保x_min x:类似数组 此参数定义了我们要裁剪其元素的源数组。 x_min:无,标量或array_like 此参数定义限幅值的最小值。在较低的间隔边缘,不需要裁剪。 x_max:无,标量或array_like 此参数定义限幅值的最大值。在较高的间隔边缘,不需要裁剪。广播这三个数组以使其形状与x_min和x_max数组匹配。仅当x_min和x_max为array_like时才执行此操作。 out:ndaaray(可选) 此参数定义将结果存储在其中的ndarray。对于就地裁剪,这可以是一个输入数组。此“输出”数组的数据类型具有正确的形状以保存输出。 clip_arr:ndarray 此函数返回一个包含’x’元素的数组,但小于x_min的值将被替换为x_min,大于x_max的将被替换为x_max。 输出: 在上面的代码中 在输出中,显示了一个ndarray,其中包含从3到10的元素。 输出: 输出:句法:
numpy.clip(a, a_min, a_max, out=None)
参数:
退货
范例1:
import numpy as np
x= np.arange(12)
y=np.clip(x, 3, 10)
y
array([ 3, 3, 3, 3, 4, 5, 6, 7, 8, 9, 10, 10])
范例2:
import numpy as np
a = np.arange(12)
np.clip(a, 3, 9, out=a)
a
array([3, 3, 3, 3, 4, 5, 6, 7, 8, 9, 9, 9])
array([3, 3, 3, 3, 4, 5, 6, 7, 8, 9, 9, 9])
范例3:
import numpy as np
a = np.arange(12)
np.clip(a, [3, 4, 1, 1, 1, 4, 4, 4, 4, 4, 5, 6], 8)
array([3, 4, 3, 3, 4, 5, 6, 7, 8, 8, 8, 8])