如何在 pandas groupby 对象上调用不同的聚合操作

Posted

技术标签:

【中文标题】如何在 pandas groupby 对象上调用不同的聚合操作【英文标题】:How can you call different aggregate operations on pandas groubpy object 【发布时间】:2020-11-02 18:38:35 【问题描述】:
df.groupby("home_team_name")["home_team_goal_count","away_team_goal_count"].sum()

我想根据变量home_team_name 对我的数据框中的示例进行分组我想对不同的属性执行不同的操作。我想对其中一个求和,对其中一个求和,对另一个求和。

到目前为止,我只知道如何对它们执行相同的操作,就像在我的代码示例中一样。

【问题讨论】:

【参考方案1】:

你可以这样做:

import numpy as np
df.groupby("home_team_name").agg('home_team_goal_count': sum,
                                  'away_team_goal_count': np.mean)

参考documentation中的更多示例

要获得last 值,您可以这样做:

df.groupby("home_team_name").agg('home_team_goal_count': 'last',
                                      'away_team_goal_count': 'last')

【讨论】:

谢谢。你应该做什么来获取组中列的最后一个示例。最后,我指的是它在原始数据框中的位置。 正确,谢谢。

以上是关于如何在 pandas groupby 对象上调用不同的聚合操作的主要内容,如果未能解决你的问题,请参考以下文章

如何在 pandas groupby 对象上应用函数并将结果保存回父数据框的新列?

Pandas 在 GroupBy 对象上应用 sort_values 不会返回分组的 DataFrame

如何在 Pandas 中创建多索引

如何对不同长度的 Python Pandas groupby 对象进行切片?

Pandas | 18 GroupBy 分组

Python pandas:替换 groupby 对象中的选择值