【发布时间】:2015-04-22 15:21:02
【问题描述】:
我有一个带有日期列的数据框,我想将它与另一个合并,但不是在该列的匹配项上,但如果日期列在第二个数据框的两列之间。
我相信我可以通过在第一个上使用 apply 来根据这些标准过滤第二个然后结合结果来实现这一点,但实际上 apply 是一种非常缓慢的处理方式。
有没有办法将匹配合并为 BETWEEN 而不是精确匹配。
示例数据框:
,Code,Description,BeginDate,EndDate,RefSessionTypeId,OrganizationCalendarId
0,2014-2015,School Year: 2014-2015,2014-08-18 00:00:00.000,2015-08-01 00:00:00.000,1,3
1,2012-2013,School Year: 2012-2013,2012-09-01 00:00:00.000,2013-08-16 00:00:00.000,1,2
2,2013-2014,School Year: 2013-2014,2013-08-19 00:00:00.000,2014-08-17 00:00:00.000,1,1
我希望在日期 BETWEEN(BeginDate, EndDate) 上匹配,而不是在 date=BeginDate 或 date=EndDate 上进行合并
【问题讨论】:
-
你能添加几行数据和预期的输出吗?
标签: python pandas merge between