groupby分组聚合
import pandas as pd
#创建一个数据集
data = {'姓名': ['Tom', 'Jack', 'Steve', 'Ricky', 'Sam', 'Mia', 'Leo', 'Emily', 'Sophia', 'Oliver'],
'性别': ['M', 'M', 'M', 'M', 'M', 'F', 'M', 'F', 'F', 'M'],
'年龄': [25, 30, 18, 22, 35, 28, 40, 27, 29, 32],
'城市': ['New York', 'London', 'Paris', 'London', 'Paris', 'New York', 'Paris', 'New York', 'London', 'New York'],
'薪水': [5000, 7000, 3000, 4000, 8000, 6000, 9000, 5500, 6500, 7500]}
df = pd.DataFrame(data)
# 按照Gender列进行分组,并计算平均年龄
df.groupby('姓名')['年龄'].mean()
#在后面加一个reset_index()进行重置索引 美化显示
df.groupby('姓名')['年龄'].mean()
#可以分组多个项目 以列表形式,查看每个城市不同性别的平均年龄
df.groupby(['城市','性别'])['年龄'].mean().reset_index()
#年龄差
df.groupby(['城市','性别'])['年龄'].apply(lambda x: x.max()-x.min()).reset_index()
#年龄差
df.groupby(['城市','性别'])['年龄'].agg(['count','max','min'])#.reset_index()