python 模拟数据透视表案例
代码实现如下import pandas as pd import matplotlib.pyplot as plt # 解决Windows中文乱码 plt.rcParams[font.sans-serif] [SimHei] plt.rcParams[axes.unicode_minus] False # 1. 构造模拟电商订单数据 data { 订单号: [1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015], 下单时间: [2026-01-05, 2026-01-08, 2026-02-02, 2026-02-10, 2026-03-01, 2026-03-12, 2026-01-15, 2026-02-18, 2026-03-20, 2026-01-22, 2026-02-25, 2026-03-05, 2026-01-30, 2026-02-12, 2026-03-18], 商品品类: [电子产品, 服饰, 食品, 电子产品, 家居, 服饰, 食品, 家居, 电子产品, 服饰, 食品, 家居, 电子产品, 服饰, 食品], 单价: [2999, 199, 49, 1599, 269, 259, 69, 399, 4299, 129, 35, 199, 2199, 329, 59], 购买数量: [1, 2, 3, 1, 2, 1, 5, 1, 1, 3, 4, 2, 1, 1, 2], 收货地区: [广东, 浙江, 江苏, 广东, 上海, 浙江, 江苏, 上海, 广东, 浙江, 江苏, 上海, 广东, 浙江, 江苏] } df pd.DataFrame(data) df[订单销售额] df[单价] * df[购买数量] df[下单时间] pd.to_datetime(df[下单时间]) df[月份] df[下单时间].dt.month # 2. 基础数据查看 print( 1. 数据前5行 ) print(df.head()) print(\n 2. 数据整体信息 ) print(df.info()) print(\n 3. 数值统计 ) print(df.describe()) print(\n 4. 缺失值统计 ) print(df.isnull().sum()) # 3. 核心业务指标 total_order_num df[订单号].nunique() total_sales df[订单销售额].sum() total_goods df[购买数量].sum() avg_customer total_sales / total_order_num print(\n 5. 核心经营指标 ) print(f总订单数{total_order_num}) print(f总销售额{total_sales} 元) print(f商品总销量{total_goods} 件) print(f平均客单价{round(avg_customer, 2)} 元) # 4. 分组分析已修复字段名商品品类 print(\n 6. 各品类销售额、销量汇总 ) category_analysis df.groupby(商品品类).agg( 总销售额(订单销售额, sum), 总销量(购买数量, sum) ).sort_values(总销售额, ascendingFalse) print(category_analysis) print(\n 7. 各月份销售趋势 ) month_sale df.groupby(月份)[订单销售额].sum() print(month_sale) print(\n 8. 各地区销售额排名 ) area_sale df.groupby(收货地区)[订单销售额].sum().sort_values(ascendingFalse) print(area_sale) # 5. 筛选高客单订单 print(\n 9. 高客单爆款订单 ) hot_order df[df[订单销售额] 2000] print(hot_order[[订单号, 商品品类, 订单销售额, 收货地区]]) # 6. 导出Excel报告 with pd.ExcelWriter(电商销售分析报告.xlsx) as writer: df.to_excel(writer, sheet_name原始订单数据, indexFalse) category_analysis.to_excel(writer, sheet_name品类分析) month_sale.to_excel(writer, sheet_name月度销售) area_sale.to_excel(writer, sheet_name地区销售) print(\n分析完成已生成电商销售分析报告.xlsx) # 7. 可视化绘图 # 月度折线图 plt.figure(figsize(8, 5)) plt.plot(month_sale.index, month_sale.values, markero, color#E74C3C, linewidth2, markersize8) plt.title(月度销售额趋势, fontsize14, pad15) plt.xlabel(月份) plt.ylabel(销售额元) plt.xticks([1, 2, 3], [1月, 2月, 3月]) plt.grid(alpha0.3) for x, y in zip(month_sale.index, month_sale.values): plt.text(x, y 200, f{y}, hacenter) plt.tight_layout() plt.savefig(月度销售趋势.png, dpi150) plt.show() # 品类饼图 plt.figure(figsize(7, 7)) category_sale df.groupby(商品品类)[订单销售额].sum() colors [#3498DB, #2ECC71, #F1C40F, #E67E22] plt.pie(category_sale.values, labelscategory_sale.index, autopct%1.1f%%, colorscolors, startangle90, wedgeprops{edgecolor: white, linewidth: 2}) plt.title(各品类销售额占比, fontsize14) plt.axis(equal) plt.tight_layout() plt.savefig(品类销售占比.png, dpi150) plt.show() # 地区柱状图 plt.figure(figsize(8, 5)) bars plt.bar(area_sale.index, area_sale.values, width0.5) plt.title(各地区销售额对比, fontsize14) plt.xlabel(地区) plt.ylabel(销售额元) for bar in bars: h bar.get_height() plt.text(bar.get_x()bar.get_width()/2, h100, f{int(h)}, hacenter) plt.tight_layout() plt.savefig(地区销售对比.png, dpi150) plt.show() print(图片保存完成月度销售趋势.png、品类销售占比.png、地区销售对比.png)电商销售数据分析完整总结一、数据基础概况数据源模拟 15 条 2026 年 1–3 月电商订单包含订单号、下单时间、商品品类、单价、购买数量、收货地区 6 个原始字段衍生出订单销售额、月份两个计算字段。数据质量无缺失值、无异常脏数据数据结构规整可直接用于统计与可视化。基础规模15 笔独立订单覆盖电子产品、服饰、食品、家居 4 大品类广东、浙江、江苏、上海 4 个收货地区。二、核心经营指标汇总总订单数15 单总销售额14554 元商品总销量30 件平均客单价970.27 元 客单价偏高核心原因是电子产品单价极高拉高整体均值。三、多维度业务分析结论1. 品类维度销售额贡献电子产品总销售额断层第一是店铺核心营收支柱家居、服饰次之食品单价低、单订单金额小营收贡献最低。优势品类电子产品高客单、高毛利贡献店铺核心盈利款应重点备货、主推引流长尾品类食品走薄利多销路线适合做搭配赠品、凑单商品提升订单件数。2. 月度销售趋势1–3 月逐月销售额呈稳步上涨趋势店铺经营规模持续向好市场需求逐步提升无淡季下滑情况整体增长健康。3. 地区消费能力广东地区总销售额遥遥领先是核心消费市场其次浙江、江苏上海订单消费总额最低。 运营策略倾斜广东投放更多推广资源、专属优惠活动巩固核心客群上海可针对性做活动拉动消费。4. 高客单爆款订单筛选单笔销售额2000 元订单全部来自电子产品品类印证高单价数码产品是大额订单唯一来源高价值客户集中在广东区域。四、产出文件说明电商销售分析报告.xlsx多工作表存储完整数据原始订单数据全部明细记录可二次加工品类分析各品类总销售额、总销量汇总月度销售1–3 月月度营收地区销售四地销售额排名。3 张可视化图表月度销售趋势折线图直观展示营收增长节奏品类销售占比饼图一眼看清各品类营收占比结构地区销售额柱状图对比各区域消费体量差异。五、运营落地建议货品策略加大电子产品库存供给保证爆款不断货食品用于搭配销售提升单订单购买件数。区域运营重点深耕广东市场投放优惠券、专场活动针对上海、江苏推出专属活动刺激消费。周期规划销售逐月增长可预判后续营收持续走高提前规划备货、人员、推广预算。用户运营高价值大额客户全部购买电子产品可对数码客户推送新品、会员福利提升复购。六、代码实现技术总结Pandas 完成全流程数据分析数据构建、衍生字段、时间转换、缺失值检测、分组聚合、条件筛选、多 sheet Excel 导出Matplotlib 实现静态可视化折线、饼图、柱状图支持中文显示、数值标注、高清图片本地保存完整闭环模拟数据 → 清洗探查 → 指标计算 → 多维度分析 → 报表导出 可视化出图是职场标准数据分析工作流。