Python中np.where()的使用方式
np.where的使用
np.where()
是NumPy庫(kù)中一個(gè)非常有用的函數(shù),用于根據(jù)指定的條件返回一個(gè)向量或數(shù)組中滿足條件的元素的位置。
它的基本語(yǔ)法是:
np.where(condition, x, y)
其中:
condition
是一個(gè)布爾數(shù)組或布爾條件表達(dá)式,用于指定需要滿足的條件。x
和y
分別是滿足條件和不滿足條件時(shí)的替代值。它們可以是標(biāo)量、向量或數(shù)組。np.where()
函數(shù)返回一個(gè)與condition
大小相同的數(shù)組,其中滿足條件的元素用x
替代,不滿足條件的元素用y
替代。
下面是幾個(gè)示例:
import numpy as np # 例1:使用np.where()替換滿足條件的元素 arr = np.array([1, 2, 3, 4, 5]) new_arr = np.where(arr < 3, 0, arr) print(new_arr) # 輸出: [0, 0, 3, 4, 5] # 例2:使用np.where()獲取滿足條件的元素的位置 arr = np.array([1, 2, 3, 4, 5]) indexes = np.where(arr > 3) print(indexes) # 輸出: (array([3, 4]),) # 例3:使用np.where()替換多個(gè)條件 arr = np.array([1, 2, 3, 4, 5]) new_arr = np.where((arr < 3) | (arr > 4), 0, arr) print(new_arr) # 輸出: [0, 0, 3, 0, 5] # 創(chuàng)建一個(gè)示例數(shù)組 arr = np.array([1, 2, 3, 4, 5]) arr1 = np.array([1, 2, 3, 4, 5]) new_arr = np.where(arr > 2, arr1+1, arr1) print(new_arr)
np.where()[0] 和 np.where()[1]
import numpy as np a = np.arange(12).reshape(3,4) print('a:', a) print('np.where(a > 5):', np.where(a > 5)) print('a[np.where(a > 5)]:', a[np.where(a > 5)]) print('np.where(a > 5)[0]:', np.where(a > 5)[0]) print('np.where(a > 5)[1]:', np.where(a > 5)[1]) print(a[np.where(a > 5)[0], np.where(a > 5)[1]])
a: [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] np.where(a > 5): (array([1, 1, 2, 2, 2, 2]), array([2, 3, 0, 1, 2, 3])) a[np.where(a > 5)]: [ 6 7 8 9 10 11] np.where(a > 5)[0]: [1 1 2 2 2 2] np.where(a > 5)[1]: [2 3 0 1 2 3] [ 6 7 8 9 10 11]
- np.where()[0] 表示行索引
- np.where()[1]表示列索引
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python檢測(cè)兩個(gè)文本文件相似性的三種方法
檢測(cè)兩個(gè)文本文件的相似性是一個(gè)常見(jiàn)的任務(wù),可以用于文本去重、抄襲檢測(cè)等場(chǎng)景,Python 提供了多種方法來(lái)實(shí)現(xiàn)這一功能,x下面小編就來(lái)簡(jiǎn)單介紹一下吧2025-03-03Python知識(shí)點(diǎn)詳解之正則表達(dá)式語(yǔ)法
正則表達(dá)式在搜索大型文本、電子郵件和文檔時(shí)非常有用,正則表達(dá)式也稱為"用于字符串匹配的編程語(yǔ)言",下面這篇文章主要給大家介紹了關(guān)于Python知識(shí)點(diǎn)之正則表達(dá)式語(yǔ)法的相關(guān)資料,需要的朋友可以參考下2022-05-05python數(shù)字圖像處理實(shí)現(xiàn)圖像的形變與縮放
這篇文章主要為大家介紹了python數(shù)字圖像處理實(shí)現(xiàn)圖像的形變與縮放示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06Python機(jī)器學(xué)習(xí)pytorch交叉熵?fù)p失函數(shù)的深刻理解
這篇文章主要為大家介紹了Python機(jī)器學(xué)習(xí)中對(duì)交叉熵?fù)p失函數(shù)的深刻理解,文中作出了詳細(xì)易懂的講解,有需要的朋友可以借鑒參考下希望能夠有所幫助2021-10-10詳解用pyecharts Geo實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)熱力圖城市找不到問(wèn)題解決
這篇文章主要介紹了詳解用pyecharts Geo實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)熱力圖城市找不到問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06Python實(shí)現(xiàn)疫苗接種管理數(shù)據(jù)庫(kù)步驟詳解
這篇文章主要為大家介紹了Python實(shí)現(xiàn)疫苗接種管理數(shù)據(jù)庫(kù)步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09