数据可视化入门(一)——用seaborn进行单变量分析

导语

seaborn是python里面做数据分析和机器学习常用的可视化库。它对matplotlib进行了深度封装,从而可以用非常简单的api接口绘制相对复杂的图形,提供对数据的深入认识。
这里为了让读者更深入的了解每个图形的意义,我们将从最简单的一维分布介绍起。

一、认识分布

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
df = pd.read_csv("C:/Users/GaoJianli/Desktop/ml/SeabornHandbook/demo.csv")
df 
Id Age
1 22
2 38
3 26
4 35
5 35
6 39

看下均值、中位数、方差

df.describe()

count     6.000000
mean     32.500000
std       6.892024
min      22.000000
25%      28.250000
50%      35.000000
75%      37.250000
max      39.000000
Name: Age, dtype: float64

二、可视化该分布

sns.countplot(df["Age"])
plt.show()
countplot.png

可以看到,通过countplot会绘制出,每个值在样本中出现的次数。到底哪个值出现得比较多就能很容易的看出来了

sns.barplot(y="Age", data=df)
plt.show()
barplot.png

可以看到,barplot是一个柱状图上面加一个黑线。
柱状图的值默认情况下对应的要显示的样本的均值,本图中也就是 32.5,而黑线默认情况则标识了95%的置信区间。
何为95%的置信区间?95%的置信区间指的是对于当前样本所属的分布而言,当有个新的值产生时,这个值有95%的可能性在该区间内,5%的可能性不在该区间内
我们可以通过速算公式计算95%的置信区间,范围为(26.5,37.5),跟上图可以对应上。
由此可见,barplot主要用来描述样本的均值和置信区间(置信区间本质上应该算是对整个分布的预估,而不仅仅是展示当前样本里面的信息)

sns.pointplot(y="Age", data=df)
plt.show()

pointplot.png

很容易看出来,pointplot表现的内容跟barplot是一样的。
pointplot也是用来描述样本的均值和置信区间

sns.boxplot(y="Age", data=df)
plt.show()

boxplot.png

boxplot长得跟barplot很像。但描述的内容却不一样。boxplot黑线起点是最小值,终点是最大值。而柱子的起点是25%处的值,终点是75%处的值。柱子中间的那条黑线则对应着50%处的值。跟我们通过df.describe()显示的结果一致(25%是28.25, 75%是37.25,50%是35。注意50%处的这个值和均值是不同的,均值是32.5,boxplot中并未显示出来。)
因此,boxplot是来表现样本里面的四分位值以及最大最小值的

sns.distplot(df["Age"])
plt.show()
distplot.png

distplot展示了整体的分布情况,其中的曲线图则是概率密度函数。在概率密度函数中,某个点的概率是无意义的。而某两个点之间的概率则是通过对这两个点之间的面积计算得来的。对应到该图上,则意味着Age=40的概率是无意义的,但是Age在30和40之间的概率是二者之间的曲线下的面积。所以,整个曲线下的面积是1,对应着所有值出现的概率总和。
由此可知,distplot主要用来对整体分布进行预估,并很容易观察出某个区间概率的大小情况

sns.violinplot(df["Age"])
plt.show()

violinplot.png

violinplot是结合了boxplot和distplot的优点。
通过violinplot既能看到当前样本的最大最小值和四分位值,又能看到对整体分布的预估,了解任意区间的概率分布情况

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容