12.Pythonでデータ分析を始めよう!初心者向けガイド-フィルタリング編-

PR表記

※アフィリエイト広告を利用しています

どうもニコイチです。前回可視化を行いましたが、実際のデータを取り扱う時にはフィルタリングすることで必要なデータのみ確認することができるため、不要な情報を省くことができます。そこで今回は、フィルタリングについてご紹介します。

全編はこちらから

目次

1. フィルタリングとは?

基本概念

フィルタリングとは、条件に合うデータだけを取り出すことです。

📌 例え話

  • お米をとぐときにザルを使うように、データの中から必要なものだけを取り出します
  • 図書館で「2000年以降の本」や「小説のみ」と絞り込むようなイメージです

2. 基本的なフィルタリング操作

データの準備

import pandas as pd

# データの読み込み
df = pd.read_csv('定期貯金契約データ.csv')

単純な条件でのフィルタリング

1. 等しい(==)

# 例:男性の顧客だけを抽出
men_customers = df[df['性別'] == '男性']

👉 使い所:特定の値のみを選びたい時

  • 例:30歳の人だけ
  • 例:東京在住の人だけ

2. 異なる(!=)

# 例:女性以外の顧客を抽出
not_women = df[df['性別'] != '女性']

👉 使い所:特定の値以外を選びたい時

  • 例:東京以外に住んでいる人
  • 例:未婚以外の人

3. より大きい(>)、以上(>=)

# 例:40歳より上の顧客
older_than_40 = df[df['年齢'] > 40]

# 例:40歳以上の顧客
age_40_and_above = df[df['年齢'] >= 40]

4. より小さい(<)、以下(<=)

# 例:30歳未満の顧客
under_30 = df[df['年齢'] < 30]

複数の条件を組み合わせる

AND条件(&)

# 例:30歳以上かつ男性の顧客
men_over_30 = df[(df['年齢'] >= 30) & (df['性別'] == '男性')]

⚠️ 注意点

  • 各条件を()で囲むことを忘れずに!
  • andではなく&を使う

OR条件(|)

# 例:20歳未満または60歳以上の顧客
young_or_senior = df[(df['年齢'] < 20) | (df['年齢'] >= 60)]

⚠️ 注意点

  • 各条件を()で囲むことを忘れずに!
  • orではなく|を使う

特定のカラムだけを選択

# 例:40歳以上の顧客の契約金額のみを表示
amount_over_40 = df[df['年齢'] >= 40]['契約金額']

3. 実践的な例題

例1:高額契約者の分析

# 契約金額が100万円以上の顧客を抽出
high_value = df[df['契約金額'] >= 1000000]

# その中から年齢と性別だけを表示
print(high_value[['年齢', '性別']])

例2:若年層の契約状況

# 30歳未満で契約期間が2年以上の顧客
young_long_term = df[(df['年齢'] < 30) & (df['契約期間'] >= 24)]

4. よくあるつまずきポイント

1. 条件式の括弧忘れ

間違い

df[df['年齢'] >= 30 & df['性別'] == '男性']

正しい

df[(df['年齢'] >= 30) & (df['性別'] == '男性')]

2. 文字列と数値の比較

間違い

df[df['性別'] == "男性"]  # ダブルクォート

正しい

df[df['性別'] == '男性']  # シングルクォート推奨

3. 複数条件でのand/orの使用

間違い

df[df['年齢'] >= 30 and df['性別'] == '男性']

正しい

df[(df['年齢'] >= 30) & (df['性別'] == '男性')]

5. 実践的なコツ

1. フィルタリング結果の確認

# フィルタリング後のデータ数を確認
filtered_df = df[df['年齢'] >= 30]
print(f"フィルタリング前: {len(df)} 行")
print(f"フィルタリング後: {len(filtered_df)} 行")

2. 条件の段階的な適用

# 複雑な条件は段階的に適用する
temp_df = df[df['年齢'] >= 30]  # まず年齢で絞る
final_df = temp_df[temp_df['性別'] == '男性']  # 次に性別で絞る

まとめ

  • フィルタリングは条件に合うデータを抽出する機能
  • 基本的な比較演算子(==, !=, >, >=, <, <=)を使用
  • 複数条件は&(AND)や|(OR)で組み合わせ
  • 条件式は必ず()で囲む
  • 結果の確認を忘れずに行う
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次