Groupby使用2种不同的函数语法

时间:2019-01-08 00:02:09

标签: python pandas pandas-groupby

我正在使用以下语句,该语句可以很好地对NBA Analytics项目中Team和Year的某些列进行总计。

nba_df =pd.DataFrame(bball_data.groupby(['Tm', 'Year'], as_index = False)['BPM_A', 'WORP', 'VORP', 'PER'].sum())

我也想包括平均年龄,但似乎无法弄清楚语法。

以下语句本身可以正常工作,但仅返回平均年龄,而不返回其他总和:

nba_df =pd.DataFrame(bball_data.groupby(['Tm', 'Year'], as_index = False)['Age'].mean())

基本上,我需要一种方法来组合2。

1 个答案:

答案 0 :(得分:1)

您可以使用agg

nba_df = pd.DataFrame(bball_data.groupby(['Tm', 'Year'], as_index=False).agg(
    {'BPM_A': 'sum', 'WORP': 'sum', 'VORP': 'sum', 'PER': 'sum', 'Age': 'mean'}))