如何从 nd.array 区域获取特定值的平均值?

How to get the mean of specific values from an nd.array region?

给定一个 ndarray:

np.array(
    (
        (1, 2, 3, 3, 2),
        (4, 5, 4, 3, 2),
        (1, 1, 1, 1, 1),
        (0, 0, 0, 0, 0),
        (0, 2, 3, 4, 0),
    )
)

提取由坐标为 (1, 1), (3, 1), (1, 3), (3, 3) 的矩形包围的值的平均值。

提取的数组区域为:

5, 4, 3,
1, 1, 1,
0, 0, 0,

平均值为 ~1.666666667

import numpy as np
arr = np.array(
    (
        (1, 2, 3, 3, 2),
        (4, 5, 4, 3, 2),
        (1, 1, 1, 1, 1),
        (0, 0, 0, 0, 0),
        (0, 2, 3, 4, 0),
    )
)
mean = arr[1:4, 1:4].mean()