Je suis en train de tracer la couleur des données de vent des satellites et d'un modèle météorologique. Les valeurs sont toutes stockées dans un fichier netcdf. Ci-dessous, j'essaie de remplacer les valeurs égales à 70 ou à 0 par NaN, cela ne donne pas d'erreur mais ne crée pas de NaN non plus, nozeros
a la même taille que l'ensemble de données original. Je l'ai regardé les données et elle a des valeurs == 70 et 0.Python netcdf - convertir les valeurs spécifiées en NaN
import netCDF4 as nc
import numpy as np
import matplotlib.pyplot as plt
import csv as cs
import pandas as pd
ncfile = nc.Dataset('C:\Users\mmso2\Google Drive\ENVI_I-PAC_2007_10_21_21_22_47.nc')
SARwind = ncfile.variables['sar_wind']
ModelWind = ncfile.variables['model_speed']
LON = ncfile.variables['longitude']
LAT = ncfile.variables['latitude']
LandMask = ncfile.variables['mask']
#clean the data of values = 70
SARwind_nan = SARwind
for i in SARwind_nan:
if i.any() == 70:
i = np.nan
elif i.any()==0:
i = np.nan
nozeros=np.count_nonzero(~np.isnan(SARwind_nan))
, je veux également convertir les zones où LandMask> = 0 dans NaN, est-il une meilleure façon de le faire?
Merci
Merci pour les commentaires. J'ai réglé 'SARwind_nan = SARwind [:]. Copy()' car les valeurs proviennent du fichier netCDF, cela semble fonctionner. –