在熊猫中使用单独的时间戳列进行最小/最大分组[重复]

Posted

技术标签:

【中文标题】在熊猫中使用单独的时间戳列进行最小/最大分组[重复]【英文标题】:Min/max grouping using separate timestamp columns in pandas [duplicate] 【发布时间】:2021-05-14 21:57:13 【问题描述】:

我有一个 pandas 数据框 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

我的目标是获取每个组grpmin 的最小值和max 的最大值。我试过了:

df.groupby(['grp'])['min'].agg(['min','max']).reset_index()

但这仅按min 的最小值和最大值分组,而我正在寻找每组min 的最小值和max 的最大值。

例如,聚合后,grp 6 的最小值应为 2013-10-13 21:51:21,最大值为 2013-10-15 04:07:45

pandas 中是否有一个简单的解决方案?

【问题讨论】:

【参考方案1】:
df.groupby('grp').agg('min': min, 'max': max)

【讨论】:

以上是关于在熊猫中使用单独的时间戳列进行最小/最大分组[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何从熊猫数据框中的时间戳列中删除时区

使用熊猫对行进行分组并找到平均值[重复]

在熊猫数据框中对重复的列 ID 进行分组

使用熊猫读取带有时间戳列的 csv

如何对熊猫中的多索引进行分组?

熊猫数据框根据名称对列进行分组并应用函数