我有一个不同时间段的数据集。我想按id和时间段对它进行分组,但是:我不知道,每个时间段有多长,或者什么时候开始。我肯定知道一件事:当两个时间戳之间的差值大于两分钟时,一个新的时间段开始了。你知道吗
示例:这里有两个时间段:
05:36:07
到05:36:42
21:54:16
到21:54:37
数据:
id,timestamp,value
00b0f3,2018-05-21 05:36:07,4
00b0f3,2018-05-21 05:36:14,6
00b0f3,2018-05-21 05:36:24,2
00b0f3,2018-05-21 05:36:40,1
00b0f3,2018-05-21 05:36:42,6
00b0f3,2018-05-21 21:54:16,3
00b0f3,2018-05-21 21:54:27,2
00b0f3,2018-05-21 21:54:30,6
00b0f3,2018-05-21 21:54:34,4
00b0f3,2018-05-21 21:54:37,9
结果应该是:
id,timeserie,value
00b0f3,1,19
00b0f3,2,24
有没有熊猫的助手,能让我在两个时间间隔内检测出最大的时间段?你知道吗
谢谢!你知道吗
尝试对
groupby
使用cumsum
和布尔测试条件:输出:
可以按如下方式使用
groupby
和pd.Grouper
:结果是:
如果要将
id
作为单独的列,可以在代码行下面运行:结果
DataFrame
将是:注意
我将您的数据粘贴到
csv
文件中,然后导入它并创建DataFrame
,如下所示:相关问题 更多 >
编程相关推荐