2010-08-04 11 views
11

Próbuję uzyskać lepszą przyczepność na numpy tablice, więc mam próbkę pytanie, aby zapytać o nich:Jak wykonać arytmetyczną tablicę warunkową w tablicy numpy?

Powiedz, że mam tablicę numpy o nazwie. Chcę wykonać operację, która inkrementuje wszystkie wartości w środku, które są mniejsze niż 0 i pozostawia resztę w spokoju. Na przykład, jeśli miałem:

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

chciałbym wrócić:

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

Co jest najbardziej zwarta składnię tego?

Dzięki!

+1

do czytelnej tutorialu zobaczyć http://scipy.org/Cookbook/Indexing – denis

Odpowiedz

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

Dzięki ton ~ unutbu! – pr0crastin8r

+0

@ pr0crastin8r: Nie ma za co! – unutbu

10

mutować go:

a[a<0] += 1 

Aby pozostawić oryginalną tablicę sam:

a+[a<0] 
Powiązane problemy