我試圖更好地掌握numpy陣列,所以我有一個示例問題來問他們:如何在numpy數組上進行條件數組運算?
說我有一個叫做a的numpy數組。我想對一個小於0的數值執行一個操作,並將剩下的值留給它。舉例來說,如果我有:
a = np.array([1,2,3,-1,-2,-3])
我希望回到:
([1,2,3,0,-1,-2])
,這是什麼最緊湊的語法?
謝謝!
我試圖更好地掌握numpy陣列,所以我有一個示例問題來問他們:如何在numpy數組上進行條件數組運算?
說我有一個叫做a的numpy數組。我想對一個小於0的數值執行一個操作,並將剩下的值留給它。舉例來說,如果我有:
a = np.array([1,2,3,-1,-2,-3])
我希望回到:
([1,2,3,0,-1,-2])
,這是什麼最緊湊的語法?
謝謝!
In [45]: a = np.array([1,2,3,-1,-2,-3])
In [46]: a[a<0]+=1
In [47]: a
Out[47]: array([ 1, 2, 3, 0, -1, -2])
謝謝一噸〜unutbu! – pr0crastin8r 2010-08-04 20:07:43
@ pr0crastin8r:不客氣! – unutbu 2010-08-04 20:22:11
變異它:
a[a<0] += 1
要獨自離開原來的數組:
a+[a<0]
一個可讀的教程,請參閱http://scipy.org/Cookbook/Indexing – denis 2010-08-05 11:41:32