python numpy元素的区间查找方法

yipeiwu_com7年前Python基础

找了半天,以为numpy的where函数像matlab 的find函数一样好用,能够返回一个区间内的元素索引位置。结果没有。。(也可能是我没找到)

故自己写一个函数,找多维数组下的,在某个开区间的元素位置

import numpy as np
def find(arr,min,max):
 pos_min = arr>min
 pos_max = arr<max
 pos_rst = pos_min & pos_max
 return np.where(pos_rst == True)#where的返回值刚好可以用[]来进行元素提取
 
 
a=np.arange(10).reshape(2,5)
 
 
pos=find(a,a>3,a<=7)
print(a[pos])#where的返回值刚好可以用[]来进行元素提取

改进版本,接近matlab语法

def find(arr,pos_min,pos_max):
 #pos_min = arr>=min
 #pos_max = arr<max
 pos_rst = pos_min & pos_max
 return np.where(pos_rst == True)#where的返回值刚好可以用[]来进行元素提取

python的numpy where的真正用法,绕了一个大弯

pos=np.where( (a>=3) & (a<8)) #非常要注意这个括号 没有括号估计内部执行顺序不对,捣腾不出来的,具体原因可评论留言
print (a[pos])

改进版本,接近matlab语法

以上这篇python numpy元素的区间查找方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Django项目中包含多个应用时对url的配置方法

Django项目中包含多个应用时对url的配置方法

一个Django工程中多数情况下会存在多个应用, 如何针对多个应用的url进行配置呢, 有以下两种方案: 1、在Django工程的urls.py中针对每个应用分别配置不同的url路径 2...

Python zip函数打包元素实例解析

这篇文章主要介绍了Python zip函数打包元素实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 介绍 zip() 函数用于...

python和shell实现的校验IP地址合法性脚本分享

python和shell实现的校验IP地址合法性脚本分享

一、python校验IP地址合法性 执行效果: python代码: 复制代码 代码如下:   [root@yang python]# vi check_ip.py #!/us...

python通过exifread模块获得图片exif信息的方法

本文实例讲述了python通过exifread模块获得图片exif信息的方法。分享给大家供大家参考。具体分析如下: python可通过exifread模块获得图片exif信息 exif...

windows环境中利用celery实现简单任务队列过程解析

windows环境中利用celery实现简单任务队列过程解析

这篇文章主要介绍了windows环境中利用celery实现简单任务队列过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一、背景...