按列分组,获取另一列的平均值,返回最大值

时间:2021-07-23 16:54:35

标签: python pandas

假设我有一个像这样的熊猫数据框:

exam_data = {'name': ['Anastasia', 'Dima', 'Katherine', 'James', 'Emily', 'Michael', 'Matthew', 'Laura', 'Kevin', 'Jonas'],
'score': [12.5, 9, 16.5, np.nan, 9, 20, 14.5, np.nan, 8, 19],
'attempts': [1, 3, 2, 3, 2, 3, 1, 1, 2, 1],
'qualify': ['yes', 'no', 'yes', 'no', 'no', 'yes', 'yes', 'no', 'no', 'yes']}
labels = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']

我想写一个函数按一列分组,得到每个类别的平均值,然后返回最高的平均值

我目前的做法

avg = df.groupby('attempts')['score'].mean() 
print(avg.max())

我想写这样的东西

def return_max_average(df, category_column, numerical_column): 
  avg = df.groupby('category_column')['numerical_column'].mean() 
  return avg.max()
  

编写此函数的最佳方法是什么?

0 个答案:

没有答案