要在数据可视化中脱颖而出,你必须知道的 8 个图表用法!

Python学习与数据挖掘

共 2995字,需浏览 6分钟

 ·

2021-12-02 11:12

数据可视化主要旨在借助于图形化手段,清晰有效地传达与沟通信息,它与信息图形、信息可视化、科学可视化以及统计图形密切相关。

当前,在研究、教学和数据开发领域,数据可视化是一个极为活跃而又关键的方面。现代企业使用各种可视化技术来理解数据并从中获得洞察力,从而做出数据驱动的业务决策。也有很多可视化工具可用,例如 Tableau、Power BI、Looker、Qlik Sense 等等。

在本文中,我将分享8种常用的 Python 可视化图表,介绍它们的最佳使用场景,同时分享一个实战案例,欢迎大家收藏学习,喜欢点赞支持。文末提供技术交流群,欢迎畅聊。

数据可视化的必要性

当数据以简单的可视化的格式呈现时,数据更有意义并且更容易理解,因为人眼很难从原始数据中解读模式、趋势和季节性,因此,数据被可视化以了解不同参数的行为。

各种类型的图表及其用途

1. 条形图和柱形图

这是了解我们的定量领域在各种类别中的表现的最简单的图表之一,它用于比较。

从上面的柱状图可以看出,技术类的销售额较高,办公用品的销售额最少。上图是一个条形图,显示 L 类别的表现更好。

2. 散点图和气泡图

散点图和气泡图帮助我们了解变量如何分布在所考虑的范围内。它可用于识别模式、异常值的存在以及两个变量之间的关系。我们可以看到,随着折扣的增加,利润也在减少。

3. 折线图

当必须呈现与时间相关的数据时,它是首选。它最适合分析趋势。

从上图中,我们可以看到销售额在几个月内呈上升趋势,但 7 月份突然下降,而 11 月份的销售额最高。

4. 直方图

直方图是一种频率图,用于记录数据集中某个条目的出现次数。当您想了解系列的分布时,它很有用。

5. 箱线图

箱线图可以有效地总结大数据的分布。他们使用百分位数来划分数据范围。这有助于我们了解低于或高于所选数据点的数据点。它帮助我们识别数据中的异常值。箱线图将整个数据分为三类

  • 中值——将数据分成相等的两半
  • IQR – 它的范围在第 25 个和第 75 个百分位值之间。
  • 离群值 – 该数据存在显着差异并且位于须线之外。

上图中的圆圈显示了异常值的存在。

6. 子图

有时最好在同一网格中绘制不同的图以更好地理解和比较数据。

7. 甜甜圈、饼图和堆积柱形图

当我们要查找数据的组成时,下述图表是最好的。

上面的圆环图显示了不同产品类别的销售构成。

上面的饼图显示了不同年份的销售额百分比。

上面堆叠的柱状图显示了两种产品在不同季度的销售情况。

8. 热图

当我们想要检查变量之间是否存在相关性时,它是最优选的图表。这里正值表示正相关,负值表示负相关。颜色表示相关的强度,颜色越深正相关越高,颜色越浅负相关越高。

使用 Python 进行数据可视化

Python 提供了各种以图形方式理解数据的库,例如 Matplotlib 和 Seaborn 等。Anubhav 是一家以产品为基础的公司,销售不同种类的产品。让我们探索数据以找出一段时间内的销售额,哪个产品类别/子类别的销售额最高,利润与折扣增加的关系。

  1. 我们先导入相关的库。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings ('ignore')
  • 下一步是加载数据集
sales=pd.read_excel('Maven Supplies Raw.xlsx',skiprows=3)
sales.head(2)
  • 探索数据
sales.info()
sales.describe()
sales.columns
  • 图像可视化

首先,探索销售额百分比的类别组成

sales.groupby(['Category'])['Sales'].sum().plot(kind='pie',autopct='%1.2f%%')
plt.title("Sales% of different category")
plt.ylabel(" ")
plt.show();

我们可以看到,与其他类别相比,技术表现更好。数据中有很多子类别,让我们看看不同子类别的表现如何。

plt.figure(figsize=(10,3))
sales.groupby(['Sub-Category'])['Sales'].sum().sort_values(ascending=False).plot(kind='bar',color='seagreen')
plt.show();

我们可以看到,手机的销量最高。不同地区的销售额会有所不同, 让我们来看看

sales.groupby(['Region'])['Sales'].sum().sort_values(ascending=False).plot(kind='bar',color='seagreen')
plt.show();

西部地区销量高,南部地区销量最低。现在让我们看看各地区的利润表现如何

sales.groupby(['Region'])['Profit'].sum().sort_values(ascending=False).plot(kind='bar',color='seagreen')
plt.show();

与中部地区相比,在销售方面表现最差的南部地区表现更好。热图让我们更好地了解不同变量如何相互关联。

plt.figure(figsize = (105))
sns.heatmap(sales.corr(),annot=True,cmap="summer")
plt.show()

很明显,折扣与利润呈负相关。让我们解读一下折扣增加对利润的影响。

sns.scatterplot(x = 'Discount', y='Profit', data = sales ,color='seagreen')
plt.show;

我们可以看到,随着折扣的增加,利润也在减少。销售额不是恒定的,它会根据各种因素增加或减少。让我们看看销售在不同月份的表现如何。

sales.groupby(['month'])['Sales'].sum().plot(kind='line',color='seagreen')

因此,我们可以说可视化说了很多,它总会有一些故事可以讲述,这有助于企业做出数据驱动的决策。

结论

在本文中,我们讨论了各种图形及其用途、处理了一个数据集,以及如何使用 Python 库来可视化数据并从中理解。通过可视化,我们很容易了解数据中的隐藏模式或趋势。通过几个例子,我们可以看到图表有助于比较、容易理解。



这对夫妻太牛了!双双考博成同门师兄妹,带娃发SCI两不误


Pendulum:可能是最好的 Python DateTime 库!


妙不可言!使用 Python 管道 Pipe 编写代码如此优雅!


长按或扫描下方二维码,后台回复:加群,可申请入群。一定要备注:入群+地点+学习/公司。例如:入群+上海+复旦。


感谢你的分享,点赞,在看  

浏览 38
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报