我有一个熊猫数据框df
重叠的时间跨度看起来像这样:
min max grp
0 2013-06-19 18:49:37 2013-06-19 18:49:37 1
0 2013-06-19 18:49:37 2014-07-26 13:56:24 1
1 2013-07-16 03:05:57 2013-07-17 13:11:57 2
2 2013-08-01 03:26:35 2013-08-01 03:26:35 3
1 2013-08-19 06:20:32 2013-08-20 02:32:19 4
3 2013-08-19 07:04:34 2013-08-20 02:01:36 4
2 2013-09-14 09:08:47 2017-06-19 20:11:32 5
4 2013-09-14 22:11:48 2013-09-15 02:14:49 5
5 2013-10-13 21:51:21 2013-10-13 21:51:21 6
6 2013-10-14 03:41:18 2013-10-15 03:17:31 6
3 2013-10-15 03:17:31 2013-10-15 03:17:31 6
7 2013-10-15 04:07:45 2013-10-15 04:07:45 6
8 2013-11-03 07:03:55 2013-11-03 07:03:55 7
9 2013-11-22 02:06:16 2013-11-22 02:06:16 8
10 2013-11-22 02:31:07 2013-11-22 02:31:07 8
我的目标是得到grp
组min
的最小值和max
的最大值。我试过了:
df.groupby(['grp'])['min'].agg(['min','max']).reset_index()
但这只是通过min
的最小和最大分组,而我正在寻找min
的最小值和max
的最大值。
例如,聚合后,grp6的最小值为2013-10-13 21:51:21
,最大值为2013-10-15 04:07:45
有一个简单的解决方案吗?
df.groupby('grp').agg({'min': min, 'max': max})