You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python Polars中用.eval()实现列表列与标量列的元素级运算?

在Polars中用.eval()实现列表列与标量列的元素级运算

当然可以用Polars的.eval()方法实现这个需求,具体实现方式如下:

首先构造示例DataFrame:

import polars as pl

df = pl.DataFrame({"list": [[2, 2, 2], [3, 3, 3]], "scalar": [1, 2]})

通过.eval()方法生成目标diff列:

result_df = df.with_columns(
    diff=pl.col("list").eval(pl.element() - pl.col("scalar"))
)

print(result_df)

代码说明

  • pl.col("list").eval(...):针对list列的每个列表元素执行内部运算
  • pl.element():指代当前列表中的单个元素
  • pl.col("scalar"):自动匹配每行对应的标量值,实现逐行的元素级减法运算

执行后得到的结果如下:

shape: (2, 3)
┌───────────┬────────┬───────────┐
│ list      ┆ scalar ┆ diff      │
│ ---       ┆ ---    ┆ ---       │
│ list[i64] ┆ i64    ┆ list[i64] │
╞═══════════╪════════╪═══════════╡
│ [2, 2, 2] ┆ 1      ┆ [1, 1, 1] │
│ [3, 3, 3] ┆ 2      ┆ [1, 1, 1] │
└───────────┴────────┴───────────┘

内容的提问来源于stack exchange,提问作者Gianluca Rigoletti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 15:17:02