Python | 销售记录可视化

11 列咖啡店结构化交易记录数据集 | 时间 / 咖啡类型 / 付款方式多维度覆盖 | Power BI/Tableau/Python 可视化 & 业务分析用 本数据集为结构化咖啡店交易数据,覆盖完整年度周期,包含时间、产品、付款等11个维度。其核心优势在于无需预处理即可直接分析,支持三大应用场景:通过销售趋势定位营业高峰时段(如早8点交易量达120笔/小时)、基于产品销售额排名优化库存(拿铁12,000元居首),以及分析客户付款偏好。适配PowerBI/Tableau等工具,可节省80%数据处理时间,帮助中小咖啡店快速实现数据驱动决策。 阅读详情

01 起

我们拿到一家公司的销售记录,共有1500条销售数据,现在我们对这张销售记录进行可视化分析吧,这是数据分析师的必经之路哦。

内容提要:

  • 条形图:各公司交易额
  • 多图:各公司交易额、订单数
  • 饼图:各公司交易额占比TOP10总额
  • 散点图:各公司订单数-交易额分布
  • 直方图:单笔订单交易额分布情况

那么我们开始吧!


02 数据处理

首先使用pd.read_excel读取数据,定义该数据表名为df,数据结构如下,这组数据记录了某公司2014年的交易情况:

  • account number: 账号
  • name: 公司名字,与账号有一一对应关系
  • sku: 商品货号
  • quantity: 购货量
  • unit price: 单位价格
  • ext price: 总价 = 购货量*单位价格
  • date: 日期

通过df.info()查看各字段总数,可以看到共有1500条数据。

数据清洗
#查看数据时发现,购货量有负数,将这些记录筛选出来,根据实际情况决定是否归为异常数据
df[df.quantity<0]
#由于不了解实际情况,目前暂时认为购货量负数为正常值(可从公司名name统计,看看是否是某几个公司出现的情况,是否是退货)
统计有交易记录的公司数量
len(df.name.unique()) #与之交易的公司数量,20个
筛选出交易额最高的10家公司
#将df按公司名name分组,对各组交易额ext price求和得到各公司总交易额,计数得到各公司总订单数
#为了不将name作为索引,使用reset_index重置索引
#使用sort_values()对指定列排序
top10=df.groupby('name')['ext price'].agg(['sum','count']).reset_index().sort_values(by='sum',ascending=False)[:10]
top10.rename(columns={'name':'Company','sum':'Sales','count':'Purchases'},inplace=True)
top10

得到如下数据表,下面我们将基于此表进行数据的可视化,展现交易额top10的公司情况。


03 可视化分析

条形图

查看top10公司交易额情况

#使用ggplot风格的作图:
plt.style.use('ggplot')

#barh绘制水平条形图;bar绘制垂直直方图
"""注意,条形图条数np.arange(10),要与top10.Sales数据数量一致,否则会报错-形状不匹(shape mismatch)"""
plt.barh(np.arange(10),top10.Sales,height=0.6)

#添加标题
plt.title('Top 10 Sales Company')
plt.xlabel('Total Revenue')
plt.ylabel('Company')

#修改纵坐标、横坐标刻度
plt.yticks(np.arange(10),top10.Company)
plt.xticks([0,20000,40000,60000,80000,100000,120000,140000],
          ['$0k','$20k','$40k','$60k','$80k','$100k','$120k','$140k'])

plt.show()

输出如下

浅析

  • 可以看到,交易额最高的公司是Kulas Inc和White-Trantow公司,达到了近14万美元。
  • 接下来可以从这两家公司订购的商品种类、以及各种类商品采购量入手,分析高交易额的原因,公司偏好-高交易额是因为买的种类多还是某类商品订购量大,同理可分析其他公司
  • 从订单数计算单笔订单交易额,分析客户订购偏好-大批量采购/少量订购
绘制多图

将多个图展现在同一画布中,便于进一步分析,以下仅做示例。

plt.style.use('ggplot')
#设置画布大小
fig=plt.figure(figsize=(10,10))

#加上图像大标题
fig.suptitle('Sales Analysis',fontsize=16,fontweight='bold')

#fig.add_subplot(x,y,z),表示将画布分为x行,y列,当前图像放在从左到右、从上到下的第z个位置

#添加第一个子图
ax1=fig.add_subplot(2,2,1)
plt.barh(np.arange(10),top10.Sales,height=0.5,tick_label=top10.Company)
plt.title('Revenue')

#加入平均销售额线  plt.axvline()表示添加垂直线axis vertical line
revenue_avg=top10.Sales.mean()
plt.axvline(x=revenue_avg,color='b',linestyle='--',linewidth=3)


#添加第二个子图
ax2=fig.add_subplot(222)
plt.barh(np.arange(10),top10.Purchases,height=0.5)
plt.title('Purchases')

#设置不显示y轴刻度
plt.yticks(visible=False)

#加入平均订单数线
Purchases_avg=top10.Purchases.mean()
plt.axvline(x=Purchases_avg,color='b',linestyle='--',linewidth=3)

输出如下

饼图

top10公司销售额占比

#plt.pie()绘制饼图
labels代表每个扇区的标签,
colors=['b','g'],设置扇区颜色
startangle代表起始位置角度
explode=(0.1,0,0,0,0,0,0,0,0,0)代表将第一个扇区拉出来0.1,作为突出显示
autopct='%1.1f%%',代表给出每个扇区的占比 ,精确到小数点后1位

plt.pie(top10.Sales,labels=top10.Company,
        colors=['r','y','b','g','c','r','y','b','g','c'],
        startangle=90,
        explode=(0.1,0,0,0,0,0,0,0,0,0),
        autopct='%1.1f%%')
plt.axis('equal')

输出如下

散点图

top10公司中,各公司销售额与订单数的关系,展示各公司交易习惯-偏好大订单还是小额订单。

plt.style.use('ggplot')
#scatter绘制散点图,s设置点大小
plt.scatter(x=top10.Purchases,y=top10.Sales,s=100)
plt.show()

输出如下

直方图

对于原始数据df中,每笔订单的交易额(ext price),统计单笔订单交易额分布情况。

#hist绘制直方图,bins设置区间个数
plt.hist(df['ext price'],bins=20,rwidth=0.8)

输出如下

可以看到,单笔订单交易额在200~600美元的订单最多,可以从一方面反映客户的下单偏好-小额订单。

当然,更有价值的分析应该下沉到各公司的单笔订单金额去分析,这里暂不做展开。


04 总结

以上可视化主要利用matplotlib,主要涉及到条形图barh bar,直方图hist,饼图pie,散点图scatter,多图fig.add_subplot。

作图代码千千万,要收集整理,用以致学。

希望对你有帮助~

绘制带百分比的堆叠条形图——Python Matplotlib实例教程 本文介绍了如何使用Python中的Matplotlib库绘制带百分比的堆叠条形图。通过计算每个类别在总销售额中所占的比例,并将其堆叠在一起,我们可以清晰地展示多维数据。在数据可视化中,堆叠条形图是一种常用的展示多维数据的方式。通常情况下,我们还需要在堆叠条形图上标注每个类别所占比例的百分比。本文将介绍如何使用Python中的Matplotlib库来绘制带百分比的堆叠条形图。运行代码后,我们可以看到带百分比的堆叠条形图的结果。接下来,我们需要计算每个类别在总销售额中所占的百分比。 阅读详情

相关推荐

Redis 可视化工具 RedisInsight 的保姆级安装以及使用(最新)

Redis 可视化工具 RedisInsight 的保姆级安装以及使用(最新)

一名全栈小白的博客 1万+

【Python 实战基础】如何绘制饼状图分析商品库存

Python如何绘制饼状图分析商品库存 文件读写 基础语法 字符串处理 文件生成 数据构建

菜鸟实战的博客 2207

mac搭建ios自动化环境之WebDriverAgent配置

一、WebDriverAgent 1、简单介绍: WebDriverAgent是facebook为苹果公司开发的一款自动化测试工具,github上有下载资源;另外appium安装后也会自动安装自带的WebDriverAgent;可以用自带的,也可以从github下载并替换自带的; 2、不同appium版本自带WebDriverAgent默认路径不同 1)appium 1.10.1之前版本: npm方式安装: /usr/local/lib/node_modules/appium/node_modules/a

qq_30237715的博客 2761

画图实战-Python实现某产品全年销量数据多种样式可视化

Matplotlib是一个Python的2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形;Matplotlib可生成绘图、直方图、功率谱、条形图、错误图、散点图、折线图等;Matplotlib是Python生态系统的一个重要组成部分,是用于可视化的绘图库;Matplotlib提供了一整套和matlab相似的命令API和可视化界面,可以生成出版质量级别的精美图形。

虫无涯的博客 1686

SAP S/4HANA 可扩展性 – 面向初学者的简化指南

可扩展性(Extensibility)是 SAP ECC 和 SAP S/4HANA 的一项关键功能。它使客户能够通过定制其业务流程来创造竞争优势,并使合作伙伴能够通过量身定制的解决方案来丰富核心 ECC 或 S/4HANA。在过去的几十年中,SAP 的 on-premise 版本客户和合作伙伴主要使用经典的 ABAP 扩展性来扩展他们的 ERP 解决方案。经典扩展性允许 ABAP 开发人员使用甚至修改所有 SAP 对象。尽管经典扩展性非常强大和灵活,但在当今的云世界中,它已不再是一个好的选择。

SAP学习成长之路的博客 1809

Western blot (WB) 灰度分析进阶指南:ImageJ 高效定量技巧与实战优化

本文详细介绍了使用ImageJ进行Western blot灰度分析的进阶技巧,包括批量处理、背景校正和疑难条带处理等实战优化方法。通过自动化宏脚本和动态背景校正,显著提升分析效率和准确性,特别适合科研人员处理复杂WB数据。

weixin_42557830的博客 899

python 数据分析可视化实战 超全超详细

python 数据分析可视化实战 超全超详细

1862

别再混淆了!5分钟搞懂机器人导纳控制与阻抗控制的本质区别(附Simulink对比仿真)

本文深入解析机器人柔顺控制中的导纳控制与阻抗控制的本质区别,通过信号流方向、架构对比和应用场景三个关键视角进行详细阐述。文章还提供Simulink对比仿真案例,帮助读者快速理解两种控制策略的差异及其适用场景,特别适合机器人控制领域的研究者和工程师参考。

weixin_42543046的博客 604

Python代码示例:数据清洗、表合并和分组计算销售额

在数据分析和处理过程中,数据清洗、表合并和分组计算销售额是常见的任务。本文将使用Python编程语言演示如何进行这些操作。首先,我们需要生成模拟的销售数据和商品详情数据。我们创建了一个包含订单编号、产品名称和数量的销售数据表,以及一个包含产品名称、类别和单价的商品详情表。我们使用随机数生成器来填充这些数据,并将它们保存为CSV文件。接下来,我们将读取这两个CSV文件,并进行数据清洗和表合并。我们使用函数读取CSV文件,然后使用dropna()函数去除销售数据表中的空值行。使用pd.merge()

jakelihua 1589

python基础之语言发展历史

博主简介:原互联网大厂tencent员工,网安巨头Venustech员工,阿里云开发社区专家博主,微信公众号java基础笔记优质创作者,csdn优质创作博主,创业者,知识共享者,欢迎关注,点赞,收藏。 目录一、前言二、发展历史1、Python是一种面向对象的解释型编程语言2、Python常被称为胶水语言3、Python由Guido开发4、Python连续多年入选编程语言TOP105、Python的发展历史三、总结 一、前言   由于Python语言的简洁性、易读性以及可扩展性,它在网络爬虫、数据分析、.

jiankang66的博客 3348

GEE:基于自定义的年度时序数据集进行LandTrendr变化检测

本文介绍了使用年度时序数据进行LandTrendr变化检测的方法,包括核心函数调用、参数设置和结果可视化。通过筛选参数(年份、变化幅度和持续时间)对结果进行过滤,输出变化年份、变化幅度和持续时间。代码提供了完整的处理流程,包括数据输入、LandTrendr算法运行、结果筛选与可视化,并支持结果导出。适用于基于Google Earth Engine平台的地表变化检测分析。

养乐多的博客 752

销售python_python | 销售记录可视化

01 内容提要本周我们利用python的matplotlib,针对性地练习数据可视化技能。我们拿到一家公司的销售记录,共有1500条销售数据,现在我们对这张销售记录进行可视化分析吧,这是数据分析师的必经之路哦。内容提要:条形图:各公司交易额多图:各公司交易额、订单数饼图:各公司交易额占比TOP10总额散点图:各公司订单数-交易额分布直方图:单笔订单交易额分布情况那么我们开始吧!02 数据处理首先使...

weixin_39869733的博客 585

基于YOLOv8与UI界面的短视频内容审核系统实现与深度学习应用

YOLO(You Only Look Once)是一种用于实时物体检测的深度学习模型,它能在单次前向传播中同时完成物体检测和定位。YOLOv8是YOLO系列中的最新版本,相较于之前的版本,YOLOv8具有更高的检测精度和更快的推理速度,特别适合需要实时检测的应用场景。YOLOv8通过卷积神经网络(CNN)来提取图像中的特征,并通过多个卷积层来预测每个目标的位置和类别。该模型的优势在于其端到端的结构,使得在视频监控、自动驾驶、安防监控等实时应用中,能够实现快速且高效的目标检测。

YOLO 314

python数据可视化案例销售数据_[Python数据可视化]通过分析胸罩销售记录 发现了惊人的秘密...

首先我们需要在搜索页面获取商品的id,为下面爬取用户评价提供productId。key_word为搜索的关键字,这里就是【胸罩】import requestsimport re"""查询商品id"""def find_product_id(key_word):jd_url = 'https://search.jd.com/Search'product_ids = []# 爬前3页的商品for i ...

weixin_39525812的博客 149

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

源码篇:python生成《蔬菜店销售数据分析报告》案例

本文将通过Python实现一个完整的蔬菜销售数据分析项目,涵盖数据生成、清洗、分析及可视化全流程。我们将利用模拟数据生成技术创建90天的销售记录,通过Pandas进行数据处理,结合Matplotlib和Seaborn实现多样化的可视化图表,并最终生成动态交互报告。

weixin_47139678的博客 1320

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

matplotlib多纵轴_文科生学 Python 系列 13: matplotlib 绘图/条形图

第七课 - 数据可视化本课内容:matplotlib 绘图基础 函数曲线的绘制 图形细节的设置案例分析:销售记录可视化 条形图 绘制多图 饼图 散点图 直方图seaborn 数据可视化包 分类数据的散点图 分类数据的箱线图 多变量图回顾:在之前课程中, 我们已经接触到了数据可视化在第五节课中,我们通过 pandas ...

weixin_39625747的博客 428

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

python自动售货机_题目描述-自动贩卖机销售记录分析

自动贩卖机销售记录分析自动贩卖机是一种根据选择付费后,自动出货的售货机,其不受时间、地点的限制,能节省人力、方便交易,是一种全新的商业零售形式。现在北京地铁里为了方便旅客,就在很多地方投放了饮料自动贩卖机。阳光中学开展研究性学习,高一同学李燕希望了解地铁贩卖机的销售饮料的情况,收集了附近地铁站一台自动贩卖机一周的销售记录。现需要对数据进行处理,并分析其原因,得出结论,提出合理化建议。请你完成以下任...

weixin_39609573的博客 1814

Python滑雪具销售商城 进货退货带销售员系统_x9zss

系统中需要实现对用户信息的管理,允许管理员对用户和销售员信息进行必要的设置,同时要避免管理员对个人信息进行操作,保障用户和销售员的信息安全。对雪具销售管理的流程进行科学整理、归纳和功能的精简,通过软件工程的研究方法,结合当下流行的互联网技术,最终设计并实现了一个简单、易操作的雪具销售系统。内容包括系统的设计思路、系统模块和实现方法。系统使用过程主要涉及到管理员、用户和销售员三种角色,主要包含个人中心、销售员管理、用户管理、雪具分类管理、雪具商品管理、进货记录管理、退货记录管理、系统管理、订单管理等功能。

bishe288的博客 917

python预测药_Python数据分析实例-药品销售分析

学习了Python的各种基础语法和常用包后,你是否对如何使用Python在实际工作中进行数据分析一头雾水?如果是,今天这篇文章一定能带给你一些用数据分析解决实际问题的思路。数据分析的目的决定了你的分析步骤,比如你的分析的目标是提供商业可视化方案,或者是建立模型进行预测,再或者是通过数据挖掘发现并改善现有流程等。今天我们介绍一个简单的数据分析例子-根据销售记录创建可视化报表。我是一名药品销售公司的分...

weixin_39611754的博客 528

Python实验(数据模拟分析处理)

python实验

Wendyxiaan的博客 1536

Python大数据-可视化数据

本文介绍了一个基于面向对象编程的数据可视化demo。程序通过封装CSV和JSON格式的数据文件,读取并处理销售记录数据。核心内容包括:定义Record类封装单条数据,编写FileReader类及其子类CsvFileReader、JsonFileReader实现不同格式文件的读取,最后使用Pyecharts库将处理后的销售数据(按日期汇总金额)可视化生成柱状图。该demo展示了从数据读取、封装到可视化的完整流程,体现了面向对象编程在数据处理中的应用。

2401_83049828的博客 707

【项目编号:project62245】Hadoop + Python 书籍销售数据分析:从销售明细到多维可视化看板

书籍销售分析的难点不在于画出几张图,而在于把原始销售记录整理为稳定的数据口径,并支持按书籍、类别、出版社、时间等维度持续统计。系统以 Python 负责数据处理与分析,以 Hadoop 提供面向批量数据的存储与计算能力,在前台展示销售分析结果,在管理端维护相关数据并提供可视化看板。页面中的柱状图、饼图、环形图和趋势图共同呈现不同维度的销售结构,让管理人员能够从“卖了多少”进一步看到“哪些类别贡献高、哪些出版社表现突出、销售变化如何”。

vx_BS81330的博客 294

基于Python的超市销售系统的设计与数据可视化系统(毕业设计项目源码+文档)

基于Python的超市销售与数据可视化系统 传统超市多采用人工记账、简易表格统计的销售管理模式,存在销售数据记录繁琐、库存更新滞后、数据统计耗时、经营数据无法直观展示等问题,难以精准分析销售趋势、把控库存状态,严重影响超市运营效率与管理决策。针对以上行业痛点,本文设计一款基于Python的超市销售与数据可视化系统,实现超市销售业务智能化管理与经营数据可视化分析,助力超市数字化运营管理。 本系统采用Python语言结合Django框架开发,依托MySQL数据库存储商品、销售、库存及用户数据,搭配ECharts

博主自己就是程序员、避免中介对接,从事软件开发多年,累计开发或辅导多名同学, 有丰富的项目开发和文档编写经验、同学们有任何项目问题都可以联系我,Java领域优质创作者、专注于Java技术领域和学生毕业项目实战 126

Python数据分析与可视化学习全纪录:从入门到实践的深度感悟

未来,我将带着这份热忱与思考,继续深耕数据领域,让冰冷的数据变成洞察业务、驱动决策的“热武器”,也希望我的学习历程,能给正在探索数据分析之路的你,带来一点启发与动力。随着课程推进,从基础语法到复杂的可视化呈现,每一步都充满挑战与惊喜,这趟学习之旅不仅让我掌握了工具,更重塑了对数据价值的理解。- seaborn:基于matplotlib封装的高级库,简化了常用统计图表的绘制(如箱线图、热力图),内置美观的配色和样式,适合快速生成统计可视化图表,但定制化复杂需求时,仍需结合matplotlib。

2401_89815407的博客 916

数据可视化 循环饼图

import numpy as np import pandas as pd import matplotlib.pyplot as plt from pandas import to_datetime #import datetime %matplotlib notebook plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签 plt.r...

qq_41177704的博客 391
上一篇: Python|美国婴儿姓名分析
下一篇: 转战优快云说明
Sudden|nebbuS
博客等级 码龄17年 112粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值