概要
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を使用してデータのグループごとの集計や処理を行う方法を示しています。
このような集計・処理は、実務でデータ分析を行う際によく使用されます。
コメント