如何从两个 3D 数据集(时间、纬度、经度)的同一日期提取数据?

How to extract the data from the same date of two 3D datasets (time, lat, lon)?

我有两个 NetCDF 文件:

Data1.shape = (177, 180, 360) 
Data2.shape = (179, 180, 360))

Date1=  {list: 177}['2002-04', '2002-05', '2002-06', … ]
Date2 = {list: 179}['2002-04', '2002-05', '2002-08', … ]

我只想 filter/extract 那些与 Date1 匹配的数据。

我应该提到两个 NetCDF 文件的日期格式不同,我将它们更改为一致。

我尝试了groupby、Timestamp、读取给定索引的文件到时间等不同的方式。但是,我发现它们不适用于 3D 数据(时间、经度、纬度)。

已解决:

data1 = xr.open_dataset('path\to\my\data\data_1.nc4')

<xarray.Dataset>
Dimensions:                (lat: 180, lon: 360, time: 212)
Coordinates:
  * time                   (time) datetime64[ns] 2002-04-01 ... 2019-11-01
  * lon                    (lon) float32 -179.5 -178.5 -177.5 ... 178.5 179.5
  * lat                    (lat) float32 89.5 88.5 87.5 ... -87.5 -88.5 -89.5

Data variables:
Evap_tavg              (time, lat, lon) float32 ...

读取第二条数据。

data2 = xr.open_dataset('path\to\my\data\data_2.nc4')

 <xarray.Dataset>
    Dimensions:                (lat: 180, lon: 360, time: 212)
    Coordinates:
      * time                   (time) datetime64[ns] 2003-01-01 ... 2016-12-01
      * lon                    (lon) float32 -179.5 -178.5 -177.5 ... 178.5 179.5
      * lat                    (lat) float32 89.5 88.5 87.5 ... -87.5 -88.5 -89.5

    Data variables:
    Evap              (time, lat, lon) float32 ...

他们有一些共同的数据 date/time,我们想从相似的 date/time 中提取这些数据。

my_new_data =  data1.where(data1['time'].isin(data2['time']),  drop=True)