如何平均二维阵列?

时间:2013-07-10 15:53:58

标签: python arrays numpy multidimensional-array indexing

我有一个形状为(256,128)的2-D numpy数组,我想将256个中的每8行平均放在一起,所以我最终得到了一个numpy数组形状(32,128)有什么办法吗?只平均一维?

3 个答案:

答案 0 :(得分:6)

您可以reshape然后在轴上取平均值:

 averaged = a.reshape((32,8,128)).mean(axis=1)

结果是(32,128)数组。

答案 1 :(得分:0)

使用axis的{​​{1}}参数。如果不提供,将计算展平阵列的平均值。

np.average

答案 2 :(得分:0)

使用for循环

[m, n ] = shape(Array)
meanArray = zeros((m/8, n))

for i in range(0, m/8):
  f = i*8
  meanArray[i, :] = numpy.mean(Array[f:f+8, :], axis=1)