假设我有一个表达式,比如“col3 = col2 + col1”,所以pandas我们可以直接调用pandas. dataframe.eval(),但是在polars中我找不到这样的方法。我有series.eval在polars,但没有运气,因为我想评估用户给定的表达式的数据框架。
dgsult0t1#
可以将SQL传递给pl.sql_expr。
SQL
pl.sql_expr
df = pl.DataFrame({ "col1": [1, 2], "col2": [1, 2], }) df.select( pl.sql_expr("col2 + col1 as col3") )
字符串或者你可以运行一个完整的SQL查询:
ctxt = pl.SQLContext( frames = {"df": df} ) ctxt.execute(""" SELECT col2 + col1 as col3 FROM df """, eager=True )
型
我想评估用户在 Dataframe 上给定表达式。我会直接接受pl.Expression而不是字符串。这提供了比字符串更多的类型安全性,并且可能还提供了更好的用户体验,因为您可以使用自动完成功能,并且IDE可能会显示可用的方法/参数。
pl.Expression
1条答案
按热度按时间dgsult0t1#
接收字符串
可以将
SQL
传递给pl.sql_expr
。字符串
或者你可以运行一个完整的SQL查询:
型
直接接受表达式
我想评估用户在 Dataframe 上给定表达式。
我会直接接受
pl.Expression
而不是字符串。这提供了比字符串更多的类型安全性,并且可能还提供了更好的用户体验,因为您可以使用自动完成功能,并且IDE可能会显示可用的方法/参数。