Python

pythonでフィルターをかける

pythonで読み込んだエクセルのデータにフィルターをかけ、必要なデータのみを抽出するコードです。

例えば、エクセルデータに「身分」という列名があり、その列にはコードが羅列。そのコードによって下記のように中身を書き換えるという処理です。

下記のようなデータがあるとします

  • 取引先コード:1~10
  • 都道府県:東京、埼玉、神奈川、千葉
  • 部署:営業部、人事部、経理部

ここから下記条件でフィルターをかけます。

  1. 取引先コード:1, 2, 4, 5, 9 かつ 都道府県:東京, 千葉 であるもの または
  2. 従業員番号:1111, 3333 または
  3. 取引先コード:8 かつ 部署:営業部
#pandasをimport
import pandas as pd

#pandasを用いて、変数「db」にエクセルを読み込み
db = pd.read_excel(r'ファイルパスをここに記入')

#条件を指定
condition_1 = db['取引先コード'].isin([1, 2, 4, 5, 9]) & chingin['都道府県'].isin([東京, 千葉])
condition_2 = db['従業員番号'].isin([1111, 3333])
condition_3 = (db['取引先コード'] == 8) & (db['部署'].str.contains('営業部', na=False))

#上記条件に満たすデータを、filtered_db に代入
filtered_db = db[(condition_1) | (condition_2) | (condition_3)]