极坐标中的“df.query()”?

Pal*_*ine 3 python dataframe python-3.x python-polars

极坐标中的pandas.DataFrame.query相当于什么?

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
Run Code Online (Sandbox Code Playgroud)

现在,定义一个变量item

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

    A        B       C
1   Python  24000   40days
2   Pandas  26000   NaN
Run Code Online (Sandbox Code Playgroud)

现在,使用极坐标:

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

item=24000
df.query("B>= @item")
Run Code Online (Sandbox Code Playgroud)

我得到:

AttributeError: 'DataFrame' object has no attribute 'query'
Run Code Online (Sandbox Code Playgroud)

我的大胆猜测是,df.filter()但语法看起来不一样,而且看起来也filter相当于?df.loc[]

mar*_*lli 5

事实上,过滤器就是你所需要的

df.filter(pl.col("B") >= item)
Run Code Online (Sandbox Code Playgroud)

干净、简单、可预测、无黑客