有没有一种方法可以通过指定时间范围将两个表在时间列上的熊猫中连接在一起?

时间:2018-12-18 01:12:46

标签: python pandas

说我有两个数据帧df1和df2。它们都有格式为

的列
Date/Time
01-06-2013 23:00:00
02-06-2013 01:00:00
02-06-2013 21:00:00
02-06-2013 22:00:00
02-06-2013 23:00:00

我想要一个功能

join_temporal(range=<num>, unit= <"seconds" xor "minutes" xor "hours" xor "days">, df1, df2)

所以如果我打电话

join_temporal(range=3, unit="days", df1, df2)

我将3天范围内的行合并在一起。

如果我打电话

join_temporal(range=2, unit="hours", df1, df2)

我加入了2小时范围内的行。

是否有一些好的熊猫选项可以帮助实现join_temporal函数?

1 个答案:

答案 0 :(得分:0)

我想不出任何可以执行此操作的内置方法。我的建议是创建一个新列,其中包含以较小粒度形式(即天或小时)表示的日期时间。如果要舍入到固定频率,请使用round。否则,DateOffset应该可以帮助您找到最近的日期/月份/年份。然后,您可以从此处使用groupby聚集在该列上。

由于您没有提供和采样数据,因此我不太确定“连接”行的含义。取决于此,可能会有更好的解决方案。这还取决于是否有任何一组的最大大小。