给出以下pandas数据帧:timestamp
0 2018-10-05 23:07:02
1 2018-10-05 23:07:13
2 2018-10-05 23:07:23
3 2018-10-05 23:07:36
4 2018-10-05 23:08:02
5 2018-10-05 23:09:16
6 2018-10-05 23:09:21
7 2018-10-05 23:09:39
8 2018-10-05 23:09:47
9 2018-10-05 23:10:01
10 2018-10-05 23:10:11
11 2018-10-05 23:10:23
12 2018-10-05 23:10:59
13 2018-10-05 23:11:03
14 2018-10-08 03:35:32
15 2018-10-08 03:35:58
16 2018-10-08 03:37:16
17 2018-10-08 03:38:04
18 2018-10-08 03:38:30
19 2018-10-08 03:38:36
20 2018-10-08 03:38:42
21 2018-10-08 03:38:52
22 2018-10-08 03:38:57
23 2018-10-08 03:39:10
24 2018-10-08 03:39:27
25 2018-10-08 03:40:47
26 2018-10-08 03:40:54
27 2018-10-08 03:41:02
28 2018-10-08 03:41:12
29 2018-10-08 03:41:32
如何以每行10分钟的周期来标记?例如:
^{pr2}$
正如您在上面预期的输出中看到的,每个period_n标签是通过计算10分钟的时间段来创建的,当日期时间序列超过10分钟的阈值时,将创建一个新的标签。我尝试使用dt.floor(10Min)对象,但是它不起作用,因为它不记录从哪里开始,从哪里结束计算10分钟的周期。我还试图:
a = df['timestamp'].offsets.DateOffset(minutes=10)
然而,这并不奏效。你知道如何在10分钟内分割我的测向吗?这个问题与其他问题不同,因为我没有指定开始计算的具体时间。也就是说,我从第一个datetime行实例开始计数,然后开始计算10个时间分钟的周期。在
更新:
在转换到datetime对象之后,我还尝试
df['timestamp'].groupby(pd.TimeGrouper(freq='10Min'))
但是,我得到了:TypeError: Only valid with DatetimeIndex, TimedeltaIndex or PeriodIndex, but got an instance of 'RangeIndex'