seaborn的countplot

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

再不睡覺要猝死了!!!明天還要上班~


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容