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

如何移除Polars DataFrame所有列名的前缀?

如何移除Polars DataFrame所有列名的前缀?

嘿,这事儿好办!要把Polars DataFrame列名里的#前缀去掉,有几种简单高效的方法,我给你演示下:

  • 方法一:用rename批量处理列名
    Polars的rename方法支持传入一个函数,批量修改所有列名。你可以用字符串处理方法精准去掉开头的#:

    import polars as pl
    
    df = pl.from_repr("""
    ┌─────┬─────┬─────┬─────┐
    │ #a  ┆ #b  ┆ #c  ┆ #d  │
    │ --- ┆ --- ┆ --- ┆ --- │
    │ i64 ┆ i64 ┆ i64 ┆ i64 │
    ╞═════╪═════╪═════╪═════╡
    │ 1   ┆ 2   ┆ 3   ┆ 4   │
    └─────┴─────┴─────┴─────┘
    """)
    
    # 只移除开头的#(如果列名中间有#也不会受影响)
    df = df.rename(lambda col: col.lstrip('#'))
    

    要是你确定#只会出现在列名的第一个位置,也可以直接用col[1:]来截取字符串,效果是一样的。

  • 方法二:直接修改列名列表
    你也可以手动获取当前列名,处理后重新赋值给DataFrame的columns属性,这种方式更直观:

    # 批量处理列名
    new_columns = [col.lstrip('#') for col in df.columns]
    # 替换原有列名
    df.columns = new_columns
    

如果你的前缀不是#,而是更长的固定字符串(比如data_这类),可以用Python 3.9+支持的str.removeprefix()方法,精准移除指定前缀:

# 示例:移除列名开头的"data_"前缀
df = df.rename(lambda col: col.removeprefix('data_'))

备注:内容来源于stack exchange,提问作者GH KIM

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.13 15:58:09