numpy中關(guān)于where函數(shù)的用法
關(guān)于where函數(shù)用法
在我的理解中np.where函數(shù)有三個(gè)用法
1. np.where()[0] 和 np.where()[1]
where在我的理解中是一個(gè)尋找數(shù)組中某個(gè)元素的函數(shù)
在此用法中np.where()[0] 表示行索引,np.where()[1]表示列索引
具體如下:
import numpy as np array = np.arange(12).reshape(3,4) print('array:', array) print('np.where(array > 5):', np.where(array > 5)) print('array[np.where(a > 5)]:', array[np.where(array > 5)]) print('np.where(array > 5)[0]:', np.where(array > 5)[0]) print('np.where(array > 5)[1]:', np.where(array > 5)[1]) print(array[np.where(array > 5)[0], np.where(array > 5)[1]]) array: [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] np.where(array > 5): (array([1, 1, 2, 2, 2, 2]), array([2, 3, 0, 1, 2, 3])) array[np.where(array > 5)]: [ 6 7 8 9 10 11] np.where(array > 5)[0]: [1 1 2 2 2 2] np.where(array > 5)[1]: [2 3 0 1 2 3] [ 6 7 8 9 10 11]
2. np.where(condition, x, y)
滿足condition 這個(gè)條件的輸出x,不滿足輸出y。
如下所示:
小于2的數(shù)改為0,否則改為10
import numpy as np t2=np.array([[1,2,3],[1,2,3]]) print(np.where(t2<2,0,10)) [[ 0 10 10] [ 0 10 10]]#輸出
3. np.where(condition)
只有條件 (condition),沒有x和y,則輸出滿足條件 (即非0) 元素的坐標(biāo) (類似于numpy.nonzero)。
舉個(gè)簡單的例子:
import numpy as np t2=np.array([[1,2,3],[1,2,3]]) print(np.where(t2<2)) (array([0, 1], dtype=int64), array([0, 0], dtype=int64)) #輸出
所以 np.where會(huì)輸出每個(gè)符合要求的元素的對應(yīng)的坐標(biāo)
需要注意的一點(diǎn)是:
輸入的不能直接是list,需要轉(zhuǎn)為array或者為array才行。
比如range(10)和np.arange(10)后者返回的是數(shù)組,使用np.where才能達(dá)到效果。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
用Python和WordCloud繪制詞云的實(shí)現(xiàn)方法(內(nèi)附讓字體清晰的秘笈)
這篇文章主要介紹了用Python和WordCloud繪制詞云的實(shí)現(xiàn)方法(內(nèi)附讓字體清晰的秘笈),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01如何遠(yuǎn)程使用服務(wù)器上的Jupyter notebook
這篇文章主要介紹了如何遠(yuǎn)程使用服務(wù)器上的Jupyter notebook,主要是在服務(wù)器端執(zhí)行操作,需要特別注意為了防止遠(yuǎn)程中斷,使用掛起操作,即執(zhí)行nohup jupyter notebook,需要的朋友可以參考下2023-02-02使用Python實(shí)現(xiàn)Excel表格轉(zhuǎn)圖片
在數(shù)據(jù)處理與信息分享過程中,Excel表格作為一種強(qiáng)大的數(shù)據(jù)管理工具被廣泛應(yīng)用,這篇文章主要為大家詳細(xì)介紹了如何使用Python將Excel表格轉(zhuǎn)換為圖片,需要的可以參考下2024-04-04python tkinter實(shí)現(xiàn)連連看游戲
這篇文章主要介紹了python tkinter實(shí)現(xiàn)連連看游戲的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-11-11python實(shí)現(xiàn)圖像隨機(jī)裁剪的示例代碼
這篇文章主要介紹了python實(shí)現(xiàn)圖像隨機(jī)裁剪的示例代碼,幫助大家更好的理解和使用python處理圖片,感興趣的朋友可以了解下2020-12-12Python 生成短8位唯一id實(shí)戰(zhàn)教程
這篇文章主要介紹了Python 生成短8位唯一id實(shí)戰(zhàn)教程,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01使用matplotlib繪制圖例標(biāo)簽中帶有公式的圖
今天小編就為大家分享一篇使用matplotlib繪制圖例標(biāo)簽中帶有公式的圖,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12