seaborn的countplot

2017-08-21  本文已影响0人  dasdadf
countplot

说点什么呢

seaborn是python的一个可视化模块,构建于matplotlib之上,对于pandasDataFrame这种数据结构有着很好的支持,能够大大减少构建绘图数据是所需的工作量(我也不知道自己为什么要装逼不去用R的ggplot2)。

countplot

到底要不要点
有时候我们需要对DataFrame中的某一列或两列进行统计(多了我也不会),省去去构建barplot所需的数据这一过程,seaborncountplot能够很好的胜任这一……(这一什么?使命~ 真的是词穷啊~)

markdown竟然有下标 可以)

Show the counts of observations in each categorical bin using bars.
使用bars来表示每个分类数据的数目

如果你没有打开上面的链接,那么~我把它搬过来了。

像所有的matplotlib函数那样,这个函数也有着挺多的参数,但是平时用到的应该也就这几个

x, y, hue : names of variables in data or vector data, optional
data : DataFrame, array, or list of arrays, optional
order, hue_order : lists of strings, optional
ax

data平时我用的也就是DataFrame的名字
ax用来指定坐标系(不明白的话去补一下matplotlib的知识)。

x比较容易理解,就是因子所在的列名(平时使用的都是DataFrame),如果只给了x这一个指定数据的参数,那么就会汇出这个每个因子所包含的记录的数目(ipython notebook)

import seaborn as sns
%matplotlib inline
titanic_df=sns.load_dataset("titanic")

titanic_df.head(5)  #看一下数据什么样子
    survived    pclass  sex age sibsp   parch   fare    embarked    class   who adult_male  deck    embark_town alive   alone
0   0   3   male    22.0    1   0   7.2500  S   Third   man True    NaN Southampton no  False
1   1   1   female  38.0    1   0   71.2833 C   First   woman   False   C   Cherbourg   yes False
2   1   3   female  26.0    0   0   7.9250  S   Third   woman   False   NaN Southampton yes True
3   1   1   female  35.0    1   0   53.1000 S   First   woman   False   C   Southampton yes False
4   0   3   male    35.0    0   0   8.0500  S   Third   man True    NaN Southampton no  True

# 用y的话就变成水平的了
sns.countplot(x = 'survived',data=titanic_df)

这里是仅仅绘出了titanic_dfsurvived这一列数据中两类的数目

x='survived'

有500+的遇难者(‘0’),300+的幸存者(‘1’)。
(ps:这里使用的是seaborn自带的泰坦尼克的数据,对就是那艘首秀即谢幕的巨轮)

如果我们同时要查看在这些遇难者以及幸存者中,男人以及女人的数目,就需要加入另外一个参数hue(我始终不明白为什么要用这个词~)

# 依旧是上面的数据
sns.countplot(x = 'survived',hue = 'sex',data=titanic_df)
hue = 'sex'

遇难者以及幸存者男女比例一目了然,这很gentleman。

嗯~就到这里

如果想要进行更多的定制话操作,可以参照axis对象的方法(matplotlib中),由于这个函数是有返回值的,返回的是一个matplotlib Axes对象,因此,可以通过面向对象的方法进行后续axis所支持的各种操作。

# 中文无法正常显示,好像字体问题,没有深究。
g = sns.countplot(x = 'survived',hue = 'sex',data=titanic_df)
g.set_title('title')

再不睡觉要猝死了!!!明天还要上班~


上一篇 下一篇

猜你喜欢

热点阅读