2016-06-17 134 views
0

您好,我有一個.nc格式的網格數據集。我試着用下面給出的代碼讀取緯度和經度的不同組合的.nc文件,但我知道這不是實現這一目標的理想方式。如何計算Python中網格數據集的平均值

import netCDF4 
from netCDF4 import Dataset 
f= Dataset('data.nc') 

data1 = f.variables['asa'][:,3,23] 
data2 = f.variables['asa'][:,3,24] 
data3 = f.variables['asa'][:,3,25] 
data4 = f.variables['asa'][:,4,23] 
data5 = f.variables['asa'][:,4,24] 
data6 = f.variables['asa'][:,4,25] 

最後

data = np.vstack((data1,data2,data3,data4...)) 

Data = np.average(data, axis = 0)  

有什麼簡單的方法可以做到這一點,而不是讀每一個網格,並計算平均值? 你的幫助將不勝感激。

回答

1

我不知道NC格式,但我希望,你應該能夠做到

import netCDF4 
from netCDF4 import Dataset 

f= Dataset('data.nc') 
Data = np.average(f.variables['asa'][:,3:5,23:26], axis = 0) 
+0

是Mikea,它是工作,但我從這兩種方法得到不同answesr :(。我不知道問題在哪裏 – bikuser

+0

@ Mikea,我得到的值不是單個數組..請參見數組([[ - 9.9989996,-9.9989996,-9.9989996], [-9.9989996,-9.9989996,-9.9989996], [-9.9989996,-9.9989996,-9.9989996], ..., [0.34800002,0.3495,0.17900001], [0.34750003,0.38050002,0.20750001], [0.31700003,0.36800003,0.33950001]], – bikuser