このページでは統計の基本となる箱ひげ図を表示する方法を全部で4つ紹介します。
今日は箱ひげ図の表示の仕方を知りたいんです!
前回、四分位数を求める方法を勉強したので、今度は図で確認していたいんです!
四分位数を求めたら、今度はグラフで箱ひげ図を見てデータの様子を視覚的に知りたいですよね。
今日はPythonを使って箱ひげ図を表示する方法を学んでいきましょう!
箱ひげ図は、データの分布や値のばらつきをわかりやすく表現するためのグラフです。
Pythonでは、matplotlibやseabornなど様々なライブラリを使って箱ひげ図を表示することができます。
箱ひげ図は、データの四分位数を用いて作成されており、以下の部分から構成されています。
- 箱:中央値、第1四分位数、第3四分位数を表します。
- ヒゲ:箱の上下から伸びた線で、データの範囲を表します。
- 外れ値:箱の上下から伸びた線よりも外側にある値です。
箱ひげ図を表示する4つの方法
Pythonで箱ひげ図を表示する場合、4つの方法があります。
- matplotlibモジュールを使用して表示する方法
- seabornモジュールを使用して表示する方法
- pandasモジュールを使用してそのまま表示する方法
- plotlyモジュールを使用して表示する方法
それぞれ順番に説明していきます。
matplotlibモジュールを使用して表示する方法
matplotlibはデータの可視化を行うためのライブラリで、箱ひげ図を描画するmatplotlib.pyplot.boxplot()
関数を提供しています。
import matplotlib.pyplot as plt
data = [12, 34, 57, 22, 97, 51, 69, 87, 72, 62]
#箱ひげ図を描画
plt.boxplot(data)
plt.show() #グラフを表示
seabornモジュールを使用して表示する方法
seabornもまたデータの可視化を行うためのライブラリで、箱ひげ図を描画するseaborn.boxplot()
関数を提供しています。
import seaborn as sns
data = [12, 34, 57, 22, 97, 51, 69, 87, 72, 62]
#箱ひげ図を描画
sns.boxplot(data=data)
pandasモジュールを使用してそのまま表示する方法
pandasはデータ分析を行うためのライブラリで、データフレームやシリーズという形式でデータを扱います。pandas.DataFrame.plot.box()
またはpandas.Series.plot.box()
関数を使用すると、データフレームまたはシリーズの箱ひげ図を描画できます。
import pandas as pd
data = pd.Series([12, 34, 57, 22, 97, 51, 69, 87, 72, 62])
#箱ひげ図を描画
data.plot.box()
plotlyモジュールを使用して表示する方法
plotlyはインタラクティブなグラフを作成するためのライブラリで、箱ひげ図を描画するplotly.graph_objects.Box()
関数を提供しています。
import plotly.graph_objects as go
data = [12, 34, 57, 22, 97, 51, 69, 87, 72, 62]
#箱ひげ図を描画
fig = go.Figure(data=go.Box(y=data))
fig.show() #グラフを表示
このコードは、データのリストをソートし、その中央値(第二四分位数)、第一四分位数、および第三四分位数を計算します。
ただし、この方法はPythonの組み込み関数のみを使用しているため、大規模なデータセットに対しては効率が低下する可能性があります。
そのため、大量のデータを扱う場合や高度な統計的分析が必要な場合は、numpyやpandasなどのライブラリを使用することをお勧めします!
なんとかできました~!
グラフ描画ツールもたくさんあって、箱ひげ図でデータを確認する方法もこんなにたくさんあるんですね!
データの様子を確認する際にも良く用いる箱ひげ図ですが、Pythonだと使うモジュールによって見た目も大きく変わります!
たくさんの方法があるから目的に合わせて使い分けられると良いですね!
まとめ
Pythonで箱ひげ図を描画する場合、たくさんのモジュールが用いられます。
また、箱ひげ図から、以下の情報を読み取ることができます。
- データの中央値
- データの範囲
- データのばらつき
- 外れ値の有無
ぜひデータを取り扱う前段階からデータの様子を確認する上でも利用ください。
このサイトの記事一覧へは以下へアクセス!
コメント