1: Pandasの基本的なgroupbyの使い方
Pandasのgroupbyは、データを特定のキーでグループ化し、その後にさまざまな集計や計算を行うための強力なツールです。データの分析や集計処理において、多くのシチュエーションで使用されます。ここでは、基本的な使い方と簡単なサンプルコードを紹介します。
1-1: groupbyを用いたデータのグループ化
groupbyは、DataFrameを特定の列を基準にグループ化します。以下のサンプルデータを使って見ていきましょう。
import pandas as pd
# サンプルデータ
data = {'名前': ['田中', '鈴木', '佐藤', '田中', '鈴木'],
'年齢': [23, 35, 25, 23, 40],
'得点': [80, 90, 70, 85, 78]}
df = pd.DataFrame(data)
# 名前ごとにグループ化
grouped = df.groupby('名前')
print(grouped.mean())
このコードでは、名前ごとにデータがグループ化され、各グループの平均値が計算されます。

1-2: DataFrameでのgroupbyの基本メソッド
グループ化されたデータに対して、meanやsumといったメソッドを使って集計が可能です。以下の例では、グループごとの合計得点を計算します。
# 名前ごとの合計得点
print(grouped.sum())

2: groupbyでの集計と計算の方法
groupbyを使えば、複数の集計を一度に行うこともできます。aggメソッドを使えば、グループ化されたデータに対して複数の操作を同時に行うことが可能です。
2-1: aggメソッドを使った複数条件の集計
以下のコードは、名前ごとに平均得点と得点の合計を一度に計算する例です。
# 平均得点と合計得点を計算
agg_results = grouped['得点'].agg(['mean', 'sum'])
print(agg_results)

3: 複数キーや複数列でのグループ化
groupbyでは、複数の列をキーとして指定してデータをグループ化することも可能です。これにより、より細かい分析が可能になります。
3-1: 複数列を使ったデータのグループ分け
次の例では、名前と年齢をキーにしてデータをグループ化します。
# 名前と年齢をキーにグループ化
multi_grouped = df.groupby(['名前', '年齢'])
print(multi_grouped.sum())

4: applyメソッドによる柔軟な処理
applyメソッドを使うと、カスタム関数をグループに適用することができます。これにより、標準的な集計メソッドでは対応できない複雑な処理が可能になります。
4-1: applyでの関数適用とデータ処理
以下のコードでは、得点が80点以上の学生の名前をリスト化します。
# 80点以上の学生の名前をリスト化
high_scores = grouped.apply(lambda x: x[x['得点'] >= 80])
print(high_scores)

5: NaNや欠損値を含むデータの処理
データ分析の現場では、欠損値が含まれることがよくあります。groupbyは、欠損値を含むデータに対しても柔軟に対応できます。
5-1: NaNデータを含む場合のgroupby挙動
欠損値が含まれる場合、groupbyはどのように動作するのかを見てみましょう。以下のサンプルデータを使います。
# サンプルデータに欠損値を追加
data = {'名前': ['田中', '鈴木', '佐藤', '田中', None],
'年齢': [23, 35, 25, 23, 40],
'得点': [80, 90, None, 85, 78]}
df = pd.DataFrame(data)
# グループ化と集計
grouped = df.groupby('名前')
print(grouped.mean())

このコードでは、欠損値を含むグループを除外せずに平均を計算します。
このように、groupbyはデータのグループ化と集計において非常に強力なツールです。この記事では基本的な使い方から少し応用的なテクニックまでを紹介しましたが、実際のデータ分析ではさらに多様な方法で活用できます。ぜひ、あなたのプロジェクトに応じてこれらの方法を試してみてください。
groupbyは集計の考え方がつかめると一気に使い道が広がる一方、独学ではどこまで踏み込むかの線引きが難しくなります。学ぶ範囲と順番を決めてもらいながら進める学び方という選択肢もあります。
AIプログラミングスクール「SiiD」について
AIプログラミングスクール「SiiD」は、未経験からITエンジニア転職を目指す方向けのオンラインスクールです。
SiiDの特徴
- 現役エンジニアでYouTube登録者約13万人の「セイト先生」が代表兼主任講師
- 採用側の実務知見(2,000人以上の選考・150名以上のエンジニア採用)にもとづく指導
- 生成AIを取り入れた学習設計と、実務レベルのフルスタックWeb開発スキル
- Workship CAREER(株式会社GIG)と連携した無料の転職伴走支援
- 経済産業省認定のReスキル講座で、給付金の条件を満たせば実質105,600円〜
- 学割あり(35%オフ)
こんな方におすすめ
- 未経験・文系・社会人からITエンジニア転職を本気で目指したい方
- 独学に限界を感じている方
- 費用を抑えながら実務スキルと転職サポートを両立したい方
「未経験だから」とあきらめる必要はありません。採用する側を知り尽くしたプロが、給付金で負担を抑えながら内定まで伴走します。