我只是想在±1分钟的间隔内合并两个数据帧。
name_df和示例数据集:
Name Date
A 2/19/2019 17:16:15
B 2/19/2019 17:19:46
C 2/19/2019 17:23:03
另一个日期框架job_df:
Job Datestamp
Engineer 2/19/2019 17:15:56
Dancer 2/19/2019 17:19:27
Singer 2/19/2019 17:22:44
这是我尝试实现的方法,但是此方法会错过1分钟另一侧的某些行(例如,<30秒向下四舍五入,> 30向上四舍五入):
name_df['Date&Time'] = name_df['Date&Time'].dt.round('1min')
job_df['Date&Time'] = job_df['Date&Time'].dt.round('1min')
merged_df = pd.merge(name_df, job_df, on='Date&Time')
对此有任何帮助,将不胜感激!
答案 0 :(得分:0)
这是完成您所描述内容的一种潜在方法:
最终,如果要在+/- 1分钟的间隔内对它们进行分组,则可以根据从开始日期还是结束日期和时间开始进行多种选择。如果您有一系列连续的间隔时间,且间隔时间分别少于120秒,则可以通过多种方式将它们组合到+/- 1分钟的括号中。上面的方法可以使您有系统地执行此操作,以防止您描述的某些问题,但最终可能无法完全避免。
话虽如此,尝试一种不同的舍入方法(例如np.floor或np.ceil或它们的等效方法)可能会更容易。决定何时向上取整或何时向下取整似乎有些武断。最后,一旦确定两个时间戳之间的间隔不超过一分钟,则可能需要确定将两个时间戳关联的时间戳。也许使用平均时间可能是一个很好的解决方案。