Numpy:在3个维度中使用np.mean

时间:2014-10-14 08:57:07

标签: python numpy mean dimensions netcdf

我有140个阵列,其尺寸为734 x 1468.我需要在734 x 1468条目中的140个阵列中的平均值,我开始通过嵌套for循环迭代数据,但它太慢了。我尝试过使用np.mean函数

res = np.mean([megadatalist[i].variables['analysed_sst'][0] for i in range(0,140)], axis=2)

res.shape给出(140,734)

我需要维度734,1468的结果

megadatalist包含140个netCDF文件。

1 个答案:

答案 0 :(得分:5)

您正在传递一个已转换为(140,734,1468)的数组列表。因此,您可以使用如下所示的np.dstack,也可以更改axis=0

使用np.dstack

X = np.dstack([megadatalist[i].variables['analysed_sst'][0] 
        for i in range(0,140)])

res = np.mean(X, axis=2)