netCDF
ファイルから指定された緯度と経度を抽出します。過去に私はデータの抽出に問題は一度もありませんでした。指定された緯度と経度を抽出するときのインデックスの問題
us_lat = n.ravel(n.where((lat>=___)&(lat<=___)))
us_lon = n.ravel(n.where((lon>=___)&(lon<=___)))
us_annual_temp = n.nanmean(air_temp[:,us_lat, us_lon],0)
この時間:私は以前、私は次の操作を行うことができました
data = netCDF4.Dataset('/home/eburrows/metr173/regional_cm/Lab1/air.mon.mean.nc', mode = 'r')
lat = data.variables['lat'][:] #90 through -90
lon = data.variables['lon'][:] #0 through 360
air_temp = data.variables['air'][:] #degrees C
air_temp[air_temp>10000] = n.NaN
(下記参照)私は違った自分のデータを読み込むので、それは、この時間は働いていない理由があると仮定していますしかし、それはlist indices must be integers, not tuple
というType Error
を返しています。
私はその後list(n.ravel(n.where(...))
を持っているus_lat
とus_lon
を変更することにより、list
にtuple
を余儀なくが、それはまだ同じエラーを返します。過去に私はこの方法でインデックスを作成することができましたが、今度はなぜこれが動作していないのか完全にはわかりません。
残念ながら、これらの変更では、同じエラーメッセージが返されました。私もravelやlist関数を使わずに試しましたが、どちらのオプションもうまくいきませんでした。私が試した他の試みは次のようになります:us_lat = list(n.ravel(n.where((lat> = ____)&(lat <= ___))[0]))またはus_lat = n.ravel (lat> = ____)&(lat <= ___))[0]) –
'lat_us'と' lon_us'の結果はどうですか?それらはインデックスの配列でなければなりません。これは 'type(lat_us)'でチェックすることができ、 '' –
N1B4
を返す必要があります。他のバグを修正した後、コード内で型が返されます