import pandas as pd
"""多级索引、groupby()方法中sum()、mean()、count()练习"""
date = ["3月1日", "3月1日", "3月1日", "3月2日", "3月2日", "3月2日", "3月3日", "3月3日", "3月3日"]
name = ["王", "李", "赵", "王", "李", "赵", "王", "李", "赵"]
sold = [1000,1500,800,200, 500,1000,700, 500,900]
data = list(zip(date, name))
my_index = pd.MultiIndex.from_tuples(data) # 生成多级索引
df = pd.DataFrame(sold, index=my_index ,columns=["销售额"])
sum_d = df.groupby(date).sum() # 计算每日总销售额
sum_p = df.groupby(name).sum() # 计算每人总销售额
avg = df.groupby(date).mean() # 每日每个销售员平均销售额
n = df.groupby(date).count() # 统计有效值(非空值)数量
print(df)
print(sum_d)
print(sum_p)
print(avg)
print(n)
显示结果:
销售额
3月1日 王 1000
李 1500
赵 800
3月2日 王 200
李 500
赵 1000
3月3日 王 700
李 500
赵 900
销售额
3月1日 3300
3月2日 1700
3月3日 2100
销售额
李 2500
王 1900
赵 2700
销售额
3月1日 1100.000000
3月2日 566.666667
3月3日 700.000000
销售额
3月1日 3
3月2日 3
3月3日 3