10

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)')
safex
  • 2,398
  • 17
  • 40

1 Answers1

15

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')
MrNobody33
  • 6,413
  • 7
  • 19