如何使用另一个日期时间索引获取带有日期时间索引的 Pandas 数据框中的行?

use*_*077 3 python indexing datetime pandas

我有一个带有以下日期时间索引的 Pandas 数据框:

DatetimeIndex(['2020-01-02', '2020-01-03', '2020-01-06', '2020-01-07',
               '2020-01-08', '2020-01-09', '2020-01-10', '2020-01-13',
               '2020-01-14', '2020-01-15',
               ...
               '2020-01-17', '2020-01-21', '2020-01-22', '2020-01-23',
               '2020-01-24', '2020-01-27', '2020-01-28', '2020-01-29',
               '2020-01-30', '2020-01-31'],
              dtype='datetime64[ns]', name='Date', length=49098, freq=None)
Run Code Online (Sandbox Code Playgroud)

我想获取与以下日期时间索引相交的行:

DatetimeIndex(['2020-01-02', '2020-01-03', '2020-01-06', '2020-01-07',
               '2020-01-08', '2020-01-09', '2020-01-10'],
              dtype='datetime64[ns]', name='Date', freq=None)
Run Code Online (Sandbox Code Playgroud)

最自然(又名“Pythonic”)的方法是什么?

jez*_*ael 5

使用Index.intersection

idx = idx1.intersection(idx2)
Run Code Online (Sandbox Code Playgroud)

或者,如果之前未定义索引:

idx = df1.index.intersection(df2.index)
Run Code Online (Sandbox Code Playgroud)