处理numpy数组中的选定值范围

El *_*uso 1 python numpy

假设我有一个5x5阵列:

import numpy as np
arr = np.random.rand(5,5)
Run Code Online (Sandbox Code Playgroud)

如果我想总结整个数组我可以简单地:

np.sum(arr)
Run Code Online (Sandbox Code Playgroud)

我如何对由左上角(2,2)和右下角(4,3)定义的框中的值求和?

如果这不清楚我想在下面的数组中加总粗体x:

XXXXX

X XX XX

X XX XX

X XX XX

XXXXX

gtl*_*ert 6

像这样使用切片:

import numpy as np
arr = np.random.rand(5,5)

# Top left 2*2 grid
np.sum(arr[:2, :2])
Run Code Online (Sandbox Code Playgroud)

要汇总图表中的数组,请使用:

np.sum(arr[1:4, 1:3])
Run Code Online (Sandbox Code Playgroud)