pythonpython-3.xdataframepython-polars

`df.query()` in polars?


What is the equivalent of pandas.DataFrame.query in polars?

import pandas as pd
data= {
    'A':["Polars","Python","Pandas"],
    'B' :[23000,24000,26000],
    'C':['30days', '40days',np.nan],
      }

df = pd.DataFrame(data)

    A        B       C
0   Polars  23000   30days
1   Python  24000   40days
2   Pandas  26000   NaN

Now, defining a variable item

item=24000
df.query("B>= @item")

    A        B       C
1   Python  24000   40days
2   Pandas  26000   NaN

Now, using polars:

import polars as pl
df = pl.DataFrame(data)

item=24000
df.query("B>= @item")

I get:

AttributeError: 'DataFrame' object has no attribute 'query'

My wild guess is df.filter() but syntax does not look same and filter looks equivalent to df.loc[] as well ?


Solution

  • indeed, filter is all you need

    df.filter(pl.col("B") >= item)
    

    clean, simple, predictable, without hacks