Python统计分析可视化库seaborn(相关性图,变量分布图,箱线图等等)

摘要:
Seaborn图书馆旨在将可视化作为数据探索和理解的核心部分,这有助于人们更深入地理解所研究的数据集。在这个项目中,我们将使用seaborn库来分析数据集,并显示不同类型的统计图#相关图,与列sns的关系。pairplot#相关热力学图sns热图:热图可用于显示两个变量之间的相关性。两个变量之间对应的矩形框的颜色越浅,它们就越相关。Kdeplot图sns-KDE代表内核密度估计。它还显示了总消费量的统计分布。

Visualization of seaborn
  seaborn[1]是一个建立在matplot之上,可用于制作丰富和非常具有吸引力统计图形的Python库。Seaborn库旨在将可视化作为探索和理解数据的核心部分,有助于帮人们更近距离了解所研究的数据集。无论是在kaggle官网各项算法比赛中,还是互联网公司的实际业务数据挖掘场景中,都有它的身影。

   在本次介绍的这个项目中,我们将利用seaborn库对数据集进行分析,分别展示不同类型的统计图形。

首先,我们将导入可视化所需的所有必要包,我们将使用到的几个包:

Numpy
pandas
matplotlib
seaborn

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

tips = pd.read_csv('tips.csv')
tips.head()

Python统计分析可视化库seaborn(相关性图,变量分布图,箱线图等等)第1张

各属性相关性

# 相关性
tips.corr()
Out[2]: 
            total_bill       tip      size
total_bill    1.000000  0.675734  0.598315
tip           0.675734  1.000000  0.489299
size          0.598315  0.489299  1.000000

pair plot图

#相关性图 很壮观
sns.pairplot(tips) 

Python统计分析可视化库seaborn(相关性图,变量分布图,箱线图等等)第2张

看图说话:这些图展现了数据集中消费总额、小费金额以及顾客数量三个特征(变量)之间的联系。

#相关性图,和某一列的关系
sns.pairplot(tips ,hue ='sex', markers=["o", "s"])

Python统计分析可视化库seaborn(相关性图,变量分布图,箱线图等等)第3张

# 相关性热力图
sns.heatmap(tips.corr())

Python统计分析可视化库seaborn(相关性图,变量分布图,箱线图等等)第4张

 看图说话:热力图可用来显示两变量之间的相关性,在这里两变量间对应的矩形框的颜色越浅,代表两者之间越具有相关性。

# 分层相关性热力图
sns.clustermap(tips.corr())

Python统计分析可视化库seaborn(相关性图,变量分布图,箱线图等等)第5张

g = sns.PairGrid(tips)
g.map_diag(sns.distplot)
g.map_upper(plt.scatter)
g.map_lower(sns.kdeplot)

Python统计分析可视化库seaborn(相关性图,变量分布图,箱线图等等)第6张

看图说话:这个厉害了。在pair grid图中,你可以根据自己需求,在这里呈现上述介绍的各种类型的图形。

单个属性的分布

dist plot图

sns.distplot(tips['total_bill'])

Python统计分析可视化库seaborn(相关性图,变量分布图,箱线图等等)第7张

sns.distplot(tips['total_bill'],kde = False)

Python统计分析可视化库seaborn(相关性图,变量分布图,箱线图等等)第8张

看图说话:上图显示,顾客在餐厅的消费总金额主要是在5-35的范围内分布的。

count plot图

sns.countplot(x = 'smoker', data = tips)

Python统计分析可视化库seaborn(相关性图,变量分布图,箱线图等等)第9张

看图说话:上图显示,来餐厅就餐的顾客,不抽烟者比会抽烟者多

sns.countplot(x = 'size',  data = tips)

这里写图片描述 
看图说话:上图显示,2个人来餐厅就餐的总次数多一些。

rug plot图

sns.rugplot(tips['total_bill'])

Python统计分析可视化库seaborn(相关性图,变量分布图,箱线图等等)第11张


看图说话:上图呈现的是,顾客就餐消费总额在各个值上的边缘分布。

kde plot图

sns.kdeplot(tips['total_bill'], shade=True)

 Python统计分析可视化库seaborn(相关性图,变量分布图,箱线图等等)第12张

看图说话:KDE代表内核密度估计,它也显示了各个消费总金额数值的统计分布。

两两属性的相关性图

joint plot图

sns.jointplot(x = 'total_bill', y = 'tip', data = tips)

Python统计分析可视化库seaborn(相关性图,变量分布图,箱线图等等)第13张


看图说话:上图显示,顾客主要消费水平在10-30远之间,而此时,对应给侍者小费的钱在1-5元之间。

sns.jointplot(x = 'total_bill', y = 'tip', data = tips ,kind = 'hex')

 Python统计分析可视化库seaborn(相关性图,变量分布图,箱线图等等)第14张

另一种清晰地可视化视图,颜色的深度代表频次。

sns.jointplot(x = 'total_bill', y = 'tip', data = tips ,kind = 'reg')

Python统计分析可视化库seaborn(相关性图,变量分布图,箱线图等等)第15张

看图说话:通过做一条简单的回归线,它表明了小费的金额是随着总账单金额的增加而增加的。

sns.jointplot(x = 'total_bill', y = 'tip', data = tips ,kind = 'kde')

 Python统计分析可视化库seaborn(相关性图,变量分布图,箱线图等等)第16张

另一种可视化统计图:某个区域越暗,表明这个区域对应的频次越多。

box plot图

sns.boxplot(x = 'day', y= 'total_bill', data = tips)

Python统计分析可视化库seaborn(相关性图,变量分布图,箱线图等等)第17张


看图说话:上图显示大部分账单是在周六和周日支付的。

sns.boxplot(x = 'day', y= 'total_bill', data = tips, hue = 'sex')

Python统计分析可视化库seaborn(相关性图,变量分布图,箱线图等等)第18张

看图说话:在上面的图表中你可以看到,在周六时,女性买单的次数会比男性多。(难道是因为买买买,男性付了好多钱,女性为了弥补男性的心里落差,然后请吃饭?哈哈)

violin plot

sns.violinplot(x = 'day', y= 'total_bill', data = tips)

Python统计分析可视化库seaborn(相关性图,变量分布图,箱线图等等)第19张

看图说话:voilin plot和box plot很相似,但它结合了box plot图和密度痕迹。

sns.violinplot(x = 'day', y= 'total_bill', data = tips, hue = 'sex', split = True)

 Python统计分析可视化库seaborn(相关性图,变量分布图,箱线图等等)第20张

看图说话:增加了性别的区分

strip plot图

sns.stripplot(x = 'day', y = 'total_bill', data = tips)

 Python统计分析可视化库seaborn(相关性图,变量分布图,箱线图等等)第21张

看图说话:这幅图呈现的是周四、周五、周六和周日这四天,顾客消费总额的散点图。

sns.stripplot(x = 'day', y = 'total_bill', data = tips, jitter= True,hue = 'sex', dodge = True)

 Python统计分析可视化库seaborn(相关性图,变量分布图,箱线图等等)第22张

看图说话:和上图一样,只不过对性别进行了区别。

swarm plot图

sns.swarmplot(x = 'day', y = 'total_bill', data = tips)

 Python统计分析可视化库seaborn(相关性图,变量分布图,箱线图等等)第23张

看图说话:Swarn plot和stripplot比较类似,但Swarn plot的不同之处在于它不会重叠数据点。

factor plot图

sns.factorplot(x = 'day', y = 'total_bill', kind = 'box', data = tips)

 Python统计分析可视化库seaborn(相关性图,变量分布图,箱线图等等)第24张

看图说话:在factorplot图中,你可以给出任何你需要显示的图形。

免责声明:文章转载自《Python统计分析可视化库seaborn(相关性图,变量分布图,箱线图等等)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇odoo10学习笔记(7)python tkinter-菜单栏下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

可爱猫+python——定制化微信机器人

框架是模拟真实用户操作,只要不违法乱纪,是不用担心账号冻结问题的。 一、环境搭建 首先当然是下载安装可爱猫了,访问可爱猫官网(http://www.keaimao.com/),下载安装即可(要安装指定版本的微信哦)。 之后就是添加可爱猫的http插件,添加完之后如下所示: 最后设置收到微信消息后的回调地址及控制微信操作的接口地址,如下图所示: 二、服务...

Django项目:CMDB(服务器硬件资产自动采集系统)--11--07CMDB文件模式测试采集硬件数据

1 #settings.py 2 # ————————01CMDB获取服务器基本信息———————— 3 import os 4 5 BASEDIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))##当前路径 6 7 # 采集资产的方式,选项有:a...

vue histroy模式去除#页面刷新访问空白原因以及解决办法

开启history模式: 如果不开启的话,路由默认是hash模式,开启这个模式前端的工作也很简单,如下: mode: 'history' //在路由那里配置一下这个 如图标记1所示 https://www.XXXXX.com/data/#/login // => 就替换成 https://www.XXXXX.com/data/login 先用h...

MATLAB拟合和插值

定义 插值和拟合: 曲线拟合是指您拥有散点数据集并找到最适合数据一般形状的线(或曲线)。 插值是指您有两个数据点并想知道两者之间的值是什么。中间的一半是他们的平均值,但如果你只想知道两者之间的四分之一,你必须插值。   拟合 我们着手写一个线性方程图的拟合: y=3x^3+2x^2+x+2 首先我们生成一组数据来分析: x=-5:0.5:5; e=50*r...

ElasticSearch基本学习

ES介绍 维基百科使用Elasticsearch来进行全文搜做并高亮显示关键词,以及提供search-as-you-type、did-you-mean等搜索建议功能。 英国卫报使用Elasticsearch来处理访客日志,以便能将公众对不同文章的反应实时地反馈给各位编辑。 StackOverflow将全文搜索与地理位置和相关信息进行结合,以提供more-l...

MYSQL管理----数据库删除恢复

(1) 如果备份了,就好解决了。略。 (2)如果日志打开,使用mysqlbinlog来恢复。 mysqlbinlog工具的使用,大家可以看MySQL的帮助手册。里面有详细的用,在这个例子中,重点是--start-position参数和--stop-position参数的使用。•--start-position=N从二进制日志中第1个位置等于N参量时的事件开...