按10分钟间隔对 vpn下载 pandas 数据帧进行分组

2024-08-22Python开发问题
11

免费vpn 免费vpn 免费vpn 本文介绍了按10分钟间隔对 pandas 数据帧进行分组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧! 免费vpn下载 vpn free 免费vpn free vpn

问题描述

给定以下 pandas 数据帧:

            timestamp
0     2018-10-05 23:07:02
1     2018-10-05 23:07:13
2     2018-10-05 23:07:23
3   免费vpn 免费vpn下载   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 免费vpn     2018-10-05 23:09:47
9     2018-10-05 23:10:01
10    2018-10-05 23:10:11
11 vpn下载    2018-10-05 23:10:23
12    vpn下载 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  vpn下载   2018-10-08 03:37:16
17  vpn free  免费vpn下载  vpn下载 2018-10-08 03:38:04
18    2018-10-08 03:38:30
19    vpn free 2018-10-08 03:38:36
20 free vpn    2018-10-08 03:38:42
21    2018-10-08 免费vpn free vpn 03:38:52
22    free vpn 2018-10-08 03:38:57
23    免费vpn 2018-10-08 03:39:10
24 免费vpn下载    2018-10-08 03:39:27
25    2018-10-08 03:40:47
26    2018-10-08 03:40:54
27  free vpn   vpn下载 免费vpn 2018-10-08 03:41:02
28    2018-10-08 免费vpn下载 03:41:12
29    vpn free 2018-10-08 03:41:32
如何在每行10分钟的时间段内进行标记?例如:
            timestamp       10min_period
0     2018-10-05 23:07:02   period_1
2    vpn下载  2018-10-05 23:07:23   period_1
1   免费vpn   2018-10-05 23:07:13   period_1
2     2018-10-05 23:07:23   period_1
3     2018-10-05 23:07:36   period_1
4 vpn free     2018-10-05 23:08:02   period_1
5     2018-10-05 23:09:16   period_1
6     2018-10-05 23:09:21   period_1
7     2018-10-05 23:09:39  免费vpn  period_1
8   vpn free   vpn下载 2018-10-05 23:09:47   period_1
9     2018-10-05 23:10:01   period_1
10 免费vpn下载    2018-10-05 23:10:11   period_1
11    2018-10-05 23:10:23   period_1
12    2018-10-05 23:10:59   period_1
13    2018-10-05 vpn free 23:11:03   period_1
14    2018-10-08 03:35:32   period_2
15    vpn free 2018-10-08 03:35:58   period_2
16    2018-10-08 vpn下载 03:37:16   period_2
17    2018-10-08 03:38:04   period_2
18    2018-10-08 03:38:30   period_2
19    2018-10-08 03:38:36  vpn下载  period_2
20  vpn free   2018-10-08 03:38:42   period_2
21    vpn下载 2018-10-08 03:38:52   period_2
22    免费vpn下载 2018-10-08 03:38:57   period_2
23    2018-10-08 03:39:10   period_2
24 免费vpn    免费vpn下载 vpn free 2018-10-08 vpn free 03:39:27   period_2
25    2018-10-08 03:40:47   period_2
26    2018-10-08 04:40:54   period_3
27    2018-10-08 04:41:02   period_3
28    2018-10-08 04:41:12   period_3
29    2018-10-08 04:41:32   period_3
正如您在上面的预期输出中看到的,每个period_n标签都是通过计算10分钟的时间段来创建的,当日期时间序列超过10分钟的阈值时,就会创建一个新的标签。我尝试使用dt.floor(10Min)对象,但是,它不起作用,因为它没有记录从哪里开始,从哪里结束,计算10分钟的时间。我也试着:

a = df['timestamp'].offsets.DateOffset(minutes=10)

然而,它不起作用。你知道如何将我的df分割成10分钟的时间段吗?这项质询与其他质询不同,因为我没有指明何时开始计算。也就是说,我从第一个DateTime行实例开始计数,并从该实例开始计算10个时间分钟的周期。

更新:

转换为DateTime对象后,我还尝试

df['timestamp'].groupby(pd.TimeGrouper(freq='10Min'))

但是,我收到了:

TypeError: Only valid with DatetimeIndex, TimedeltaIndex or PeriodIndex, vpn下载 免费vpn but got an instance of 'RangeIndex'

推荐答案

df['timestamp'] = pd.to_datetime(df['timestamp'])
diffs = df['timestamp'] - df['timestamp'].shift()
laps = diffs > pd.Timedelta('10 min')
periods = laps.cumsum().apply(lambda x: 'period_{}'.format(x+1))
df['10min_period'] = periods

这篇关于按10分钟间隔对 pandas 数据帧进行分组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

在xarray中按单个维度的多个坐标分组
groupby multiple coords free 免费vpn vpn along a single dimension vpn下载 in xarray(在xarray中按单个维度的多个坐标分组)...
2024-08-22 免费vpn Python开发问题
15

Pandas中的GROUP BY AND SUM不丢失列
Group vpn下载 by and Sum in Pandas without losing columns(Pandas中的GROUP BY AND SUM不丢失列)...
2024-08-22 Python开发问题
17

pandas 有从特定日期开始的按月分组的方式吗?
Is there a way of group by month in Pandas starting at specific day number?( pandas 有从特定日期开始的按月分组的方式吗?)...
2024-08-22 free vpn Python开发问题
10

GROUP BY+新列+基于条件的前一行抓取值
Group by + New Column + Grab vpn free value former row based on conditionals(GROUP BY+新列+基于条件的前一行抓取值)...
2024-08-22 Python开发问题
vpn下载 18

PANDA中的Groupby算法和插值算法
Groupby and interpolate in Pandas(PANDA中的Groupby算法和插值算法)...
2024-08-22 Python开发问题
11

PANAS-基于列对行进行分组,并将NaN替换为非空值
Pandas - Group Rows based on a column and replace NaN with non-null values(PANAS-基于列对行进行分组,并将NaN替换为非空值)...
2024-08-22 Python开发问题
10