0
私は衛星と気象モデルから風データのpcolourmeshをプロットしています。値はすべてnetcdfファイルに格納されます。以下では、70または0に等しい値をNaNと置き換えようとしていますが、これはエラーにはなりませんが、NaNも作成されません。nozeros
は元のデータセットと同じサイズです。 70と0Python netcdf - 指定された値を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))
はまた、私がNaNにLandMask> = 0は、これを行うには良い方法がある場合の領域を変換したい?==私は、データを見てきましたし、それが値を持っていますか
おかげ
コメントありがとうございます。値がnetCDFファイルのものであるので 'SARwind_nan = SARwind [:]。copy()'を設定していますが、動作するようです。 –