PythonとPandasを使用してデータをグループ化し、その結果を棒グラフで視覚化する方法について説明します。
データの読み込み
まずは、必要なライブラリをインポートし、データを読み込みます。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
train_data = pd.read_csv("../train.csv")
test_data = pd.read_csv("../test.csv")
total_data = pd.concat([train_data, test_data]) # train_data と test_data を連結
データのグループ化
次に、groupby
関数を使用してデータをグループ化します。ここでは、チケット番号("Ticket"
)でグループ化します。
total_data_ticket = total_data.groupby("Ticket") # チケット番号でグループ化
グループごとの生存情報の取得
グループ化したデータから、生存情報("Survived"
)を取り出します。
total_data_ticket = total_data.groupby("Ticket")["Survived"]
生存、死亡、不明の数をカウント
value_counts
関数を使用して、生存、死亡、不明の数をカウントします。dropna=False
を指定することで、N/Aもカウントします。
total_data_ticket = total_data.groupby("Ticket")["Survived"].value_counts(dropna=False)
データの形を変更
グラフを描くために、生存、死亡、不明のデータが列方向に並ぶようなデータに変えます。これにはunstack
関数を使用します。
total_data_ticket = total_data.groupby("Ticket")["Survived"].value_counts(dropna=False).unstack()
NaNを0に変換
NaNを0に変換します。
total_data_ticket.fillna(0, inplace=True)
グラフの描画
最後に、matplotlibを使用して棒グラフを描画します。
total_data_ticket.plot(kind='bar', stacked=True)
plt.show()
以上で、PythonとPandasを使用してデータをグループ化し、その結果を棒グラフで視覚化する方法について説明しました。この方法を使用すると、大量のデータを一目で理解することができます。.