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

3
我有一个带以下日期时间索引的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)

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

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)

什么是最自然的(也就是“Pythonic”)方法来完成它?
1个回答

5
使用 Index.intersection:
idx = idx1.intersection(idx2)

或者,如果索引之前没有被定义:
idx = df1.index.intersection(df2.index)

为您服务。 - Celius Stingher
这是如何获取两个DateTimeIndex的交集作为DateTimeIndex。但是如何获取原始数据框中的行(这是最初的问题)?df.loc[idx]给我一个比原始df更多行的数据框。我的原始df有多个相同日期的出现。 - Matti
@jezrael 我知道你很快,但我不知道你这么快!是的,它有效。 - Matti
1
谢谢@jezrael!我花了将近一个小时寻找干净的答案。 - jerrylogansquare

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接