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]表示列索引
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python實現(xiàn)數(shù)據(jù)可視化案例分析
這篇文章主要介紹了Python實現(xiàn)數(shù)據(jù)可視化案例分析,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-08-08

