python numpy元素的區(qū)間查找方法
找了半天,以為numpy的where函數(shù)像matlab 的find函數(shù)一樣好用,能夠返回一個(gè)區(qū)間內(nèi)的元素索引位置。結(jié)果沒有。。(也可能是我沒找到)
故自己寫一個(gè)函數(shù),找多維數(shù)組下的,在某個(gè)開區(qū)間的元素位置
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的返回值剛好可以用[]來進(jìn)行元素提取 a=np.arange(10).reshape(2,5) pos=find(a,a>3,a<=7) print(a[pos])#where的返回值剛好可以用[]來進(jìn)行元素提取
改進(jìn)版本,接近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的返回值剛好可以用[]來進(jìn)行元素提取
python的numpy where的真正用法,繞了一個(gè)大彎
pos=np.where( (a>=3) & (a<8)) #非常要注意這個(gè)括號 沒有括號估計(jì)內(nèi)部執(zhí)行順序不對,搗騰不出來的,具體原因可評論留言 print (a[pos])
改進(jìn)版本,接近matlab語法
以上這篇python numpy元素的區(qū)間查找方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解Python中位運(yùn)算的簡單實(shí)現(xiàn)
位運(yùn)算就是直接對整數(shù)在內(nèi)存中對應(yīng)的二進(jìn)制位進(jìn)行操作,一般是將數(shù)字化為二進(jìn)制數(shù)后進(jìn)行操作。本文將利用Python語言實(shí)現(xiàn)位運(yùn)算,感興趣的可以了解一下2022-06-06python 進(jìn)程池的兩種不同實(shí)現(xiàn)方法示例
這篇文章主要為大家介紹了python 進(jìn)程池的兩種不同實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05python 讀寫、創(chuàng)建 文件的方法(必看)
下面小編就為大家?guī)硪黄猵ython 讀寫、創(chuàng)建 文件的方法(必看)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09利用Pyhton中的requests包進(jìn)行網(wǎng)頁訪問測試的方法
今天小編就為大家分享一篇利用Pyhton中的requests包進(jìn)行網(wǎng)頁訪問測試的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12