销售数据预处理与分析学习总结
一、数据预处理核心步骤
本次分析围绕 “双十一淘宝美妆数据” 展开,数据预处理是后续分析的基础,主要包含以下关键操作:
- 去重处理:使用
drop_duplicates()
方法删除重复数据,确保分析样本的唯一性。 - 索引重置:通过
reset_index()
重置数据索引,避免去重后索引混乱影响后续操作。 - 缺失值填补:采用
fillna(0)
将缺失值填充为 0,保证数据完整性(适用于销量、价格等数值型字段)。 - 衍生指标计算:通过
price * sale_count
生成 “销售额” 字段,为后续分析提供核心指标。
二、核心分析维度与实现方法
1. 基础指标分析(店铺维度)
通过子图布局(subplot
)实现多指标对比,从不同角度展现各店铺表现:
- 商品数量:用
value_counts()
统计各店铺商品数,通过条形图直观呈现品牌商品丰富度。 - 总销量与总销售额:通过
groupby('店名')
分组后对sale_count
和销售额
求和,对比不同店铺的市场渗透力与营收能力。 - 平均单价:通过 “总销售额 / 总销量” 计算,反映店铺的定价策略与客单价水平。
2. 价格区间分析
将品牌按平均单价划分为 4 个区间(0-100 元、100-200 元、200-300 元、300 元以上),结合饼图和条形图分析:
- 不同价格区间品牌的销售额占比(饼图)。
- 各区间的平均单店销售额(条形图),揭示价格定位与销售效能的关联。
3. 商品分类分析
基于标题关键词构建分类规则(大类:护肤品 / 化妆品;小类:乳液类 / 面膜类等),通过jieba
分词实现自动分类:
- 对比各大类、小类的销售量与销售额占比(饼图),明确核心品类。
- 筛选有效店铺(排除总销量为 0 的店铺),聚焦有实际销售行为的样本,提高分析准确性。
4. 交叉维度分析
通过seaborn.barplot
实现多维度交叉对比:
- 各店铺中不同大类 / 小类的销量与销售额(按店铺分组,凸显店铺的品类优势)。
- 各小类中不同店铺的表现(按品类分组,分析品类内的竞争格局)。
5. 性别细分分析
基于标题关键词识别 “男士专用” 商品,对比:
- 男士 / 非男士专用商品的小类销量占比。
- 男士专用商品在总销量、总销售额中的占比,挖掘性别细分市场特征。
三、可视化技巧与工具
- 中文显示设置:通过
plt.rcParams
配置SimHei
字体,解决图表中文乱码问题。 - 子图布局:使用
subplot
和plt.subplots
实现多图联动,便于指标对比。 - 图表类型选择:
- 饼图:适合展示占比关系(如品类占比、价格区间占比)。
- 条形图:适合比较不同主体的数值差异(如店铺销量、区间销售额)。
- 分组条形图(
hue
参数):通过颜色区分次级维度(如按大类 / 小类分组),呈现复杂交叉关系。
四、学习心得
- 数据预处理的重要性:去重、补全缺失值、筛选有效样本是保证分析结果可靠的前提。
- 分类逻辑的合理性:关键词匹配与分词技术结合,可实现高效的自动分类,但需不断优化分类规则以提高准确性。
- 可视化的针对性:不同图表有其适用场景(如占比用饼图、对比用条形图),合理选择能更清晰传递数据结论。
- 多维度交叉分析:从店铺、价格、品类、性别等多角度切入,能更全面地挖掘数据规律,为商业决策提供支撑(如库存调整、定价策略优化)。
通过本次实践,掌握了从数据清洗到可视化分析的完整流程,理解了如何通过 Python 工具(pandas
/matplotlib
/seaborn
)将原始数据转化为有价值的商业洞察。