在 Python 中使用 numpy 查詢範圍內元素


在使用 numpy 庫處理資料時,有時可能需要過濾特定範圍內的某些數字。這可以透過使用 numpy 中提供的一些內建方法來實現。

使用與運算子

在此方法中,我們採用一個 numpy 陣列,然後對其應用 logical_and 函式。numpy 中的 where 子句也用於應用 and 條件。結果是一個數組,顯示滿足所需範圍條件的元素的位置。

import numpy as np

A = np.array([5, 9, 11, 4, 31, 27,8])

# printing initial array
print("Given Array : ", A)

# Range 6 to 15
res = np.where(np.logical_and(A >= 6, A <= 15))

# Result
print("Array with condition : ", res)

輸出

執行上面的程式碼,得到以下結果 -

Given Array : [ 5 9 11 4 31 27 8]
Array with condition : (array([1, 2, 6], dtype=int32),)

使用 *

在此方法中,我們使用 * 運算子。它將結果作為實際值提供,而不是陣列中值的位置。

import numpy as np

A = np.array([5, 9, 11, 4, 31, 27,8])

# printing initial array
print("Given Array : ", A)

# Range 6 to 15
res = A [ (A >=6) * (A <= 15)]

# Result
print("Array with condition : ", res)

輸出

執行上面的程式碼,得到以下結果 -

Given Array : [ 5 9 11 4 31 27 8]
Array with condition : [ 9 11 8]

更新時間:2020 年 8 月 26 日

2K+ 瀏覽量

開啟您的 職業生涯

完成課程以獲得認證

開始
廣告
© . All rights reserved.