【发布时间】:2018-07-24 21:45:30
【问题描述】:
df1:
tID sID dID date1 date2
1234 4321 5432 7/12 8/13
7890 5688 4567 8/21 9/30
df2:
sID dID date3
4321 5432 7/20
5688 4567 9/15
如果:
-
date3介于date1和date2之间 -
sID是一样的 -
dID是一样的
df3:
tID sID dID date3
1234 4321 5432 7/20
7890 5688 4567 9/15
我的第一个想法是遍历两个数据帧并使用 if 语句,但这似乎不是一种有效的方法。
任何帮助将不胜感激。
【问题讨论】:
-
df2 dID
8/21是错字吗?或者身份证是在那里的一个日期?还必须满足所有 3 个条件还是只满足一个? -
是的,对不起!更新
-
@madsthaks 你没有更新
df3。另外,您没有回答有关条件的问题。 -
@DennisGolomazov 在这里大胆猜测一下,因为第二行的 sID 似乎不匹配。也可能是错字,也许该行以某种方式向左移动了?
-
三个都需要满足
标签: python pandas dataframe merge