美文网首页
seaborn的countplot

seaborn的countplot

作者: dasdadf | 来源:发表于2017-08-21 01:12 被阅读0次
    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')
    

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


    相关文章

      网友评论

          本文标题:seaborn的countplot

          本文链接:https://www.haomeiwen.com/subject/vrbqdxtx.html