この記事では、Pythonのpandasライブラリを用いてデータのアグリゲーションと集計を効率よく行う方法について解説します。具体的なコード例、その詳細な解説、さらには応用例も2つ紹介します。
目次
はじめに
データのアグリゲーションと集計は、データ解析の基本的なステップの一つです。Pythonのpandasライブラリは、これらのタスクを非常に効率よく実行できる強力なツールです。
pandasによる基本的なアグリゲーションと集計
アグリゲーションとは、多くのデータを一つまたは少数の指標で表す処理のことです。
基本的なコード
以下は、pandasでの簡単なデータのアグリゲーションと集計のコード例です。
import pandas as pd
# サンプルデータ作成
data = {'名前': ['Alice', 'Bob', 'Charlie', 'David', 'Emily'],
'年齢': [24, 27, 22, 32, 29],
'都道府県': ['東京', '大阪', '東京', '神奈川', '大阪']}
df = pd.DataFrame(data)
# 年齢の平均を計算
average_age = df['年齢'].mean()
print(f"平均年齢は{average_age}歳です。")
コード解説
– `import pandas as pd`: pandasライブラリを読み込みます。
– `pd.DataFrame(data)`: 辞書形式のデータからDataFrameを作成します。
– `df[‘年齢’].mean()`: 年齢列の平均値を計算します。
応用例1: グループ別の平均年齢の計算
コード
# 都道府県ごとに平均年齢を計算
average_age_by_prefecture = df.groupby('都道府県')['年齢'].mean()
print(average_age_by_prefecture)
解説
`groupby(‘都道府県’)`で都道府県ごとにデータをグループ化し、`[‘年齢’].mean()`で各グループの平均年齢を計算します。
応用例2: 複数の統計値を一度に計算
コード
# 都道府県ごとに平均、最小、最大年齢を計算
stats_by_prefecture = df.groupby('都道府県')['年齢'].agg(['mean', 'min', 'max'])
print(stats_by_prefecture)
解説
`agg([‘mean’, ‘min’, ‘max’])`を用いて、都道府県ごとに平均年齢、最小年齢、最大年齢を一度に計算します。
まとめ
この記事では、Pythonのpandasライブラリを用いたデータのアグリゲーションと集計の基本から応用までを解説しました。これらのテクニックはデータ解析作業を大幅に効率化するため、ぜひマスターしてください。
コメント