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()

各属性相关性

# 相关性
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)

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

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

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

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

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

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

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

单个属性的分布

dist plot图

sns.distplot(tips['total_bill'])

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

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

count plot图

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

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

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

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

rug plot图

sns.rugplot(tips['total_bill'])

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

kde plot图

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

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

两两属性的相关性图

joint plot图

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

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

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

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

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

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

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

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

box plot图

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

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

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

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

violin plot

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

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

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

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

strip plot图

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

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

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

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

swarm plot图

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

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

factor plot图

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

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

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

  1. Matplotlib数据可视化(6):饼图与箱线图

    In [1]: from matplotlib import pyplot as plt import numpy as np import matplotlib as mpl mpl.rcParam ...

  2. 扩增子图表解读1箱线图:Alpha多样性

    箱线图 箱形图(Box-plot)又称为盒须图.盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图.因形状如箱子而得名.在宏基因组领域,常用于展示样品组中各样品Alpha多样性的分布 第一种情 ...

  3. 第六篇:R语言数据可视化之数据分布图(直方图、密度曲线、箱线图、等高线、2D密度图)

    数据分布图简介 中医上讲看病四诊法为:望闻问切.而数据分析师分析数据的过程也有点相似,我们需要望:看看数据长什么样:闻:仔细分析数据是否合理:问:针对前两步工作搜集到的问题与业务方交流:切:结合业务方 ...

  4. 箱线图(boxplot)简介与举例

    简述:   盒图是在1977年由美国的统计学家约翰·图基(John Tukey)发明的.它由五个数值点组成:最小值(min),下四分位数(Q1),中位数(median),上四分位数(Q3),最大值(m ...

  5. 箱线图boxplot

    箱线图boxplot--展示数据的分布 图表作用: 1.反映一组数据的分布特征,如:分布是否对称,是否存在离群点 2.对多组数据的分布特征进行比较 3.如果只有一个定量变量,很少用箱线图去看数据的分布 ...

  6. 扩增子统计绘图1箱线图:Alpha多样性

    绘制Alpha多样性线箱图 绘图和统计全部为R语言,建议复制代码,在Rstuido中运行,并设置工作目录为存储之前分析结果文件的result目录 # 运行前,请在Rstudio中菜单栏选择“Sessi ...

  7. pyhton中matplotlib箱线图的绘制(matplotlib双轴图、箱线图、散点图以及相关系数矩阵图))

    //2019.07.23 1.箱形图,又称为盒式图,一般可以很好地反映出数据分布的特征,也可以进行多项数据之间分布特征的比较,它主要包含五个基础数据:中位数,两个上下分位数以及上下边缘线数据 其中的一 ...

  8. Matlab boxplot for Multiple Groups(多组数据的箱线图)

    在画之前首先介绍一下Matlab boxplot,下面这段说明内容来自http://www.plob.org/2012/06/10/2153.html   由于matlab具有强大的计算功能,用其统计 ...

  9. Matplotlib学习---用matplotlib画箱线图(boxplot)

    箱线图通过数据的四分位数来展示数据的分布情况.例如:数据的中心位置,数据间的离散程度,是否有异常值等. 把数据从小到大进行排列并等分成四份,第一分位数(Q1),第二分位数(Q2)和第三分位数(Q3)分 ...

随机推荐

  1. Maven编译指定(跳过)Module

    今天在项目里新添加了一个Module, 但是在jenkins编译的时候会将这个Module也编译, 问题是这个Module根本不需要编译而且巨慢. 因此我只想编译指定模块 ModuleA以及它依赖的必 ...

  2. Spark学习(4)----ScalaTest

    一.例子: 1.一个简单例子:https://www.jianshu.com/p/ceabf3437dd7 2.Funsuite例子:https://www.programcreek.com/scal ...

  3. HDU4465 Candy

    Candy Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  4. docker零碎知识

    一.关于容器的时区配置: docker中如果对时区不加限制,默认会采用GMT时间,对于东八区来说,需要修改,修改方式有多种: 1.在Dockerfile中的修改 FROM centos: MAINTA ...

  5. HDU 6070 - Dirt Ratio | 2017 Multi-University Training Contest 4

    比赛时会错题意+不知道怎么线段树维护分数- - 思路来自题解 /* HDU 6070 - Dirt Ratio [ 二分,线段树 ] | 2017 Multi-University Training ...

  6. 2、创建MFC应用程序——基于对话框,时间计时器

    使用计时器更新MFC界面时间,频率1s. 文件——新建项目——MFC应用程序,下一步,选择基于对话框,其他默认,完成. 双击窗体(或者鼠标右键)进入类向导,自动创建Ontimer()函数 void C ...

  7. CSS权重;慎用!important

    初初接触样式的前端开发者在碰到样式覆盖时,最先选择的往往是!important. 但是这种做法不好,应该优先考虑从样式的级联属性或者位置来解决问题. 切记以下情况永远不要使用!important: 1 ...

  8. 51 Nod 1475 建设国家 (优先队列+贪心)

    1475 建设国家  基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题  收藏  关注 小C现在想建设一个国家.这个国家中有一个首都,然后有若干个中间站,还有若干个城 ...

  9. ubuntu 16.04安装gitlab,然后汉化

    1 前期准备 电脑配置:windows7 ,内存8GB以上(因为有4GB左右要分配给虚拟机中的ubuntu) 虚拟机:VBOX Linux系统:ubuntu16.04 64bit 2 Gitlab的搭 ...

  10. 1-1RGB色彩模式

    http://www.missyuan.com/thread-350716-1-1.html RGB色彩模式 CTRL+O  打开文件 双击{O->Open} F8/菜单-窗口-信息    调出 ...