是否有一种矢量化方法可以从索引最接近列表数据的 pd.DataFrame 中获取数据?

Is there a vectorised way to fetch data from a pd.DataFrame where the index is closest to data from a list?

编辑了合理的数据和预期的输出

我有一个像

这样的数据框
            Fredericksburg A  Fredericksburg K 0-3  Fredericksburg K 3-6
Date                                                                       
2020-01-01               3.0                   0.0                   0.0   
2020-01-02               2.0                   0.0                   1.0   
2020-01-03               6.0                   0.0                   1.0   
2020-01-04               5.0                   NaN                   NaN   
2020-01-05               7.0                   2.0                   1.0

我也有一个时间清单喜欢

[
    "2020-01-01 00:15:46",
    "2020-01-02 06:30:07",
    "2020-01-03 12:19:14",
    "2020-01-04 15:16:21",
    "2020-01-04 05:07:28",
    "2020-01-05 21:47:42",
    "2020-01-06 10:10:42",
]
                       Fredericksburg A  Fredericksburg K 0-3  Fredericksburg K 3-6
Date
2020-01-01 00:15:46                 3.0                   0.0               0.0
2020-01-02 06:30:07                 2.0                   0.0               1.0
2020-01-03 12:19:14                 6.0                   0.0               1.0
2020-01-04 15:16:21                 5.0                   NaN               NaN
2020-01-04 05:07:28                 5.0                   NaN               NaN
2020-01-05 21:47:42                 7.0                   2.0               1.0
2020-01-06 10:10:42                 7.0                   2.0               1.0

有没有办法从数据帧中获取最接近列表中时间的数据? (可能矢量化)

df['Date'] = pd.to_datetime(df['Date'])

df2 = pd.DataFrame([
    "2020-03-16 00:15:46",
    "2020-03-16 00:16:07",
    "2020-03-16 00:16:14",
    "2020-03-16 00:16:21",
    "2020-03-16 00:16:28",
    "2020-03-16 00:16:42",
    "2020-03-16 00:16:56",
    "2020-03-16 00:17:03",
    "2020-03-16 00:17:10",
], columns=['Date'])

df2['Date'] = pd.to_datetime(df2['Date'])

pd.merge_asof(df2, df, on='Date')