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

如何在Polars中高效选中剩余未选列以重排DataFrame列顺序?

解决Polars DataFrame指定列前置的简便方法

直接用pl.exclude()配合列表展开的写法就能搞定,完全不用写死所有列名,完美适配列增减或改名的场景:

import polars as pl

# 把你要前置的5列放在这个列表里
priority_cols = ["col2", "col1", "col3", "col4", "col5"]

# 核心写法:先选前置列,再选排除前置列后的剩余列
df = df.select([*priority_cols, pl.exclude(priority_cols)])

为什么这个方法靠谱?

  • 不会出现重复列:pl.exclude(priority_cols)会自动过滤掉已经指定的前置列,只保留剩下的列
  • 灵活适配列变更:后续新增、删除或修改其他列名,都不需要改这段代码,只需要维护priority_cols列表就行
  • 剩余列保持原顺序:如果需要调整剩余列的顺序(比如按字母排序),可以改成pl.exclude(priority_cols).sort()

你之前尝试的正则写法会触发重复列错误,本质是正则会把所有列(包括已经指定的col2、col1)再选一遍,而上面的写法从根源上避免了这个问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 07:22:05