簡體   English   中英

"xarray - 合並具有重疊或缺失時間坐標的多個 DataArray 對象"

[英]xarray - Merge multiple DataArray objects with overlapping or missing time coordinates

我有多個 netCDF 文件,它們使用具有三個維度 [ timelatitudelongitude ]的 xarray 加載到 DataArray 對象中。

latitudelongitude坐標是相同的,而有些在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM