Python数据分析案例:电商数据清洗与可视化实战
·
博客导语
学完Numpy、Pandas、Matplotlib后,最经典的综合实战就是电商数据分析。本案例模拟真实电商订单数据,完整复现企业数据分析全流程:数据加载、缺失值/重复值清洗、数据统计分析、多维度可视化图表,手把手带你完成一套完整的数据分析报告。
一、技术栈与环境
pip install pandas numpy matplotlib
二、项目流程
数据加载 → 数据探查 → 数据清洗 → 统计分析 → 可视化展示
三、完整实战代码
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
# 设置中文
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
def analysis_shop_data():
# 1. 构造模拟电商订单数据
data = {
"订单ID": range(1, 101),
"商品类别": np.random.choice(["服饰","数码","食品","家居"], 100),
"订单金额": np.random.randint(10, 1000, 100),
"购买数量": np.random.randint(1, 5, 100),
"是否退款": np.random.choice([0,1], 100, p=[0.9,0.1])
}
df = pd.DataFrame(data)
# 2. 数据基础探查
print("===== 数据基本信息 =====")
print(df.info())
print("\n===== 数据统计描述 =====")
print(df.describe())
# 3. 数据清洗
# 去除重复值
df = df.drop_duplicates()
# 缺失值处理
df = df.dropna()
# 过滤异常订单(金额小于0)
df = df[df["订单金额"] > 0]
# 4. 统计分析
print("\n===== 各类别销售额统计 =====")
category_sum = df.groupby("商品类别")["订单金额"].sum()
print(category_sum)
print("\n===== 订单退款率 =====")
refund_rate = df["是否退款"].mean()
print(f"整体退款率:{refund_rate:.2%}")
# 5. 可视化展示
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(14,6))
# 柱状图:各类别销售额
category_sum.plot(kind="bar", ax=ax1, color=["#ff9999","#66b3ff","#99ff99","#ffcc99"])
ax1.set_title("各商品类别销售额对比")
ax1.set_xlabel("商品类别")
ax1.set_ylabel("总销售额")
# 饼图:各类别销量占比
category_count = df["商品类别"].value_counts()
ax2.pie(category_count.values, labels=category_count.index, autopct="%1.1f%%")
ax2.set_title("各商品类别销量占比")
plt.tight_layout()
plt.show()
if __name__ == "__main__":
analysis_shop_data()
四、核心分析思路
-
数据预处理:清洗重复、缺失、异常数据,保证数据准确性
-
维度统计:按商品类别分组统计销售额、销量
-
指标计算:计算订单退款率,评估店铺运营质量
-
可视化呈现:柱状图对比销售额、饼图展示销量占比
五、项目拓展
-
接入真实Excel/CSV电商数据源
-
新增月度销售趋势折线图
-
输出完整数据分析报告,保存图片与报表
六、项目总结
本案例完整复刻职场数据分析工作流程,从原始脏数据清洗、数据统计、指标分析到可视化出图,完美衔接Pandas和Matplotlib理论知识,是零基础入门数据分析的最优实战案例。
更多推荐



所有评论(0)