我想分析时间序列数据中的频率模式,但存在一些技术问题。在Pandas中有一个数据框:
Date Label
2017-03-22 15:16:45 20
2017-03-22 16:12:00 15
2017-03-22 22:10:23 20
2017-03-23 17:00:03 11
2017-03-24 10:11:13 20
2017-03-25 14:02:54 20
我想计算“日期”列中每个值之间的值之间的差异,这两个值按标签“20”分组。在我看来,它应该看起来像timedelta列的差异和标签列:
DateDiff Label
0 days 06:53:38 20
1 days 12:00:50 20
1 days 03:51:41 20
如何使用pandas groupby选项?
答案 0 :(得分:3)
让我们使用
df.assign(diff=df.groupby('Label')['Date'].diff()).dropna()
输出:
Date Label diff
2 2017-03-22 22:10:23 20 0 days 06:53:38
4 2017-03-24 10:11:13 20 1 days 12:00:50
5 2017-03-25 14:02:54 20 1 days 03:51:41