2010-08-04 80 views
11

我試圖更好地掌握numpy陣列,所以我有一個示例問題來問他們:如何在numpy數組上進行條件數組運算?

說我有一個叫做a的numpy數組。我想對一個小於0的數值執行一個操作,並將剩下的值留給它。舉例來說,如果我有:

a = np.array([1,2,3,-1,-2,-3]) 

我希望回到:

([1,2,3,0,-1,-2]) 

,這是什麼最緊湊的語法?

謝謝!

+1

一個可讀的教程,請參閱http://scipy.org/Cookbook/Indexing – denis 2010-08-05 11:41:32

回答

28
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]) 
+0

謝謝一噸〜unutbu! – pr0crastin8r 2010-08-04 20:07:43

+0

@ pr0crastin8r:不客氣! – unutbu 2010-08-04 20:22:11

10

變異它:

a[a<0] += 1 

要獨自離開原來的數組:

a+[a<0]