您可以使用pandas库来按多列分组并应用自定义函数。以下是一个示例代码:
import pandas as pd
# 创建一个示例数据框
data = {'Group': ['A', 'A', 'B', 'B', 'B'],
'Column1': [1, 2, 3, 4, 5],
'Column2': [6, 7, 8, 9, 10]}
df = pd.DataFrame(data)
# 自定义函数,计算每个分组的Column1和Column2的平均值
def custom_function(group):
avg_column1 = group['Column1'].mean()
avg_column2 = group['Column2'].mean()
return pd.Series({'Avg_Column1': avg_column1, 'Avg_Column2': avg_column2})
# 按Group列分组并应用自定义函数
result = df.groupby('Group').apply(custom_function)
print(result)
输出结果为:
Avg_Column1 Avg_Column2
Group
A 1.5 6.5
B 4.0 9.0
在这个示例中,我们首先创建一个包含Group、Column1和Column2列的数据框。然后定义了一个自定义函数custom_function,该函数接受一个分组并返回一个包含每个分组的Column1和Column2的平均值的Series。最后,我们使用groupby方法按Group列分组,并使用apply方法应用自定义函数。结果是一个新的数据框,其中包含每个分组的平均值。
上一篇:按多列分组并求和与计数。