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

如何在Polars中将DataFrame的第一行设置为列名?

Polars中将第一行设为表头的实现方法

在Polars里不需要逐个手动重命名列,用以下步骤就能快速把第一行转为表头:

  1. 提取第一行作为新列名:用df.row(0)获取第一行的所有值,这会返回一个包含该行所有元素的元组。
  2. 重命名列并移除原第一行:通过rename方法结合列名映射字典完成重命名,再用slice(1)去掉原来的第一行。

完整示例代码

import polars as pl

# 模拟原始DataFrame(第一行是要作为表头的内容)
df = pl.DataFrame(
    [
        ["姓名", "年龄", "城市"],
        ["张三", 25, "北京"],
        ["李四", 30, "上海"],
        ["王五", 28, "广州"]
    ]
)

# 转换第一行为表头
df = df.rename(dict(zip(df.columns, df.row(0)))).slice(1)

print(df)

运行后输出的DataFrame就会把原第一行作为列名,同时移除该行:

shape: (3, 3)
┌──────┬──────┬──────┐
│ 姓名 ┆ 年龄 ┆ 城市 │
│ ---  ┆ ---  ┆ ---  │
│ str  ┆ i64  ┆ str  │
╞══════╪══════╪══════╡
│ 张三 ┆ 25   ┆ 北京 │
│ 李四 ┆ 30   ┆ 上海 │
│ 王五 ┆ 28   ┆ 广州 │
└──────┴──────┴──────┘

补充说明

  • 如果原第一行存在空值或None,重命名后对应的列名会是None,这种情况建议提前处理第一行的缺失值,避免后续操作出错。
  • 链式写法可以让代码更简洁,上面的转换逻辑也可以写成:
    df = (
        df
        .rename(dict(zip(df.columns, df.row(0))))
        .slice(1)
    )
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 21:50:37