Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

电商电子产品销售数据分析

基于 Python (Pandas + Matplotlib + Seaborn) 的电商销售数据全流程分析项目,涵盖数据清洗、探索性分析(EDA)、用户画像、品类洞察及地区销售分析。


项目背景

对约 56 万行 电子产品电商订单数据进行端到端分析,从原始数据清洗到可视化报告输出,挖掘销售趋势、用户行为特征及区域市场格局,为运营决策提供数据支持。


数据说明

字段 类型 说明
event_time datetime 订单时间
order_id string 订单编号
product_id string 商品编号
category_id string 品类编号
category_code string 品类编码(三级结构,如 electronics.tablet.samsung)
brand string 品牌
price float 成交价格
user_id string 用户编号
age int 用户年龄
sex string 用户性别
local string 用户所在地区

注意:原始数据文件 电子产品销售分析.csv(约 94 MB)及清洗后数据 cleaned_data.csv(约 130 MB)体积较大,未纳入版本控制。如需复现,请将原始数据文件放入 data/ 目录后运行脚本。


分析流程

1. 数据清洗

  • 去重:剔除完全重复订单记录
  • 缺失值处理category_code 缺失率约 22.93%,保留并拆分为一级/二级/三级品类,缺失部分标记为"未知";brand 缺失填充为"未知品牌"
  • 异常值修正:识别并删除 1,307 条 event_time 年份异常(1970 年)记录;删除 39 条 price ≤ 0 的异常订单
  • 日期解析:将 event_time 解析为标准 datetime 格式,并提取年/月/日/小时
  • 品类拆分:将 category_code. 拆分为 category_l1 / category_l2 / category_l3,便于下钻分析
  • 类型优化:将品类、品牌、性别、地区等字段转为 category 类型,降低内存占用

2. 探索性数据分析(EDA)

  • 总销售额、总订单量、客单价、独立用户数等核心指标
  • 时间维度:按月/按日销售趋势,识别波峰与波动
  • 用户维度:性别消费差异、年龄分布、地区 Top10 消费排行
  • 产品维度:品类结构、品牌分布、价格带分布

3. 深度洞察

  • 品类结构:electronics、appliances、computers 为销售额前三品类
  • 用户画像:年龄集中在 18–45 岁区间;男女性别订单数与消费金额较为接近
  • 区域分析:广东、上海、北京为销售额 Top 3 地区
  • 价格洞察:价格呈明显右偏分布,中位数约 87.94 元
  • 用户价值:通过 RFM 模型进行用户分层,复购率约 56.90%

4. 可视化输出

生成 7 张核心图表及完整数据分析报告:

图表 文件名 说明
销售额趋势 01_销售额趋势.png 按月销售额时间序列趋势
品类占比 02_品类占比.png 一级品类销售额及占比
性别消费对比 03_性别消费对比.png 男女订单数与消费金额
年龄分布 04_年龄分布.png 年龄分层与消费金额
地区排行 05_地区排行.png 销售额 Top 10 地区
价格分布 06_价格分布.png 成交价格带分布
RFM 用户分层 07_RFM用户分层.png 各层用户数与平均消费金额

项目结构

ecommerce-sales-analysis/
├── data/                          # 原始数据(需自行放置,默认被 gitignore 忽略)
│   ├── 电子产品销售分析.csv
│   ├── 2020年各省人口数量.xlsx
│   └── 字段说明和分析思路.txt
├── output/
│   ├── charts/                    # 可视化图表(随仓库提交)
│   │   ├── 01_销售额趋势.png
│   │   ├── 02_品类占比.png
│   │   ├── 03_性别消费对比.png
│   │   ├── 04_年龄分布.png
│   │   ├── 05_地区排行.png
│   │   ├── 06_价格分布.png
│   │   └── 07_RFM用户分层.png
│   ├── 数据分析报告.md            # 完整分析报告(随仓库提交)
│   ├── cleaned_data.csv           # 清洗后数据(被 gitignore 忽略)
│   └── analysis_script.py         # 脚本副本
├── analysis_script.py             # 主分析脚本
├── requirements.txt               # Python 依赖
├── .gitignore                     # Git 忽略规则
└── README.md                      # 项目说明

环境要求

  • Python 3.9+
  • 依赖库见 requirements.txt

快速开始

# 1. 克隆仓库
git clone <your-repo-url>
 cd ecommerce-sales-analysis

# 2. 创建虚拟环境(推荐)
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# 3. 安装依赖
pip install -r requirements.txt

# 4. 放置原始数据
# 将 电子产品销售分析.csv 放入 data/ 目录

# 5. 运行分析
python analysis_script.py

# 6. 查看输出
# 图表:output/charts/
# 报告:output/数据分析报告.md

关键发现摘要

  • electronics 品类 销售额占比约 48.5%,为绝对主力
  • appliancescomputers 分列二、三位,三者合计占比近 90%
  • 性别差异:男性订单数与女性接近,人均消费均在 208 元左右
  • 年龄集中:核心消费群体为 18–45 岁,其中 26–35 岁订单数最多
  • 区域格局:广东、上海、北京三地销售额遥遥领先
  • 价格分布:整体呈右偏分布,中位数约 87.94 元,存在少量高价值订单
  • 用户价值:复购率约 56.90%,重要价值客户平均消费金额超过 4,000 元

技术栈

  • 数据处理:Pandas, NumPy
  • 可视化:Matplotlib, Seaborn
  • Excel 读写:OpenPyXL, xlrd

License

MIT

About

电商电子产品销售数据分析 | 基于 Python + Pandas + Matplotlib,对 56 万行订单数据进行清洗、EDA、用户画像与品类洞察,输出 6 张可视化图表及完整分析报告。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages