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

Nic*_*aiF 1 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)
Run Code Online (Sandbox Code Playgroud)

res.shape 给出(140,734)

我需要尺寸734,1468的结果

megadatalist 由140个netCDF文件组成.

mem*_*ecs 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)
Run Code Online (Sandbox Code Playgroud)