python pandas query for values in list

Viewed 1790

I want to use query() to filter rows in a panda dataframe that appear in a given list. Similar to this question, but I really would prefer to use query()

import pandas as pd
df = pd.DataFrame({'A' : [5,6,3,4], 'B' : [1,2,3, 5]})
mylist =[5,3]

I tried:

df.query('A.isin(mylist)')
1 Answers

You could try this, using @, that allows us to refer a variable in the environment:

df.query('A in @mylist')

Or this:

df.query('A.isin(@mylist)',engine='python')
Related