matplotlib csvデータ(irisデータ)で箱ひげ図やヒストグラムを描いてみよう

グラフを描く時は、自分のExcelやcsvで描く場合が多いと思います。

そして、個人的には1回しか作成しない図は、Excelで済ます方が早い気がします。何度も描く図であったり、大量のcsvがある場合は、pythonがよろしいかと。


コードでヒストグラム

便利なseabeanなどもありますが、とにかくmatplotlibで描いてみましょう。.hist()で描けます。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline

df1 = pd.read_csv("./iris.csv")

spe = df1[['species','sepal_length']]
spe.hist(by='species')

実行結果:

無題

はい。できました。


箱ひげ図

恐ろしく簡単にかけます。.boxplot()関数を使用。

df1.boxplot()

実行結果:


無題


ヒストグラムあれこれ

ヒストグラムのあれこれを忘備録として以下に記します。

#①列ごとにヒストグラムを表示
df1.plot.hist(subplots=True)

#②あるカテゴリでわけた後に列を色を変えてヒストグラムを表示
df1.groupby('species').plot.hist(alpha=0.5)

#③ある変量をカテゴリごとに色分けしてヒストグラムを表示
df1.groupby('species')['sepal_length'].plot.hist(alpha=0.5)

実行結果①:

無題

実行結果②:

無題

 省略しますが、同様のグラフが4つでてきます

実行結果③:

無題

と言う感じです。


箱ひげ図いろいろ

こちらもいろんな箱ひげが楽しめます。

#①複数のグラフに一つ一つの列の箱を表示
df1.plot.box(subplots=True)

#②カテゴリごとにグラフをつくり、列ごとの箱を表示
df1.groupby('species').boxplot()

#③列ごとにグラフをつくり、カテゴリで箱を表示
df1.boxplot(by='species')

#④一つの列対し、カテゴリごとの箱を表示
df1.boxplot(by='species',column='sepal_length')

実行結果①:

無題

実行結果②:

無題

実行結果③:

無題

実行結果④:

無題

という感じです。

簡単なモジュールで描くこともできますが、基本的なグラフこそ、pythonの基礎を使って丁寧に描くと理解が深まると思います。

いいなと思ったら応援しよう!