任务描述
本关任务: 打开超市销售数据工作簿
使用excel建立一个统计数据工作簿,建立一个工作表类别统计,按合计金额降序显示不同类别销售金额的和。 建立一个工作表日期统计,按日期升序显示不同日期销售金额的和
相关知识
为了完成本关任务,你需要掌握:1.DataFrame如何汇总数据,2.DataFrame如何排序数据。
DataFrame类型的汇总数据
Groupby可以根据一个或多个键对DataFrame计算分组摘要统计, 如计数、求和、平均值、标准差,或用户自定义函数。
例如
list1=[["张三",'男'],["李四",'女'],["王五",'男'],["赵六",'女']]
import pandas as pd
df=pd.DataFrame(list1,columns=["姓名","性别"])
则df 姓名 性别 0 张三 男 1 李四 女 2 王五 男 3 赵六 女 df.groupby(["性别"])["姓名"].count()
性别 女 2 男 2 DataFrame.groupby(by=None, axis=0, as_index=True) by :标签或标签列表;用于确定分类的列。 axis : 接收 0/1;用于表示沿行(0)或列(1)分割。 as_index:默认Ture,汇总后会建立一个序列存放汇总的结果。汇总的列是序列的index索引,统计值的列是序列的数值。 指定为False则汇总结果是一个数据集,汇总列和统计值都是列。
序列类型的排序
序列的sort_values()函数,可以将序列依照数据进行排序。 series1.sort_values(ascending=True,inplace=False) ascending是否按指定列的数组升序排列,默认为True,即升序排列 inplace是否用排序后的数据集替换原来的数据,默认为False,即不替换 序列的sort_index()函数,可以将序列依照索引列进行排序
编程要求
根据提示,在右侧编辑器补充代码,使用excel建立一个统计数据工作簿,建立一个工作表类别统计,按合计金额降序显示不同类别销售金额的和。 建立一个工作表日期统计,按日期升序显示不同日期销售金额的和
测试说明
平台会对你编写的代码进行测试: 输出两个工作类别统计工作表和日期统计工作表的数据
开始你的任务吧,祝你成功!
import pandas as pd
df=pd.read_excel("xlscl/step1/超市销售数据.xlsx")
writer = pd.ExcelWriter('xlscl/step2/统计数据.xlsx')
#代码开始
lb=df.groupby(df['类别'])['合计金额'].sum()
lb=lb.sort_values(ascending=False)
lb.to_excel(writer,sheet_name='类别统计')
rq=df.groupby(df['日期'])['合计金额'].sum()
rq=rq.sort_index()
rq.to_excel(writer,sheet_name='日期统计')
#代码结束
writer.save()