[英]xarray - Merge multiple DataArray objects with overlapping or missing time coordinates
我有多個 netCDF 文件,它們使用具有三個維度 [ time
、 latitude
、 longitude
]的 xarray 加載到 DataArray 對象中。
latitude
和longitude
坐標是相同的,而有些在time
維度上有重疊或缺失的坐標。
**da1**:
time (time) datetime64[ns] 2017-10-03T18:00:00 ... 2017-10-...
array(['2017-10-03T18:00:00.000000000', '2017-10-03T19:00:00.000000000',
'2017-10-03T20:00:00.000000000', '2017-10-03T21:00:00.000000000',
'2017-10-03T22:00:00.000000000', '2017-10-03T23:00:00.000000000',
'2017-10-04T00:00:00.000000000', '2017-10-04T01:00:00.000000000',
'2017-10-04T02:00:00.000000000', '2017-10-04T03:00:00.000000000',
'2017-10-04T04:00:00.000000000', '2017-10-04T05:00:00.000000000',
'2017-10-04T06:00:00.000000000', '2017-10-04T07:00:00.000000000',
'2017-10-04T08:00:00.000000000', '2017-10-04T09:00:00.000000000',
'2017-10-04T10:00:00.000000000', '2017-10-04T11:00:00.000000000',
'2017-10-04T12:00:00.000000000', '2017-10-04T13:00:00.000000000',
'2017-10-04T14:00:00.000000000', '2017-10-04T15:00:00.000000000',
'2017-10-04T16:00:00.000000000', '2017-10-04T17:00:00.000000000',
'2017-10-04T18:00:00.000000000', '2017-10-04T19:00:00.000000000'],
dtype='datetime64[ns]')
**d2**:
time
(time)
datetime64[ns]
2017-10-04T13:00:00 ... 2017-10-...
array(['2017-10-04T13:00:00.000000000', '2017-10-04T14:00:00.000000000',
'2017-10-04T15:00:00.000000000', '2017-10-04T16:00:00.000000000',
'2017-10-04T17:00:00.000000000', '2017-10-04T18:00:00.000000000',
'2017-10-04T19:00:00.000000000', '2017-10-04T20:00:00.000000000',
'2017-10-04T21:00:00.000000000', '2017-10-04T22:00:00.000000000',
'2017-10-04T23:00:00.000000000', '2017-10-05T00:00:00.000000000',
'2017-10-05T01:00:00.000000000', '2017-10-05T02:00:00.000000000',
'2017-10-05T03:00:00.000000000', '2017-10-05T04:00:00.000000000',
'2017-10-05T05:00:00.000000000', '2017-10-05T06:00:00.000000000',
'2017-10-05T07:00:00.000000000', '2017-10-05T08:00:00.000000000',
'2017-10-05T09:00:00.000000000', '2017-10-05T10:00:00.000000000',
'2017-10-05T11:00:00.000000000', '2017-10-05T12:00:00.000000000',
'2017-10-05T13:00:00.000000000', '2017-10-05T14:00:00.000000000'],
dtype='datetime64[ns]')
我想按time
坐標運行“concat”或“merge”或“combine”它們。 時間坐標將從“2017-10-03T18:00:00.000000000”到“2017-10-05T14:00:00.000000000”。 在出現重疊坐標的地方使用較新的值。 例如,使用da2
中的值,其中 time = '2017-10-04T13:00:00.000000000'。 如果輸入 DataArray 對象中缺少time
坐標,請使用nan
。
我試過:
da_merged = xr.merge([da2, da1], compat="override")
但我最終得到了da1
中時間坐標的一大堆nan
值。 我可以告訴我應該使用哪些方法/參數嗎
我希望你解決了它,但對我來說它只是做:
da_merged=xr.Dataset()
file_paths_list =[da1,da2]
for file in file_paths_list:
da_merged = xr.merge([da_merged,xr.open_mfdataset(file)],compat='override')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.