我想将两个数据框连接在一起,两个数据框都有日期列(df1[date1]
,df2[date2]
)。我希望加入的数据框满足此条件df2[date2] > df1[date1]
。第二个数据帧没有任何重复项,但第一个数据帧有重复项,因此无法按预期工作:
我可以肯定地知道,对于df2中的每个日期,df1中都有一个满足此条件的日期。但是我不知道如何正确地加入他们。我尝试这样做:
joined = df1.join(df2, how='inner')
joined = joined.query('date2 > date1')
但是由于df1的条目具有重复的ID,所以它们在连接后对齐的方式导致一堆不满足条件的行,所以我剩下的数据库较小。 我该怎么做?
答案 0 :(得分:1)
根据您的天赋,我建议采取以下解决方案:
1)concatenate
(不是join
)两个数据帧。
df12 = pd.concat([df1, df2], axis=1)
我认为索引匹配。如果不是,请在ID上重新索引,或者在ID上join
重新索引。
2)过滤符合条件的行
df12 = df12[df12['date2'] > df12['date1]]