2010-10-22 32 views
6

我想总结一个大的NumPy数组的特定行。我知道函数array.max()将在整个数组中给出最大值,并且array.max(1)会以数组的形式给出每个行的最大值。但是,我想要在某一行中获得最大值(例如,第7行或第29行)。我有一个很大的数组,所以获得所有行的最大值会给我一个重大的时间惩罚。总和NumPy数组的一行

回答

19

您可以使用索引操作符轻松访问二维数组的一行。该行本身是一个数组,是原始数组一部分的视图,并且公开了所有数组方法,包括sum()max()。因此,你可以很容易地得到这样每行最大:

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

只是为了保持完整性,您可以为列做同样的:

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