阵列NxM元素平均值

2024-09-28 22:16:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我想平均AxB数组中的每个NxM元素,并且输出矩阵的维数​​(A/N)x(B/M)。

例如,假设我有:

a = np.arange(24).reshape((4,6))

array([[ 0,  1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10, 11],
       [12, 13, 14, 15, 16, 17],
       [18, 19, 20, 21, 22, 23]])

我想平均“a”数组的每个2x3元素,输出为:

array([[av1, av2],
       [av3, av4]])

其中:

平均值1=(0+1+2+6+7+8)/6

平均值2=(3+4+5+9+10+11)/6

平均值3=(12+13+14+18+19+20)/6

平均值4=(15+16+17+21+22+23)/6

在python中最有效的方法是什么?我想用5424x5424个元素的数组来实现这一点。


Tags: 元素np矩阵数组array平均值arange维数
1条回答
网友
1楼 · 发布于 2024-09-28 22:16:11

从版本1.7开始,np.mean接受多个轴进行平均。这使您的任务更容易,因为您可以根据需要创建任意多的额外维度,并且无需做任何额外的工作就可以处理所有这些维度

 np.mean(a.reshape(2, 2, 2, 3), axis=(1, 3))

相关问题 更多 >