見出し画像

Python Pandas グルーピングと統計量

Pandasでデータ分析をするときに便利なグルーピングと、それを使った統計データ、グラフの作り方。

モジュールのインポート

print("実行環境")
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns
!python -V
print('pandas ' + pd.__version__)
print('matplotlib ' +  mpl.__version__)
print('seaborn ' +  sns.__version__)
実行環境
Python 3.8.5
pandas 1.1.3
matplotlib 3.3.2
seaborn 0.11.0
# 出力時の表示を指定の数値以下にする
pd.set_option('display.max_rows', 10)
pd.set_option('display.max_columns', 1000)

irisデータセットを用いてグルーピングをしていく。

# データの準備
iris_data = pd.read_csv('iris_test.csv')
iris_data

グループ化

特定の列でグループ化する。

iris_species_group = iris_data.groupby('species')
iris_species_group.size() #グループ化の結果と要素数の確認
species
Setosa        50
Versicolor    50
Virginica     50
dtype: int64

統計量の確認

数値テーブル化

グループ化した統計データを一覧する

iris_species_group.describe()

グラフ化

iris_data.groupby('species').mean()

箱ひげ図

上記統計量をグラフ化する。グループ毎に箱ひげ図を描く。

fig, axes = plt.subplots(1, 4, figsize=(16,4), sharey='row')
for i, graph in zip(range(4), axes.ravel()):
    sns.boxplot(y=iris_data.iloc[:,i],x=iris_data['species'], ax=graph);

この記事が気に入ったらサポートをしてみませんか?