nl
4124 個の測定値を含む配列があるとします。それぞれは、測定が行われた場所を指定する( lat
, ) カップルに関連付けられています。lon
これらの位置はグリッド化されていません。つまり、等間隔の値に整列していません。
In [51]: whos
Variable Type Data/Info
---------------------------------
lat ndarray 4124: 4124 elems, type `float32`, 16496 bytes
lon ndarray 4124: 4124 elems, type `float32`, 16496 bytes
nl ndarray 4124: 4124 elems, type `int16`, 8248 bytes
とを座標としてnl
指定して、 の DataArray を作成します。lat
lon
nl = xr.DataArray(nl, coords={'lon':(['time'], lon), 'lat':(['time'], lat)}, dims=['time'])
たとえば、これらの値を経度または緯度のビンにグループ化して、それらを操作できることを知っています。
nl_avg_lon = nl.groupby_bins('lon', np.r_[-180:190:10]).mean()
nl_avg_lat = nl.groupby_bins('lat', np.r_[-90:90:10]).mean()
私がやりたいのは、経度 x 緯度の 2D ビンの値をグループ化することです。これにより、結果をマップとして表示できます。groupby_bins ではそれができないと思いますが、別の解決策はありますか?
例で更新:
これは、適切なnumpyで私がやりたいことをする方法です:
latbins = np.r_[-90:100:10]
lonbins = np.r_[-180:190:10]
nsamples, xx, yy = np.histogram2d(lon, lat, bins=(lonbins, latbins))
nl_sum, xx, yy = np.histogram2d(lon, lat, bins=(lonbins, latbins), weights=nl)
nl_avg = nl_sum / nsamples
xarray とダッシュの統合を維持するために numpy に頼るのは避けたいと思います。