我正在尝试将一个大型数据集解释为多个较小的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)这样做会导致一个单数整数,而不是一个完整的数组。
答案 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轴取平均值。