对NumPy数组的一行求和
我想要对一个很大的NumPy数组中的某一行进行求和。我知道函数 array.max()
可以得到整个数组的最大值,而 array.max(1)
则可以得到每一行的最大值,并以数组的形式返回。不过,我想要获取特定某一行的最大值(比如第7行或者第29行)。因为我的数组很大,所以如果对所有行都求最大值,会浪费很多时间。
1 个回答
23
你可以很简单地通过索引操作来访问一个二维数组的某一行。这个行本身也是一个数组,它是原始数组的一部分,能够使用所有数组的方法,比如 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.