NumPy中的实用函数clip详解

 更新时间:2023年08月24日 10:48:47   作者:学习爱好者fz  
这篇文章主要介绍了NumPy中的实用函数clip详解,NumPy函数clip()用于保留数组中在间隔范围内的值,给定一个范围,范围外的值将剪裁到范围边界,需要的朋友可以参考下的相关资料

NumPy中的clip函数

NumPy函数clip()用于保留数组中在间隔范围内的值。

给定一个范围,范围外的值将剪裁到范围边界。

例如,如果指定的范围为 [0,1] ,则小于0的值变为0,大于1的值变为1。

clip(a, a_min, a_max, out=None, **kwargs)

参数

  • a:要被剪裁的NumPy数组
  • a_min: 是最小值,可以是数值,NumPy数组或者空值None
  • a_max: 是最最大值,可以是数值,NumPy数组或者空值None。最大值和最小值最多只有一个可以为空值None。如果a_min或者a_max是数组那么其维度必须与a相同。
  • out:数组,默认为None。结果将放置在此数组中。可以为输入阵列。out必须具有正确的维度才能保存输出。

函数返回值:

NumPy数组,维度与a相同,数组a不会被改变。

具体例子如下:

例一:

输入:

a = np.arange(10)
np.clip(a, 1, 8)

输出:

array([1, 1, 2, 3, 4, 5, 6, 7, 8, 8])

输入:

a

输出:

array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

例二:

输入:

np.clip(a, 3, 6, out=a)

输出:

array([3, 3, 3, 3, 4, 5, 6, 6, 6, 6])

输入:

a

输出:

array([3, 3, 3, 3, 4, 5, 6, 6, 6, 6])

此时a会改变为剪裁后的数组

例三:

输入:

a = np.arange(10)

输入:

np.clip(a, [2, 4, 6, 1, 1, 4, 4, 4, 4, 4], 8)

输出:

np.clip(a, [2, 4, 6, 1, 1, 4, 4, 4, 4, 4], 8)

最小值数组表示a中对应元素的最小值,例如a中的第一个数值对应的最小值是2,最大值是8。

最小值和最大值参数可以同时为数组,如下例:

例四:

输入:

np.clip(a, [2, 4, 3, 1, 1, 4, 4, 4, 4, 4], [9, 7, 6, 5, 5, 8, 9, 7, 8, 6])

输出:

array([2, 4, 3, 3, 4, 5, 6, 7, 8, 6])

此时a中的第一个数值对应的最小值是2,最大值是9。

到此这篇关于NumPy中的实用函数clip详解的文章就介绍到这了,更多相关NumPy中的clip内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python中的切片函数Slice详解

    Python中的切片函数Slice详解

    这篇文章主要介绍了Python中的切片函数Slice详解,切片是对有序的集合而言,意思从有序集合里提取数据构成子集集合,给定提取的起点start、终点end以及方向上的步长step,能否切出非空子集,起点start需能沿步长方向上到达终点,需要的朋友可以参考下
    2023-09-09
  • Python进阶学习之带你探寻Python类的鼻祖-元类

    Python进阶学习之带你探寻Python类的鼻祖-元类

    这篇文章主要介绍了Python进阶学习之带你探寻Python类的鼻祖-元类,文中有非常详细的解释,对正在学习python的小伙伴们有很好的帮助,需要的朋友可以参考下
    2021-05-05
  • Python IDE PyCharm的基本快捷键和配置简介

    Python IDE PyCharm的基本快捷键和配置简介

    这篇文章主要介绍了Python IDE PyCharm的基本快捷键和配置简介,PyCharm为一个收费的软件,需要的朋友可以参考下
    2015-11-11
  • Python使用Redis实现作业调度系统(超简单)

    Python使用Redis实现作业调度系统(超简单)

    Redis作为内存数据库的一个典型代表,已经在很多应用场景中被使用,这里仅就Redis的pub/sub功能来说说怎样通过此功能来实现一个简单的作业调度系统。这里只是想展现一个简单的想法,所以还是有很多需要考虑的东西没有包括在这个例子中,比如错误处理,持久化等
    2016-03-03
  • Pycharm2020.1安装中文语言插件的详细教程(不需要汉化)

    Pycharm2020.1安装中文语言插件的详细教程(不需要汉化)

    这篇文章主要介绍了Pycharm2020.1安装中文语言插件的详细教程,不需要汉化,本文给大家分享三种方法,在这小编推荐使用方法二,具体内容详情大家跟随小编一起看看吧
    2020-08-08
  • 基于tensorflow指定GPU运行及GPU资源分配的几种方式小结

    基于tensorflow指定GPU运行及GPU资源分配的几种方式小结

    今天小编就为大家分享一篇基于tensorflow指定GPU运行及GPU资源分配的几种方式小结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • 在python中读写xlsx文件的实现方式

    在python中读写xlsx文件的实现方式

    Python中可使用openpyxl或pandas读写XLSX文件,openpyxl适合处理格式及大型文件(支持read_only模式),pandas适用于数据操作与分块读取(通过chunksize参数),两者均可处理多工作表
    2025-07-07
  • 基于python编写的shell脚本详细讲解

    基于python编写的shell脚本详细讲解

    python相对于linux的shell脚本来说更简单,功能更强大,代码量也少很多,这里就为大家分享一下
    2021-09-09
  • Python遍历字典方式就实例详解

    Python遍历字典方式就实例详解

    这篇文章主要介绍了Python遍历字典方式就实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Python实现多态、协议和鸭子类型的代码详解

    Python实现多态、协议和鸭子类型的代码详解

    问起面向对象的三大特性,几乎每个人都能对答如流:封装、继承、多态。今天我们就要来说一说Python实现多态、协议和鸭子类型,感兴趣的朋友跟随小编一起看看吧
    2019-05-05

最新评论