【61 Pandas+Pyecharts | 基于Apriori算法及帕累托算法的超市销售数据分析可视化】

文章目录

  • [🏳️‍🌈 1. 导入模块](#🏳️‍🌈 1. 导入模块)
  • [🏳️‍🌈 2. Pandas数据处理](#🏳️‍🌈 2. Pandas数据处理)
    • [2.1 读取数据](#2.1 读取数据)
    • [2.2 数据信息](#2.2 数据信息)
    • [2.3 数据去重](#2.3 数据去重)
    • [2.4 订单日期处理提取年份](#2.4 订单日期处理提取年份)
    • [2.5 产品名称处理](#2.5 产品名称处理)
  • [🏳️‍🌈 3. Pyecharts数据可视化](#🏳️‍🌈 3. Pyecharts数据可视化)
    • [3.1 每年销售额和利润分布](#3.1 每年销售额和利润分布)
    • [3.2 各地区销售额和利润分布](#3.2 各地区销售额和利润分布)
    • [3.3 各省订单量分布](#3.3 各省订单量分布)
    • [3.4 各省销售额分布](#3.4 各省销售额分布)
    • [3.5 各类别产品订单量](#3.5 各类别产品订单量)
    • [3.6 客户类别占比](#3.6 客户类别占比)
    • [3.7 Apriori算法关联分析](#3.7 Apriori算法关联分析)
    • [3.8 帕累托分析](#3.8 帕累托分析)
  • [🏳️‍🌈 4. 可视化项目源码+数据](#🏳️‍🌈 4. 可视化项目源码+数据)

大家好,我是 👉 【Python当打之年(点击跳转)】

本期我们利用Python分析「超市销售数据集」,看看:每年销售额和利润分布、各地区销售额和利润分布、各省订单量分布、各省销售额分布、各类别产品订单量、客户类别占比等等,希望对大家有所帮助,如有疑问或者需要改进的地方可以联系小编。

涉及到的库:

  • Pandas--- 数据处理
  • Pyecharts--- 数据可视化

🏳️‍🌈 1. 导入模块

python 复制代码
import pandas as pd
from pyecharts.charts import *
from pyecharts import options as opts
import warnings
warnings.filterwarnings('ignore')

🏳️‍🌈 2. Pandas数据处理

2.1 读取数据

python 复制代码
df = pd.read_excel('超市销售数据.xlsx')

2.2 数据信息

python 复制代码
df.info()

2.3 数据去重

python 复制代码
df = df.drop_duplicates()

2.4 订单日期处理提取年份

python 复制代码
df['年'] = df['订单日期'].dt.year

2.5 产品名称处理

🏳️‍🌈 3. Pyecharts数据可视化

3.1 每年销售额和利润分布

python 复制代码
defget_chart1():
    chart = (
        Bar()
        .add_xaxis(x_data)
        .add_yaxis('销售额', y_data1,gap='5%',label_opts=opts.LabelOpts(formatter='{c}万'))
        .add_yaxis('利润', y_data2,gap='5%',label_opts=opts.LabelOpts(formatter='{c}万'))
        .set_global_opts(
            title_opts=opts.TitleOpts(
                title='1-每年销售额和利润分布',
                subtitle=subtitle,
                pos_top='2%',
                pos_left='center'
            ),
            legend_opts=opts.LegendOpts(pos_top='15%')
        )
    )
  • 销售额和利润均呈现逐年增长的趋势。

3.2 各地区销售额和利润分布

  • 华东大区的销售额最高,反映出当地消费能力较高,中南和东北地区紧随其后,利润方面来看,中南地区和华东地区的利润要远高于其他地区。

3.3 各省订单量分布

  • 沿海地区的订单量要明显高于内地,尤其是广东、山东、江苏、辽宁。

3.4 各省销售额分布

3.5 各类别产品订单量

  • 办公用品类商品需求量最大,占比超过了50%,技术类和家具类各占20%左右。

3.6 客户类别占比

  • 客户类别以个体消费者为主,其次是公司和小型企业。

3.7 Apriori算法关联分析

python 复制代码
# 转换为算法可接受模型(布尔值)
te = TransactionEncoder()
d_data = te.fit(data_am).transform(data_am)
df_t = pd.DataFrame(d_data,columns=te.columns_)
# 设置支持度求频繁项集
frequent_itemsets = apriori(df_t,min_support=0.04,use_colnames= True)
rules = association_rules(frequent_itemsets,metric = 'confidence',min_threshold = 0.1)
# 设置最小提升度, 一般认为提升度大于1的关联规则才有商业价值
rules = rules.drop(rules[rules.lift <1].index)
# 设置标题索引并打印结果
rules.rename(columns = {'antecedents':'from','consequents':'to','support':'sup','confidence':'conf'},inplace = True)
rules = rules[['from','to','sup','conf','lift']].sort_values('sup',ascending=False).reset_index(drop=True)

结果:

3.8 帕累托分析

帕累托分析模型(Pareto Analysis),又称80/20法则、ABC分析法或主次因素分析法,是一种基于"关键少数与次要多数"原理的决策工具,用于识别和优先处理对结果影响最大的关键因素。

python 复制代码
defget_chart8():
    bar = (
        Bar()
        .add_xaxis(x_data)
        .add_yaxis("销售额", y_data1,itemstyle_opts=opts.ItemStyleOpts(color=range_color[-1]),
            label_opts=opts.LabelOpts(is_show=False),)
        .extend_axis(
            yaxis=opts.AxisOpts(
                max_=120,
            )
        )
        .set_global_opts(
            title_opts=opts.TitleOpts(
                title='8-帕累托分析',
                subtitle=subtitle,
                pos_top='2%',
                pos_left='center',
            ),
            xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=60,font_size=10)),
            legend_opts=opts.LegendOpts(pos_top='12%')
        )
    )
    line = (
        Line()
        .add_xaxis(x_data)
        .add_yaxis(
            "累积利润占比",
            y_data2,
            z=10,
            yaxis_index=1,
            label_opts=opts.LabelOpts(is_show=False),
        )
    )

🏳️‍🌈 4. 可视化项目源码+数据

点击跳转:【全部可视化项目源码+数据】


以上就是本期为大家整理的全部内容了,赶快练习起来吧,原创不易,喜欢的朋友可以点赞、收藏 也可以分享注明出处)让更多人知道。

相关推荐
B站_计算机毕业设计之家3 分钟前
豆瓣电影数据采集分析推荐系统 | Python Vue Flask框架 LSTM Echarts多技术融合开发 毕业设计源码 计算机
vue.js·python·机器学习·flask·echarts·lstm·推荐算法
渣渣苏11 分钟前
Langchain实战快速入门
人工智能·python·langchain
lili-felicity20 分钟前
CANN模型量化详解:从FP32到INT8的精度与性能平衡
人工智能·python
数据知道22 分钟前
PostgreSQL实战:详解如何用Python优雅地从PG中存取处理JSON
python·postgresql·json
ZH154558913135 分钟前
Flutter for OpenHarmony Python学习助手实战:面向对象编程实战的实现
python·学习·flutter
玄同76536 分钟前
SQLite + LLM:大模型应用落地的轻量级数据存储方案
jvm·数据库·人工智能·python·语言模型·sqlite·知识图谱
User_芊芊君子41 分钟前
CANN010:PyASC Python编程接口—简化AI算子开发的Python框架
开发语言·人工智能·python
白日做梦Q1 小时前
Anchor-free检测器全解析:CenterNet vs FCOS
python·深度学习·神经网络·目标检测·机器学习
那个村的李富贵1 小时前
解锁CANN仓库核心能力:50行代码搭建国产化AIGC图片风格迁移神器
mysql·信息可视化·aigc·cann
喵手1 小时前
Python爬虫实战:公共自行车站点智能采集系统 - 从零构建生产级爬虫的完整实战(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集公共自行车站点·公共自行车站点智能采集系统·采集公共自行车站点导出csv