Python技术迷

NumPy教程-numpy.clip()在Python中的使用

整理:python架构师
在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_max。

语法:

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

参数:

x: array_like
此参数定义要裁剪其元素的源数组。
x_min: None、标量或array_like
此参数定义裁剪值的最小值。在下界上,不需要进行裁剪。
x_max: None、标量或array_like
此参数定义裁剪值的最大值。在上界上,不需要进行裁剪。这三个数组将进行广播,以匹配它们与x_min和x_max数组的形状。仅当x_min和x_max是array_like时才会执行此操作。
out: ndaaray(可选)
此参数定义将存储结果的ndarray。对于原地裁剪,这可以是输入数组。这个'out'数组的数据类型具有适合容纳输出的正确形状。

专属福利 

👉点击领取:最全Python资料合集

返回值

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的值。

  • 最后,我们尝试打印变量'y'的值。

在输出中,显示了一个包含元素从3到10的ndarray。

示例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])
Image
 1
Image
热门推荐
Image