Ich zeichne pcolourmesh von Winddaten von Satelliten und von einem Wettermodell. Die Werte sind alle in einer netcdf-Datei gespeichert. Im Folgenden versuche ich, Werte gleich 70 oder 0 durch NaN zu ersetzen, dies ergibt keinen Fehler, aber es erzeugt auch keine NaNs, nozeros
hat die gleiche Größe wie der ursprüngliche Datensatz. Ich habe an der Daten geschaut und es tut Werte == 70 und 0.Python netcdf - konvertiert die angegebenen Werte in 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))
Auch möchte ich Bereiche konvertieren, wo LandMask> = 0 in NaN, gibt es einen besseren Weg, dies zu tun?
Dank
Danke für die Kommentare. Ich habe 'SARwind_nan = SARwind [:] .copy() 'gesetzt, da die Werte aus der netCDF-Datei stammen, scheint es zu funktionieren. –