はじめに
1変数データの可視化をまとめました.
Pythonのデータ可視化でググっても,変数が1つの場合と2つの場合が混在していること,よくありますよね.
この記事では1変数のデータ可視化をまとめています.
可視化の例のために使用させていただいたデータ: House Prices
import pandas as pd
import seaborn as sns
df = pd.read_csv("./train.csv", index_col=0)
棒グラフ
種類が少ないデータのカウントなど.
カテゴリカルデータ
種類が多いデータなら.head(10)などを使って,カウントが多いデータのみを表示するのもアリ.
df["SaleCondition"].value_counts().plot.bar()
# sns.countplot(df["SaleCondition"])
数値データ
df["OverallCond"].value_counts().sort_index().plot.bar()
折れ線グラフ
seabornのlineplotなら,複数の折れ線グラフを一つの画像にまとめられます.
df['OverallCond'].value_counts().sort_index().plot.line()
# sns.lineplot(df['OverallCond'].value_counts().sort_index())
カーネル密度推定
これ (上) が こう (下) なる.
ノイズが酷いデータなら採用してもいいかもしれません.
sns.kdeplot(df['YearBuilt'])
ヒストグラム
pandasなら,データを一定区間で区切ってカウントして……とやらなくてもよしなにやってくれます.
df['GarageArea'].plot.hist()
Swarm plot
値に合わせて,点の数でカウントの多さを表します.
カウントが多すぎる場所は省略される (画像真ん中下あたりの端っこ) ので注意.
真偽値などの離散データをx軸に設定可能です.
sns.swarmplot(df["GarageArea"])
箱ヒゲ図
四分位数をプロットします.はずれ値も丸で表示してくれるのが嬉しい.
真偽値などの離散データをx軸に設定可能です.
sns.boxplot(df["GarageArea"])
バイオリン
kagglerがよく使っている印象があります.
データのカウントに応じて膨らみが大きくなります.
折れ線グラフを90度回転させた感じ.
真偽値などの離散データをx軸に設定可能です.
sns.violinplot(df["GarageArea"])