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

如何将含行列标题的列表转换为Polars DataFrame?

解决Polars转换行列标题列表为DataFrame的问题

直接用pl.DataFrame(list)会出现转置、数值存为字符串的问题,按以下步骤处理即可得到预期格式:

步骤1:拆分原列表的列名和数据行

原列表的第一个元素是列标题,剩余元素是包含指标和数值的数据行,先拆分两者:

import polars as pl

data = [
    ['Earnings estimate', 'Current qtr. (Jun 2024)', 'Next qtr. (Sep 2024)', 'Current year (2024)', 'Next year (2025)'],
    ['No. of analysts', '13', '11', '26', '26'],
    ['Avg. Estimate', '1.52', '1.62', '6.27', '7.23'],
    ['Low estimate', '1.36', '1.3', '5.02', '5.88'],
    ['High estimate', '1.61', '1.74', '6.66', '8.56'],
    ['Year ago EPS', '1.76', '1.36', '5.74', '6.27'],
]

# 提取列标题和数据行
column_names = data[0]
data_rows = data[1:]

步骤2:创建DataFrame并转换数值类型

用拆分后的列名指定schema,再将数值列从字符串转为浮点/整数类型:

# 创建DataFrame,指定列名
df = pl.DataFrame(data_rows, schema=column_names)

# 将除指标列外的所有列转为数值类型
df = df.with_columns(
    pl.exclude(column_names[0]).cast(pl.Float64)
)

# 可选:将指标列设为行索引(匹配预期的表格展示形式)
df = df.set_index(column_names[0])

最终效果

处理后的DataFrame:

  • 列标题为原列表第一行的时间段
  • 行标题为各盈利估算指标
  • 数值列均为数字类型(不再是字符串)
  • 完全匹配预期的表格结构

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 23:17:37