我有两个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循环?
提前感谢您的帮助!
答案 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