基本信息
文件名称:Python程序设计#_作业_3.docx
文件大小:22.35 KB
总页数:7 页
更新时间:2025-05-26
总字数:约2.25千字
文档摘要

实验3:超市数据统计分析

实验目标

掌握数据收集和预处理的方法。

学会使用基本的数据分析技术(如统计、排序、可视化等)。

能够对超市销售数据进行分析并得出有意义的结论。

实验内容

任务1:数据收集

数据结构设计:

商品名称

商品类别(如食品、日用品、电子产品等)

销售数量

单价

销售日期

总价(数量×单价)

数据生成:

创建一个包含10条销售记录的表格(可以手动输入或使用随机生成的方法)。

任务2:数据预处理

数据清洗:

检查并处理缺失值(如某条记录缺少销售数量)。

检查并处理异常值(如单价为负数)。

数据转换:

计算每条记录的总价(数量×单价)。

将日期格式统一为YYYY-MM-DD。

任务3:数据分析

销售总额统计:

计算所有商品的销售总额。

按类别统计销售额:

统计每个类别商品的销售额占比。

最畅销商品:

找出销售数量最多的商品。

销售趋势分析:

绘制销售总额随日期变化的折线图。

任务4:结果展示

可视化:

使用柱状图展示各类别商品的销售额。

使用饼图展示各类别商品的销售额占比。

使用折线图展示销售总额随日期的变化趋势。

报告总结:

总结分析结果,提出改进建议(如哪些商品需要增加库存,哪些商品需要促销等)。

实验代码示例(以Python为例)

Python复制

importpandasaspd

importmatplotlib.pyplotasplt

#任务1:数据收集

data={

商品名称:[苹果,牛奶,面包,洗发水,手机,香蕉,鸡蛋,牙膏,电脑,橙子],

商品类别:[食品,食品,食品,日用品,电子产品,食品,食品,日用品,电子产品,食品],

销售数量:[10,5,8,20,5,15,20,30,3,12],

单价:[5.0,8.5,6.0,15.0,2999.0,3.5,7.0,5.0,4999.0,4.0],

销售日期:[2023-10-01,2023-10-02,2023-10-03,2023-10-04,2023-10-05,

2023-10-06,2023-10-07,2023-10-08,2023-10-09,2023-10-10]

}

df=pd.DataFrame(data)

df[总价]=df[销售数量]*df[单价]

#任务2:数据预处理

#检查缺失值

print(缺失值检查:)

print(df.isnull().sum())

#检查异常值(如单价为负数)

print(\n异常值检查:)

print(df[df[单价]0])

#任务3:数据分析

#销售总额

total_sales=df[总价].sum()

print(f\n销售总额:{total_sales:.2f}元)

#按类别统计销售额

category_sales=df.groupby(商品类别)[总价].sum()

print(\n各类别销售额:)

print(category_sales)

#最畅销商品(按销售数量)

best_selling=df.loc[df[销售数量].idxmax()]

print(f\n最畅销商品:{best_selling[商品名称]},销售数量:{best_selling[销售数量]})

#任务4:结果展示

#柱状图:各类别销售额

plt.figure(figsize=(10,6))

category_sales.plot(kind=bar)

plt.title(各类别销售额)

plt.xlabel(商品类别)

plt.ylabel(销售额(元))

plt.show()

#饼图:各类别销售额占比

plt.figure(figsize=(10,6))

category_sales.plot(kind=pie,autopct=%1.1f%%)

plt.title(各类别销售额占比)

plt.ylabel()

plt.show()

#折线图:销售总额随日期变化

date_sales=df.groupby(销售日期)[总价].sum()

plt.figure(figsize=(10,6))

date_sales.plot(kind=line,marker=o)

plt.title(销售总额随日期变化)

plt.xlabel(日期)

plt.ylabel(销售额(元))

plt.xticks(rotation=45)

plt.show()

实验总结

数据收集与预处理:

数据收集是分析的基础,确保数据的完整性和准确性。

数据预处理(如