使用条件对 Pandas 数据框进行分组

Posted

技术标签:

【中文标题】使用条件对 Pandas 数据框进行分组【英文标题】:Grouping Pandas Dataframe with conditions 【发布时间】:2016-09-14 20:30:24 【问题描述】:

我有以下数据集:

我想根据 userid、deviceid 和 ticketid 对数据进行分组。 TicketStartTime 应该是该 Ticketid 的最早条目。 TicketEndTime 应该是该 TicketID 的最新条目。 TicketStatus 应该是与最新的 TicketEndTime 对应的那个。

所需的数据集:

【问题讨论】:

你能展示你的努力吗?所以不是代码编写服务,你也可以发布原始数据,代码来重现你的df 【参考方案1】:

您可以在 groupby 对象上使用agg 方法来选择每列的聚合:

df.groupby(['UserID', 'DeviceID', 'TicketID']).agg(
    'TicketStatus': 'last',
    'TicketStartTime': 'first',
    'TicketEndTime': 'last'
).reset_index()

【讨论】:

以上是关于使用条件对 Pandas 数据框进行分组的主要内容,如果未能解决你的问题,请参考以下文章

通过对不同列使用不同聚合的 pandas 数据框进行分组

使用分类字符串对 pandas 数据框进行分组

按列表列中的元素对 Pandas 数据框进行分组

对 pandas 数据框中的连续值进行分组

Pandas:如何按一组序数值对数据框进行分组?

Python pandas数据框根据条件分组