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

如何将Pandas筛选赋值逻辑转换为Polars实现?

Pandas转Polars:条件更新列值的正确实现

原Pandas代码功能

这段Pandas代码用于筛选满足p23>z、posn>1、ncL>y条件的行,并将这些行的tradeL列值设为1:

self.df.loc[              
   (self.df['p23'] > z) &               
   (self.df['posn'] > 1) &                
   (self.df['ncL'] > y) ,             
   'tradeL'] = 1

正确的Polars实现代码

对应功能的Polars代码需要使用with_columns结合when/then/otherwise语法,确保非匹配条件的行保留原tradeL值:

self.df = self.df.with_columns(
    pl.when(
        (pl.col("p23") > z) & 
        (pl.col("posn") > 1) & 
        (pl.col("ncL") > y)
    ).then(1).otherwise(pl.col("tradeL")).alias("tradeL")
)

错误写法说明

你尝试的写法存在两个核心问题:

  • 使用select操作错误:select用于选择列,而非修改或替换列值,正确操作应使用with_columns
  • then子句语法错误:then中需直接传入目标值(此处为1),而非赋值语句dfOut["tradeL"]=1

示例数据结构

对应的表结构示例:

┌────────────┬──────────┬──────────┬──────┬─────┬─────┬─────┬────────┬────────┐
│ tms        ┆ p23      ┆ m23      ┆ posn ┆ ... ┆ ncL ┆ ncS ┆ tradeL ┆ tradeS │
│ ---        ┆ ---      ┆ ---      ┆ ---  ┆     ┆ --- ┆ --- ┆ ---    ┆ ---    │
│ i64        ┆ f64      ┆ f64      ┆ i64  ┆     ┆ i32 ┆ i32 ┆ i64    ┆ i64    │
╞════════════╪══════════╪══════════╪══════╪═════╪═════╪═════╪════════╪════════╡
│ 1667551500 ┆ 3.582475 ┆ 0.654813 ┆ 23   ┆ ... ┆ 16  ┆ 0   ┆ 0      ┆ 0      │
│ 1672989300 ┆ 2.727239 ┆ 1.510049 ┆ 31   ┆ ... ┆ 3   ┆ 3   ┆ 0      ┆ 0      │
│ 1673215200 ┆ 0.0      ┆ 0.0      ┆ 0    ┆ ... ┆ 0   ┆ 0   ┆ 0      ┆ 0      │
│ 1665506700 ┆ 0.236804 ┆ 4.000484 ┆ 0    ┆ ... ┆ 0   ┆ 26  ┆ 0      ┆ 0      │
│ ...        ┆ ...      ┆ ...      ┆ ...  ┆ ... ┆ ... ┆ ... ┆ ...    ┆ ...    │
│ 1669979700 ┆ 0.437209 ┆ 3.800079 ┆ 6    ┆ ... ┆ 0   ┆ 13  ┆ 0      ┆ 0      │
│ 1669709700 ┆ 2.204868 ┆ 2.03242  ┆ 10   ┆ ... ┆ 12  ┆ 5   ┆ 0      ┆ 0      │
│ 1671648300 ┆ 3.27545  ┆ 0.961838 ┆ 30   ┆ ... ┆ 10  ┆ 0   ┆ 0      ┆ 0      │
│ 1668403800 ┆ 0.0      ┆ 0.0      ┆ 0    ┆ ... ┆ 0   ┆ 0   ┆ 0      ┆ 0      │
└────────────┴──────────┴──────────┴──────┴─────┴─────┴─────┴────────┴────────┘

内容的提问来源于stack exchange,提问作者Milan CDCDCD

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 21:35:18