我有两个数据集:
df1 和 df2,如果日期时间在 df2 的 20 秒内,我希望列从 df1 合并在一起
df1
Connect Ended
4/6/2020 1:15:21 PM 4/6/2020 2:05:18 PM
3/31/2020 11:00:08 AM 3/31/2020 11:00:10 AM
4/1/2020 10:00:05 PM 4/1/2020 12:00:05 PM
df2
Start End
4/6/2020 1:15:21 PM 4/6/2020 2:05:18 PM
3/31/2020 11:00:10 AM 3/31/2020 11:00:14 AM
期望的输出:
df3
Match_Start1 Match_End1 Match_Start2 Match_End2
4/6/2020 1:15:21 PM 4/6/2020 2:05:18 PM 4/6/2020 1:15:21 PM 4/6/2020 2:05:18 PM
3/31/2020 11:00:08 AM 3/31/2020 11:00:10 AM 3/31/2020 11:00:10 AM 3/31/2020 11:00:14 AM
df4(不匹配)
Unmatched_Start Unmatched_end
4/1/2020 10:00:05 PM 4/1/2020 12:00:05 PM
输入:
df1
:
' Connect Ended\n0 4/6/2020 1:15:21 PM 4/6/2020 2:05:18 PM\n1
3/31/2020 11:08:08 AM 3/31/2020 11:00:10 AM\n2 4/1/2020 10:00:05 PM 4/1/2020 12:00:05 PM'
df2
Out[117]:
' Start End\n0 4/6/2020 1:15:21 PM 4/6/2020 2:05:18 PM\n1
3/31/2020 11:08:08 AM 3/31/2020 11:00:14 AM\n2 NaN NaN'
我在想什么:
df2 = pd.merge_asof(df1, df2, on="Connect", by = "Ended",
tolerance=pd.Timedelta('20s'), direction='backward')
但是,如何合并 20 秒的条件,以及显示不匹配的数据集?
任何建议表示赞赏
宝慕林4294392
温温酱
随时随地看视频慕课网APP
相关分类