合并两个datetime-indexed pandas.dataframe对象

时间:2016-07-05 15:07:22

标签: python pandas

我有两个datetime-indexed pandas.dataframe对象:

object1:

 DateTime                     Bid.ESU6  Ask.ESU6
 2016-06-28 08:30:00          207000    207025   
 2016-06-28 08:30:11          206975    207000   
 2016-06-28 08:30:21          207000    207050  

Object2的:

 DateTime                     Bid.YMU6  Ask.YMU6
 2016-06-28 08:30:00          12793     12795
 2016-06-28 08:30:02          12793     12795
 2016-06-28 08:30:05          12794     12796
 2016-06-28 08:30:08          12793     12794
 2016-06-28 08:30:10          12792     12794
 2016-06-28 08:30:15          12792     12795
 2016-06-28 08:30:22          12794     12797

我想合并这两个数据框对象,但只包含来自object1的日期。我想在object1中创建与object2最接近的日期时间对应的新列。在上面的示例中,我希望输出以下内容:

 DateTime                     Bid.ESU6  Ask.ESU6  Bid.YMU6  Ask.YMU6
 2016-06-28 08:30:00          207000    207025    12793     12795
 2016-06-28 08:30:11          206975    207000    12792     12794
 2016-06-28 08:30:21          207000    207050    12794     12797

有没有一种简单的方法可以做到这一点,而不必从object1的每一行进行for循环?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

在执行object2之前,您可以method='nearest'join使用reindex

object1 = object1.join(object2.reindex(object1.index, method='nearest'))

结果输出:

                     Bid.ESU6  Ask.ESU6  Bid.YMU6  Ask.YMU6
DateTime                                                   
2016-06-28 08:30:00    207000    207025     12793     12795
2016-06-28 08:30:11    206975    207000     12792     12794
2016-06-28 08:30:21    207000    207050     12794     12797