在Pandas中,可以使用groupby
函数按列分组,并通过apply
函数对其他列应用函数。下面是一个示例代码:
import pandas as pd
# 创建示例数据
data = {
'Group': ['A', 'A', 'B', 'B', 'B'],
'Value1': [1, 2, 3, 4, 5],
'Value2': [6, 7, 8, 9, 10]
}
df = pd.DataFrame(data)
# 定义要应用的函数
def custom_function(group):
return group['Value1'].sum() + group['Value2'].mean()
# 按Group列分组,并对其他列应用自定义函数
result = df.groupby('Group').apply(custom_function)
print(result)
输出结果:
Group
A 8.0
B 18.0
dtype: float64
在这个示例中,首先创建了一个包含Group、Value1和Value2列的DataFrame。然后定义了一个自定义函数custom_function
,该函数接收一个分组作为参数,并返回对应分组的计算结果。最后,使用groupby
函数按Group列分组,并使用apply
函数将自定义函数应用到其他列上,得到了分组后的计算结果。