LoginSignup
3
4

More than 3 years have passed since last update.

初心者のためのseaborn基礎②ヒストグラム(distplot)

Last updated at Posted at 2020-07-27

seabornとは

Pythonのグラフ描画のためのライブラリです。。最も有名なライブラであるmatplotlibのラッパー関数(内包プログラム)という位置づけ。簡単に見た目綺麗なグラフの描画が出来る他、一括での処理などの機能もある程度充実しています。細かく指定して描画するならmatplotlib、簡単に綺麗にならseabornのです。

ヒストグラム(distplot)

今回のテーマはヒストグラムです。ヒストグラム作成にはdistplotを使用します。見た目やパラメータの違いは「matplotlib」を用いた下記の記事と比較してみて下さい。
初心者のためのpandas基礎matplotlibでヒストグラム作成

準備

まずは、pipでseabornのライブラリをインストールして下さい。pip?って方はこちら

ライブラリをインポートします。seabornsnsという名前をつけてimportします。

import seaborn as sns

サンプルはタイタニックのデータで試してみます。タイタニックがわからない人は「kaggle タイタニック」で調べて下さい。
pandasでデータフレームを作ります。

dataframe = pd.read_csv('train.csv')

基本作成

ヒストグラム作成にはdistplotを使用します。例としてAge(年齢)別のヒストグラムを作成します。
kdeでは、密度近似関数の描画の有無をしています。難しいので呪文のように設定して下さい。
rugをTrueにするとY軸の総計が1になるように正規化されます。難しいので呪文のように設定して下さい。

sns.distplot(dataframe['Age'],kde=False, rug=False)

image.png

binsの設定

binsを用いて棒の数を設定します。例として10を設定します。

sns.distplot(dataframe['Age'],bins = 10,kde=False, rug=False)

image.png

binsの数はいくつがいいの?って疑問を感じ際は、スタージェスの公式というのを調べて下さい。

(応用)複数を重ねる

あまり用途はないかも知れませんが、重ねるには、2回構文を書くだけです。Sex(性別)で分けてみましょう。
前準備としてデータを分けます。

malelist_m = dataframe['Sex'] == 'male'
malelist_f = dataframe['Sex'] == 'female'

連続で構文を書きます。

sns.distplot(dataframe[malelist_m]['Age'],bins = 10,kde=False, rug=False )
sns.distplot(dataframe[malelist_f]['Age'],bins = 10,kde=False, rug=False )

image.png
ラベル等を使いたい場合は「matplotlib」の機能を使う必要があります。
以上です。

最後に

初心者にもわかるように、Pythonで機械学習を実施する際の必要な知識を簡便に記事としてまとめております。
目次はこちらになりますので、他の記事も参考にして頂けると幸いです。

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4