2016-06-17 8 views
0

Hallo Ich habe eine Rasterdatensätze im Format .nc. Ich habe versucht, .NC-Datei für verschiedene Kombination von Breite und Länge mit dem unten angegebenen Code zu lesen, aber ich weiß, das ist nicht der ideale Weg, um das zu tun.Wie Durchschnittswert aus gerasterten Datasets in Python zu berechnen

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] 

und schließlich

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

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

Gibt es einfache Möglichkeiten, dass anstelle des Lesens jedes einzelne Gitter zu tun und den Mittelwert zu berechnen ?? Ihre Hilfe wird sehr geschätzt.

Antwort

1

Ich weiß nicht, über nc Formatierung, aber ich würde erwarten, dass Sie sollten in der Lage

import netCDF4 
from netCDF4 import Dataset 

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

Ja Mikea zu tun, es funktioniert, aber ich bin immer anders answesr aus diesen beiden Methoden :(. Ich weiß nicht, wo ist die Probleme – bikuser

+0

@ Mikea, der Wert, den ich bekomme, ist nicht ein einziges Array..Sehen Array ([[- 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