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