江湖流传一句话:"字不如表,表不如图",在 Python 中数据可视化有许多选择,但是大多数的库在语法简洁与灵活度不能平衡,本系列将探讨数据探索时如何使用合适的数据可视化库完成工作。
本系列或多或少涉及一些 pandas 的骚操作(网上很难看到相关的资料),其并非可视化的重点,不会多做讲解。
一切技巧与应用,尽在 pandas 专栏中
不管是在数据探索还是报告阶段,数据可视化都是一个非常有用的工具。今天我们来看看如何使用四象限图(波士顿矩阵图),为店铺销售员分门别类。本系列我将尽可能使用不同的工具制作。
计划中的工具:
今天的主角是 seaborn
为什么需要介绍多个 Python 的可视化库?因为他们各有特点,而且我不喜欢太复杂的东西,总是在找一个最简单的可视化库。这也是我为可视化专栏做的准备工作
导入包代码如下:
某商品销售店铺某天的订单数据:
每位销售员接待客人的记录:
现在你要根据这些数据,得到这些问题的答案:
如果我们只是根据简单的销售数量或销售额:
这些指标不足以看出问题。在零售领域中已经有许多被证明有效的统计指标,今天我们将使用其中2个指标:
假设大环境元素相对固定的情况下,我们就可以使用以上指标分析销售员的水平
如何用 pandas 得到这些指标不是本文重点,反正一顿骚操作如下:
虽然得到2个重要的指标,但你能通过数据看出啥吗?
不容易吧。因为人对数字的变化不是很敏感。
但是,人对位置却极其敏感。
接下来,我们不妨把数值的差异在位置上展现出来。
有2个数值指标,刚好对应二维图表的xy轴,于是很容易想到的是使用散点图:
现在能大致看出这些销售员的能力位置!
但这还不够,因为还不能直观看出来哪些处于平均水平以下或以上。
那么,就在2个指标上各自加上一个均值线:
现在还缺点东西,在图上看不出那些点是哪位员工。
把销售员名字加上:
这就是四象限图,他有如下特点:
现在可以回答文章开头的问题:
seaborn 一般需要配合 matplotlib 才能做出比较复杂的图表。因此,了解 matplotlib 的对象层次是一个比较关键的学习方式。