Numpy的高級函數where和extract函數
照例我們先導入numpy庫
#導入numpy
import numpy as np
首先我們先要定義一個用於操作的numpy數組(numpy中的數組都是ndarray):
x=np.array([[1,2,3],[4,5,6],[7,8,9]])
print("x")
print(x)
輸出結果:
x
[[1 2 3]
[4 5 6]
[7 8 9]]
1、numpy.where()函數,此函數返回數組中滿足某個條件的元素的索引,直接上代碼。
//這裏我們輸出x數據中大於5的元素的索引
y=np.where(x>5)
print(y)
輸出結果:
(array([1, 2, 2, 2], dtype=int64), array([2, 0, 1, 2], dtype=int64))
//使用索引取出元素"
print(x[y])
輸出結果:
[6 7 8 9]
2、numpy.extract()函數,和where函數有一點相,不過extract函數是返回滿足條件的元素,而不是元素索引,下面我們的例子返回數組x 的元素 模2等於0的元素。
先定義一個條件:
#定義條件,(元素 % 2==0)
condition=np.mod(x,2)==0
print(condition)
輸出結果:
[[False True False]
[ True False True]
[False True False]]
返回滿足條件的元素:
//獲取滿足條件的元素
print(np.extract(condition,x))
輸出結果:
[2 4 6 8]
好了,今天的分享就先到這裏,歡迎大家持續關注我,後續我會持續更新Python和numpy相關的內容!