[英]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.