4124 측정을 포함하는 nl
배열이 있다고 가정 해보십시오. 각각은 측정이 발생한 위치를 지정하는 (lat
, lon
) 부부와 연관됩니다. 이 위치는 그리드 화되지 않습니다. 즉, 일정한 간격의 값으로 정렬되지 않습니다.두 변수에 groupby_bins?
nl = xr.DataArray(nl, coords={'lon':(['time'], lon), 'lat':(['time'], lat)}, dims=['time'])
가 나는 그룹 경도 나 위도의 쓰레기통에서 이러한 값이이 값에서 작동하도록 할 수 있습니다 알고 예를
를 들어, : 좌표로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
나는
lat
및
lon
를 지정
nl
에 대한 DataArray를 만들
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이 그렇게 할 수 있다고 생각하지 않습니다. 또 다른 해결책이 있습니까? 예와
업데이트 :
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와에 의존하지 않도록하고 싶습니다 :
이 내가 NumPy와 적절한으로 원하는 것을 할 거라고 어떻게 .
나는 잘 모르겠다. 새로운 차원에서'lat'와'lon'을 연결하도록 제안 하시겠습니까? 또는'nx' 차원을 따라? 두 경우 모두 새로 작성한 좌표의 치수가'nl' 변수의 치수와 호환되지 않는다고 생각합니다. 내가 오해하니? –
'nl' 변수는 2 차원이 아니므로주의하십시오. 고유 한 특성 항목 (예 : 시간)이 있습니다. 해당 차원의 모든 nl 점은 위도와 경도와 연관됩니다. 위의'nl' 예제에서'lat'와'lon' 좌표는 병렬입니다. –
예제를 추가했는데 더 합리적인가? – Maximilian