使用 python 进行数据处理的时候,常常会遇到判断一个数是否在一个区间内的操作。我们可以使用 if else 进行判断,但是,既然使用了 python,那我们当然是想找一下有没有现成的轮子可以用。事实上,我们可以是用 interval 这一个库来完成我们需要的操作。

区间判断基础

最基础的区间判断操作就是先创建一个区间几个,然后使用 in 来判断一个数是否存在于区间之内。代码如下:

from interval import interval

zoom_2_5 = interval(2, 5)

print(zoom_2_5)

>> [2..5]

print(2 in zoom_2_5)

>> true

print(6 in zoom_2_5)

>> false

我们可以从上面的代码看到,我们先使用 interval 创建一个集合,然后将我们想要比较的数用 in 即可得到结果。但是,我们都知道,我们的集合其实是有分开区间和闭区间的,上面的代码中,创建的是 [2, 5] 的区间集合,那么假如我们想要创建一个如 (2, 5] 的集合,应该如何呢?

请看下面的代码:

zoom_o2_5 = interval(2, 5, lower_closed=false)

print(zoom_o2_5)

>> (2..5]

print(2 in zoom_o2_5)

>> false

zoom_o2_o5 = interval(2, 5, closed=false)

print(zoom_o2_o5)

>> (2..5)

从上面的代码可以看到,在使用 interval 创建集合的时候,使用 lower_closed 参数,我们可以将集合区间下限设置为非闭区间,也就是开区间,这样我们比较 2 是否在这个区间里的时候,返回的结果是 false。类似的,如果想区间上限设置为开区间,可以将 upper_closed 设置为 false,如果想直接创建一个开区间,那么久可以直接设置 closed 为 false。

集合的操作

interval 有三种对集合区间的操作方法,分别是 join overlaps adjacent_to ,以下将演示以下这三个方法的用法:

zoom_1_3 = interval(1, 3)

zoom_1_5 = interval(1, 5)

zoom_o3_5 = interval(3, 5, lower_closed=false)

# join 合并两个连续的区间集合

print(zoom_1_3.join(zoom_1_5))

>> [1..5]

# overlaps 判断两个区间是否重复

print(zoom_1_3.overlaps(zoom_1_5))

>> true

print(zoom_1_3.overlaps(zoom_o3_5))

>> false

# adjacent_to 判断区间是否相邻比重复

print(zoom_1_3.adjacent_to(zoom_o3_5))

>> true

小结

interval 库还提供了 intervalset 包,里面提供了对多个 interval 的操作,碍于篇幅的关系以及在实际应用中场景的不同具体用法也不一样,这里就不赘述了,向更深入了解可以使用 ipython 进入交互模式然后使用 help() 方法来查看具体不同方法的用法,这个库里面都提供了详细的说明。本文的介绍就到这里,希望对你有帮助。

以上这篇python 数值区间处理_对interval 库的快速入门详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持萬仟网。

希望与广大网友互动??

点此进行留言吧!

python中interval_Python 数值区间处理_对interval 库的快速入门详解相关推荐

  1. python符号格式化设置区间_Python 数值区间处理_对interval 库的快速入门详解

    使用 Python 进行数据处理的时候,常常会遇到判断一个数是否在一个区间内的操作.我们可以使用 if else 进行判断,但是,既然使用了 Python,那我们当然是想找一下有没有现成的轮子可以用. ...

  2. python怎么安装myqr_python二维码操作:对QRCode和MyQR入门详解

    python是所有编程语言中模块最丰富的 生活中常见的二维码功能在使用python第三方库来生成十分容易 三个大矩形是定位图案,用于标记二维码的大小.这三个定位图案有白边,通过这三个矩形就可以标识一个 ...

  3. 在python中使用关键字define定义函数_python自定义函数def的应用详解

    这里是三岁,来和大家唠唠自定义函数,这一个神奇的东西,带大家白话玩转自定义函数 自定义函数,编程里面的精髓! def 自定义函数的必要函数:def 使用方法:def 函数名(参数1,参数2,参数-): ...

  4. python中map()和dict()怎么用?你知道吗?-用法详解

    map()用法 map()是python的内置函数,会根据提供的函数对指定序列做映射. 语法: map(func, iter, ...) 其中func为一个功能函数,iter表示可迭代参数序列.map ...

  5. python中match方法返回字符串的长度_Python re模块与正则表达式详解

    Python 中使用re模块处理正则表达式,正则表达式主要用来处理文本中的查找,匹配,替换,分割等问题:我们先来看一个问题,切入正则表达式. 问题: 匹配字符串,最少以3个数字开头.使用Python代 ...

  6. python中必须使用import引入模块_Python之import方法引入模块详解

    在python用import或者from-import或者from-import-as-来导入相应的模块,作用和使用方法与C语言的include头文件类似.其实就是引入某些成熟的函数库和成熟的方法,避 ...

  7. python中paste函数的作用_PIL图像处理模块paste方法简单使用详解

    python2中提供了PIL基础的图像数据出来模块,在python3中更名为了pillow模块,名字虽然发生了改变,但是提供的方法和功能都是一样的,对于日常基础的图像数据处理分析来说是足够用了的,现在 ...

  8. python中for in range的用法_Python for i in range ()用法详解

    for i in range ()作用: range()是一个函数, for i in range () 就是给i赋值: 比如 for i in range (1,3): 就是把1,2依次赋值给i r ...

  9. python中rand和randn_基于numpy.random.randn()与rand()的区别详解

    下面为大家分享一篇基于numpy.random.randn()与rand()的区别详解,具有很好的参考价值,希望对大家有所帮助.一起过来看看吧 numpy中有一些常用的用来产生随机数的函数,randn ...

  10. python中 for i in range(10)_Python for i in range ()用法详解

    for i in range ()作用: range()是一个函数, for i in range () 就是给i赋值: 比如 for i in range (1,3): 就是把1,2依次赋值给i r ...

最新文章

  1. 转 docker的下载与安装
  2. 用WidgeDuino创建一个SCADA(监控与数据採集)系统
  3. Spring IOC注入Map接口小技巧
  4. 动手开始创建第一个 Angular 应用并通过 gh-pages 发布到 Github 上
  5. sympy科学计算器
  6. javascript --- XMLHttp2级、CORS(跨域资源共享)
  7. Java并发编程-线程池底层工作原理
  8. 两级页表如何实现地址转换
  9. k8s容器灰度发布最佳实践(基于spinnaker)
  10. CommonLibrary——框架通用工具库
  11. C#基础复习(4) 之 浅析List、Dictionary
  12. rac san+oracle_Oracle RAC安装部署之规划(一)
  13. quartus支持linux系统,在64位Linux下把Quartus II设置成64位的方法
  14. 一元线性回归原理及代码实现
  15. 人机大战简史(第二版)
  16. Linux C/C++ 服务器/后端开发/后台开发学习路线
  17. MySql in子句 效率低下优化
  18. 《Linux内核设计与实现》读书笔记(四)- 进程的调度
  19. Axios—循环发送请求
  20. 计算机组成原理 总线与微命令实验

热门文章

  1. 上课笔记-机器学习(5)-美国人口普查数据进行收入预测分类
  2. jupyter无法重命名,文件不可信,后台被自动关闭
  3. 模拟信道和数字信道的区别
  4. JAVA (Graphics2D)解决合成图片失真问题
  5. python猜数字游戏实例_Python文曲星猜数字游戏实例代码教程
  6. ❤ ❤html canvas面向对象的彩色小球❤ ❤
  7. 伦斯勒理工学院计算机科学专业强吗,伦斯勒理工学院专业排名一览及最强专业推荐(USNEWS美国大学排名)...
  8. 含echarts图表の网页打印
  9. kali之beef的使用
  10. eovs实训报告总结心得_实训报告收获心得体会