J'ai un jeu de données quadrillé avec trois dimensions: lat, lon et temps.Utilisez xarray pour obtenir des sommes à temps pour chaque point d'une grille
<xarray.Dataset>
Dimensions: (lat: 185, lon: 155, time: 8760)
Coordinates:
* lon (lon) float64 -76.98 -76.92 -76.86 -76.8 -76.74 ...
* lat (lat) float64 33.55 33.6 33.66 33.71 33.76 33.82 ...
* time (time) datetime64[ns] 2010-01-01 2010-01 01T01:00:00.028800 ...
Data variables:
u (time, lat, lon) float64 nan nan nan nan nan nan nan nan ...
v (time, lat, lon) float64 nan nan nan nan nan nan nan nan ...
u_err (time, lat, lon) float64 nan nan nan nan nan nan nan nan ...
v_err (time, lat, lon) float64 nan nan nan nan nan nan nan nan ...
Je voudrais obtenir une moyenne de tous les u et v dans le temps, que je peux faire par ce qui suit:
ds_seasonal = ds.groupby('time.season').mean('time')
Cependant, je veux seulement obtenir la moyenne de l'ensemble de données pour chaque point de grille où il y a des données présentes 50% du temps ou plus. Dans MATLAB, je mettrais tout dans un tableau structuré et ce serait aussi simple que nans=sum(~isnan(u),3);
que je comparerais ensuite à 4335 ou 50% de la dimension temporelle. J'apprends juste comment utiliser xarray pour le calcul. Est-ce possible avec xarray?