NumPy numpy.clip()的使用

NumPy 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 < x_max。

语法

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

参数

x: 类似数组

此参数定义要剪裁其元素的源数组。

x_min: None、标量或类似数组

此参数定义剪裁值的最小值。在较低区间边缘上,不需要剪裁。

x_max: None、标量或类似数组

此参数定义剪裁值的最大值。在较高区间边缘上,不需要剪裁。三个数组将被广播以与 x_min 和 x_max 数组匹配形状。仅当 x_min 和 x_max 是类似数组时才会执行此操作。

out: ndarray(可选)

此参数定义将存储结果的ndarray。对于原位剪裁,可以选择输入数组。这个 ‘out’ 数组的数据类型具有正确的形状以容纳输出。

返回值

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程