必須有一種(非常)快速有效的方法來從numpy數組中獲取元素,或者從一部分中獲取更有趣的元素。 假設我有一個numpy的數組:只獲取那些滿足numpy數組條件的值
import numpy as np
a = np.arange(-10,10)
現在,如果我有一個列表:
s = [9, 12, 13, 14]
我可以從選擇元素:
a[s] #array([-1, 2, 3, 4])
怎樣纔可以有一個(numpy的)由滿足條件的a [s]中的元素組成的數組,即正數(或負數)? 應該導致
np.ifcondition(a[s]>0, a[s]) #array([2, 3, 4])
它看起來微不足道,但我沒能找到一個簡單的和濃縮的表達。我敢肯定,口罩確實不錯,但對我來說並不直接。 然而,無論是:
a[a[s]>0]
a[s[a[s]>0]]
其實都是不錯的選擇。
感謝您的幫助。
大多數類似'np.clip'或'np.where'的工具都保留了數組的原始大小,所以它們並不適合我的需要。 – gluuke