📜  Python numpy.clip()

📅  最后修改于: 2020-10-27 08:12:45             🧑  作者: Mango

Python的numpy.clip()

为了裁剪数组中的值, 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

句法:

numpy.clip(a, a_min, a_max, out=None)

参数:

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。

范例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])

在上面的代码中

  • 我们导入了别名为np的numpy。
  • 我们使用arange()函数创建了一个数组’x’。
  • 我们已经声明了变量“ y”并分配了clip()函数的返回值。
  • 我们已经在函数传递了数组’x’,x_min和x_max值
  • 最后,我们尝试print‘y’的值。

在输出中,显示了一个ndarray,其中包含从3到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])