是指在对数据进行分组后,使用agg方法对每个分组应用自定义的聚合函数。
在pandas中,groupby方法用于将数据按照指定的列或条件进行分组。而agg方法则用于对每个分组应用聚合函数,例如求和、平均值、最大值等。
在agg方法中传递函数可以有多种方式,包括传递内置的聚合函数、自定义的聚合函数以及多个聚合函数的组合。
示例代码:
import pandas as pd
# 创建DataFrame
data = {'Name': ['Tom', 'Nick', 'John', 'Tom', 'Nick', 'John'],
'Age': [20, 21, 22, 23, 24, 25],
'Score': [90, 95, 85, 80, 92, 88]}
df = pd.DataFrame(data)
# 按照Name列分组,并对Age列应用sum函数
result = df.groupby('Name').agg({'Age': 'sum'})
print(result)
输出结果:
Age
Name
John 47
Nick 45
Tom 43
示例代码:
import pandas as pd
# 创建DataFrame
data = {'Name': ['Tom', 'Nick', 'John', 'Tom', 'Nick', 'John'],
'Age': [20, 21, 22, 23, 24, 25],
'Score': [90, 95, 85, 80, 92, 88]}
df = pd.DataFrame(data)
# 自定义聚合函数,计算Age列的中位数
def median_age(series):
return series.median()
# 按照Name列分组,并对Age列应用自定义聚合函数
result = df.groupby('Name').agg({'Age': median_age})
print(result)
输出结果:
Age
Name
John 23.5
Nick 22.5
Tom 21.5
示例代码:
import pandas as pd
# 创建DataFrame
data = {'Name': ['Tom', 'Nick', 'John', 'Tom', 'Nick', 'John'],
'Age': [20, 21, 22, 23, 24, 25],
'Score': [90, 95, 85, 80, 92, 88]}
df = pd.DataFrame(data)
# 按照Name列分组,并对Age列应用多个聚合函数
result = df.groupby('Name').agg({'Age': ['min', 'max', 'mean']})
print(result)
输出结果:
Age
min max mean
Name
John 22 25 23.5
Nick 21 24 22.5
Tom 20 23 21.5
总结: 在groupby对象的pandas agg方法中传递函数可以通过传递内置的聚合函数、自定义的聚合函数以及多个聚合函数的组合来实现对每个分组的数据进行聚合操作。这样可以灵活地处理数据,并得到想要的聚合结果。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云