Help us understand the problem. What is going on with this article?

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

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で機械学習を実施する際の必要な知識を簡便に記事としてまとめております。
目次はこちらになりますので、他の記事も参考にして頂けると幸いです。

Yanagawa_Yoshihisa
外資系IT企業でDXを中心とするコンサルタントをやっています。基本は構想とか企画が仕事ですが、実際のものをさわらないとリアリティのあることは語れないので、趣味程度にいろいろさわっています。個人のメモに留めておくよりも公開した方が良いかなと思いメモ書き適度に記載しております。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away