如何平均分配给一个变量的多个数组?

时间:2019-06-20 18:41:18

标签: python arrays numpy

我正在尝试将一个大型数据集解释为多个较小的128 x 128数组,以便稍后平均到一个相同大小的单数数组中。

我已经能够创建一个形状为(-1,128)的非常长的数组,并且能够将其分割成更小的128 x 128的部分。

data = rawdata.reshape((-1, 128))
for x in range(5):
    data_avg = data[0 + 128 * x:128 + 128 * x, :]
    print(data_avg) #returns 5 128 by 128 arrays assigned to "data_avg"

问题是我不知道如何获取这些数据并将其平均在一起,因为它们都分配给了相同的变量。我也不希望程序为每个数组创建一个新变量,因为在最终产品中,程序一次将读取数百个数组。

更新:现在,我已经能够将数据作为多个数组存储在列表中,但是我仍然没有找到一种对数组本身求平均值的方法。尝试使用np.mean(data_list)这样做会导致一个单数整数,而不是一个完整的数组。

1 个答案:

答案 0 :(得分:1)

arr = np.random.normal(size = (1280, 1280))
mean = arr.reshape((128, 128, 100)).mean(axis = 2)

arr是某种形状的数组(x * 128,y * 128),并在一行中重整为xy个128x128数组,并沿xy轴取平均值。