簡體   English   中英

通過 function 過濾 numpy 數組

[英]Filter a numpy array by function

我有一個 2D numpy 數組,格式如下:

array([[0, 4],
       [1, 5],
       [2, 6]])

我想過濾掉它們的第一個值大於 1 的行,但我找不到 numpy function 這樣做。

我知道我可以使用filter

np.array(list(filter((lambda x: x[0] <= 1), my_arr)))

這種方法效率不高,因為我需要將結果轉換為列表,而不是轉換為 numpy 數組。 有沒有更好的辦法?

沒有numpy接口可以使用 function 有效地執行此操作。 但是,在這種特殊情況下,您只需要以下內容:

>>> import numpy as np
>>> arr = np.array([[0, 4],
...        [1, 5],
...        [2, 6]])
>>> arr[arr[:,0] <= 1]
array([[0, 4],
       [1, 5]])
import numpy as np

arr=np.array([[0, 4],
       [1, 5],
       [2, 6]])

newarr=[]

for fetch in arr:
    if(fetch[0]>1):
        newarr.append(fetch)
        
print(newarr) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM