pandasのgroupbyを使用してデータをグループごとに集計・処理する方法

python

概要

pandasとgroupbyを組み合わせることにより、データをグループごとに集計・処理することができます。

以下ではPythonコードを使って具体的な例を紹介します。

詳細内容

以下に具体的な例を複数記載します。

1. データのグループごとの集計

import pandas as pd# 車種ごとの販売台数を集計する
car_data = pd.DataFrame({
    '車種': ['A', 'B', 'A', 'B', 'C', 'C'],
    '販売台数': [10, 5, 8, 6, 3, 2]
})# 車種ごとの販売台数の合計を求める
grouped_data = car_data.groupby('車種')['販売台数'].sum()
print(grouped_data)出力結果:
車種
A    18
B    11
C     5
Name: 販売台数, dtype: int64

上記のコードでは、車種ごとの販売台数を集計しています。

まず、`car_data`というDataFrameを作成し、車種と販売台数のデータを格納しています。

次に、`groupby`メソッドを使って’車種’列でグループ化し、’販売台数’列の合計を求めることで、車種ごとの販売台数の合計を取得しています。

結果はSeriesオブジェクトとなり、車種名がインデックス、販売台数の合計がデータとして表示されます。

2. グループごとの平均値計算とプロット

import pandas as pd
import matplotlib.pyplot as plt# 学生の成績データを作成する
student_data = pd.DataFrame({
    '学年': ['1年', '2年', '3年', '1年', '2年'],
    '数学の成績': [80, 90, 70, 85, 75],
    '英語の成績': [70, 80, 60, 75, 65]
})# 学年ごとの成績の平均値を求める
grouped_data = student_data.groupby('学年').mean()# 平均値の棒グラフを作成する
grouped_data.plot(kind='bar')
plt.xlabel('学年')
plt.ylabel('平均値')
plt.show()

上記のコードでは、学生の成績データを扱っています。

`student_data`というDataFrameを作成し、学年、数学の成績、英語の成績のデータを格納しています。

次に、`groupby`メソッドを使って’学年’列でグループ化し、平均値を求めます。

`mean`メソッドを使用することで各項目ごとの平均値が計算されます。

最後に、`plot`メソッドを使って棒グラフを作成します。

棒グラフのx軸には学年が表示され、y軸には成績の平均値が表示されます。

これらのコード例は、pandasのgroupbyを使用してデータのグループごとの集計や処理を行う方法を示しています。

このような集計・処理は、実務でデータ分析を行う際によく使用されます。

コメント

タイトルとURLをコピーしました