2010-10-22 22 views
6

Chciałbym podsumować jeden konkretny wiersz dużej tablicy numpy. Wiem, że funkcja array.max() daje maksimum w całej tablicy, a array.max(1) da mi maksimum poprzek każdego z wierszy w postaci tablicy. Chciałbym jednak uzyskać maksimum w pewnym wierszu (na przykład wiersz 7 lub wiersz 29). Mam dużą tablicę, więc uzyskanie maksimum dla wszystkich wierszy da mi znaczną ilość czasu.Suma jeden wiersz tablicy numpy

Odpowiedz

19

można łatwo uzyskać dostęp wiersz tablicy dwuwymiarowej operatora indeksowania. Sam rząd jest tablicą, w widoku z góry części oryginalnej tablicy oraz udostępnia wszystkie metody tablicy oraz sum() i max(). Dlatego można łatwo uzyskać maksimum w rzędzie tak:

x = arr[7].max() # Maximum in row 7 
y = arr[29].sum() # Sum of the values in row 29 

Tylko dla kompletności, można zrobić to samo dla kolumny:

z = arr[:, 5].sum() # Sum up all values in column 5.