如何从 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()
给定一个 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()