编写应用于Pandas GroupBy的函数的解决方法如下:
import pandas as pd
# 创建一个示例数据集
data = {'Name': ['Tom', 'Nick', 'John', 'Tom', 'Nick', 'John'],
'Subject': ['Math', 'English', 'Math', 'English', 'Math', 'English'],
'Grade': [85, 90, 92, 78, 80, 85]}
df = pd.DataFrame(data)
def custom_function(group):
# 对每个组进行自定义操作
average_grade = group['Grade'].mean()
max_grade = group['Grade'].max()
# 返回自定义操作的结果
return pd.Series({'Average Grade': average_grade, 'Max Grade': max_grade})
# 按照学科进行分组
grouped_df = df.groupby('Subject')
# 应用自定义函数
result = grouped_df.apply(custom_function)
# 显示结果
print(result)
运行结果将显示每个学科的平均成绩和最高成绩:
Average Grade Max Grade
Subject
English 84.333333 90
Math 85.666667 92
这样,你就可以定义自己的函数,并将其应用于Pandas GroupBy对象,以对每个组执行自定义操作。