Python學習-numpy高級函數之where和extract函數

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相關的內容!

發佈了15 篇原創文章 · 獲贊 21 · 訪問量 6082
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章