对NumPy数组的一行求和

7 投票
1 回答
26475 浏览
提问于 2025-04-16 05:56

我想要对一个很大的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.

撰写回答