Python中np.where()的使用方式
更新時間:2024年02月02日 15:03:25 作者:允諾@晴天
這篇文章主要介紹了Python中np.where()的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
np.where的使用
np.where()
是NumPy庫中一個非常有用的函數(shù),用于根據(jù)指定的條件返回一個向量或數(shù)組中滿足條件的元素的位置。
它的基本語法是:
np.where(condition, x, y)
其中:
condition
是一個布爾數(shù)組或布爾條件表達式,用于指定需要滿足的條件。x
和y
分別是滿足條件和不滿足條件時的替代值。它們可以是標量、向量或數(shù)組。np.where()
函數(shù)返回一個與condition
大小相同的數(shù)組,其中滿足條件的元素用x
替代,不滿足條件的元素用y
替代。
下面是幾個示例:
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()替換多個條件 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)建一個示例數(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é)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python數(shù)字圖像處理實現(xiàn)圖像的形變與縮放
這篇文章主要為大家介紹了python數(shù)字圖像處理實現(xiàn)圖像的形變與縮放示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06Python機器學(xué)習(xí)pytorch交叉熵損失函數(shù)的深刻理解
這篇文章主要為大家介紹了Python機器學(xué)習(xí)中對交叉熵損失函數(shù)的深刻理解,文中作出了詳細易懂的講解,有需要的朋友可以借鑒參考下希望能夠有所幫助2021-10-10詳解用pyecharts Geo實現(xiàn)動態(tài)數(shù)據(jù)熱力圖城市找不到問題解決
這篇文章主要介紹了詳解用pyecharts Geo實現(xiàn)動態(tài)數(shù)據(jù)熱力圖城市找不到問題解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06Python實現(xiàn)疫苗接種管理數(shù)據(jù)庫步驟詳解
這篇文章主要為大家介紹了Python實現(xiàn)疫苗接種管理數(shù)據(jù)庫步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09