python

Pythonでリストを条件にDataFrameのフィルタリングをする方法

データフレーム内のある列に対して条件抽出をする際に、queryを使って条件抽出する抽出項目がリストとしてある場合、リスト名に@をつけることで抽出ができる。

言葉では分かりづらいので、以下実例

import pandas as pd

items = ['apple','orange']
df = pd.DataFrame({'fruit':['orange','banana','peach','apple']})
#	  fruit
# 0	orange
# 1	banana
# 2	peach
# 3	apple

df.query('fruit==@items') #ここがポイント
#	  fruit
# 0	orange
# 3	apple