Python入門:pandasで条件による絞り込みと集計を行う基本パターン

pandas python 1

pandasを使ったデータ処理では、
「必要なデータだけを取り出す」「集計する」という処理が頻繁に登場します。

CSVの読み込みや保存ができるようになったら、
次に覚えたいのがこの2つです。

この記事では、
・条件でデータを絞り込む方法
・絞り込んだデータを集計する方法

この2点を順番に解説していきます。

pandasの導入記事はこちら。

Python入門:pandasの基本をやさしく解説(データ操作の超入門) – Lean Data Office

サンプルデータの準備

まずは簡単なデータを用意します。

Python

import pandas as pd

data = {

“name”: [“A”, “B”, “C”, “D”],

“country”: [“JP”, “US”, “JP”, “UK”],

“sales”: [100, 200, 150, 300]

}

df = pd.DataFrame(data)


Show more lines

このような「売上データ」を例に進めていきます。


条件でデータを絞り込む

pandasでは、条件を指定すると特定の行だけを取り出すことができます。

例えば、日本(JP)のデータだけを取り出す場合は次のように書きます。

Python

jp_data = df[df[“country”] == “JP”]

print(jp_data)
Show more lines

この書き方は少し分かりにくいですが、順番に考えると理解できます。

まず、

Python

df[“country”] == “JP”
Show more lines

は「country列がJPかどうか」を判定しています。
結果は True / False の一覧になります。

その結果をそのまま df[...] に渡すことで、
Trueの行だけが残ります。


数値条件で絞る

数値の場合も同じ考え方です。

Python

high_sales = df[df[“sales”] > 150]

print(high_sales)
Show more lines

これで「売上が150より大きいデータ」だけが抽出されます。

このように、

  • ==(等しい)
  • >(より大きい)
  • <(より小さい)

といった条件を使って自由に絞り込みができます。


複数条件の組み合わせ

実務では、複数条件で絞ることがほとんどです。

例えば「日本かつ売上150以上」のデータを取りたい場合です。

Python

filtered = df[(df[“country”] == “JP”) & (df[“sales”] >= 150)]

print(filtered)
Show more lines

ポイントは2つあります。

1つ目は、& を使って条件をつなぐことです。
(and の意味)

2つ目は、それぞれの条件をカッコで囲むことです。

これを忘れるとエラーになるので注意してください。


データの集計(合計・平均)

絞り込んだ後は、集計することが多くなります。

まずは単純な合計です。

Python

total = df[“sales”].sum()

print(total)
Show more lines

平均値は次のように求められます。

Python

avg = df[“sales”].mean()

print(avg)
Show more lines

このように、列を指定すると簡単に計算できます。


グループごとの集計(groupby)

少し実務に近い処理として、
「国ごとの売上合計」を出してみます。

Python

grouped = df.groupby(“country”)[“sales”].sum()

print(grouped)
Show more lines

ここでは3つの処理を行っています。

  1. country でグループ分け
  2. sales 列を対象にする
  3. 合計を計算する

なぜこの書き方なのか

最初は少し難しく見えますが、考え方はシンプルです。

  • df.groupby("country")
    → 国ごとに分ける
  • ["sales"]
    → 売上だけ見る
  • .sum()
    → 合計を出す

このように「処理をつなげていく」ことで、
柔軟なデータ加工ができるようになっています。


まとめ

この記事では、pandasの基本的なデータ加工として

  • 条件による絞り込み
  • 複数条件の組み合わせ
  • 合計・平均の計算
  • groupbyによる集計

を紹介しました。

これらは実務でも頻繁に使う操作です。

最初は書き方に慣れないかもしれませんが、
「1つずつ分解して考える」ことで理解しやすくなります。

まずはサンプルコードをそのまま動かしながら、
少しずつ慣れていくことをおすすめします。

筋トレとオートメーションが趣味。 モバイルアプリ個人開発者。 データ処理・可視化とレポートにハマり備忘録と情報共有のためにブログ開設し運営している。