Python?where函數(shù)保姆級(jí)使用教程
你應(yīng)該聽說(shuō)過(guò),應(yīng)用Python,可以讓你處理一天的重復(fù)工作量,縮短到幾分鐘甚至更短。從此解放上班時(shí)間,研究更多更有效率的工作方法。進(jìn)一步提升工作效率,讓工作更出彩。這不是廣告,這是實(shí)錘圖片。
本文和你一起探索Python常用函數(shù)合集,讓你以最短的時(shí)間明白這些函數(shù)的原理。也可以利用碎片化的時(shí)間鞏固這些函數(shù),讓你在處理工作過(guò)程中更高效。
一、where函數(shù)的定義
where函數(shù)是numpy庫(kù)中的,通常需要先加載numpy庫(kù),再調(diào)用該函數(shù)。函數(shù)的基本調(diào)用語(yǔ)法有兩種,一種是:
import numpy as np np.where(arry)
此時(shí),np.where函數(shù)輸出arry中“真”值的坐標(biāo)(‘真’也可以理解為非0)?;蛘哒f(shuō)np.where函數(shù)從arry中返回滿足特定條件的元素。比如,它會(huì)返回滿足特定條件數(shù)值的索引位置。
另一種是:
import numpy as np np.where(cond, x, y)
此時(shí),np.where函數(shù)滿足cond條件輸出x,不滿足輸出y。為了讓大家對(duì)where函數(shù)定義有更清晰的理解,接下來(lái)以具體實(shí)例進(jìn)行闡述,方便大家理解記憶。
二、where函數(shù)實(shí)例
找出數(shù)列中大于某個(gè)數(shù)的位置索引
y = np.array([1, 5, 6, 8, 1, 7, 3, 6, 9]) print(np.where(y>5))
得到結(jié)果:
(array([2, 3, 5, 7, 8], dtype=int64),)
此時(shí),np.where函數(shù)返回?cái)?shù)值大于5的索引位置。
數(shù)列中大于5取‘m_5’否則取’lq_5’
y = np.array(range(1, 10)) print(y) print(np.where(y>5, 'm_5', 'lq_5'))
得到結(jié)果:
[1 2 3 4 5 6 7 8 9]
['lq_5' 'lq_5' 'lq_5' 'lq_5' 'lq_5' 'm_5' 'm_5' 'm_5' 'm_5']
y是一個(gè)初始值為1,終值為9,步長(zhǎng)為1的等差數(shù)列。此時(shí),np.where函數(shù)滿足y>5輸出’m_5’,不滿足輸出’lq_5’。
數(shù)列中小于5取一個(gè)值否則取另一個(gè)值
print(np.arange(10)) print(np.where(np.arange(10)<5, '吃蘋果', '吃榴蓮'))
得到結(jié)果:
[0 1 2 3 4 5 6 7 8 9]
[‘吃蘋果’ ‘吃蘋果’ ‘吃蘋果’ ‘吃蘋果’ ‘吃蘋果’ ‘吃榴蓮’ ‘吃榴蓮’ ‘吃榴蓮’ ‘吃榴蓮’ ‘吃榴蓮’]
此時(shí),np.where函數(shù)滿足np.arange(10)中數(shù)值小于5輸出’吃蘋果’,不滿足輸出’吃榴蓮’。
數(shù)列中是2的倍數(shù)取一個(gè)值否則取另一個(gè)值
y = np.array(range(1, 10)) print(y) print(np.where(np.mod(y, 2)==0, '2b', 'n_2b'))
得到結(jié)果:
[1 2 3 4 5 6 7 8 9]
['n_2b' '2b' 'n_2b' '2b' 'n_2b' '2b' 'n_2b' '2b' 'n_2b']
此時(shí),np.where函數(shù)滿足y中數(shù)值除以2余數(shù)為0輸出’2b’,不滿足輸出’n_2b’。
找出數(shù)據(jù)框中非0數(shù)據(jù)
x = np.array([[0, 1, 2], [3, 0, 0], [6, 0, 8]]) print(x[np.where(x)])
得到結(jié)果:
[1 2 3 6 8]
此時(shí),np.where函數(shù)取出x中所有非0數(shù),生成一個(gè)新的數(shù)列。
到此這篇關(guān)于Python where函數(shù)保姆級(jí)使用教程的文章就介紹到這了,更多相關(guān)Python where函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python定時(shí)器(Timer)用法簡(jiǎn)單實(shí)例
這篇文章主要介紹了python定時(shí)器(Timer)用法,以一個(gè)簡(jiǎn)單實(shí)例形式分析了定時(shí)器(Timer)實(shí)現(xiàn)延遲調(diào)用的技巧,需要的朋友可以參考下2015-06-06對(duì)Python中的條件判斷、循環(huán)以及循環(huán)的終止方法詳解
今天小編就為大家分享一篇對(duì)Python中的條件判斷、循環(huán)以及循環(huán)的終止方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02Python讀取配置文件-ConfigParser的二次封裝方法
這篇文章主要介紹了Python讀取配置文件-ConfigParser的二次封裝方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02五個(gè)簡(jiǎn)單有效的Python清理數(shù)據(jù)腳本分享
通常情況下,在機(jī)器學(xué)習(xí)中的數(shù)據(jù)清理往往是一件令人頭疼的事情,本文整理了一份清單,列出了5個(gè)常用的Python腳本,用于自動(dòng)化數(shù)據(jù)清理,需要的可以參考一下2022-09-09基于Python實(shí)現(xiàn)語(yǔ)音識(shí)別和語(yǔ)音轉(zhuǎn)文字
這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)語(yǔ)音識(shí)別和語(yǔ)音轉(zhuǎn)文字功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-09-09