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

如何从含“>”开头表头的列表创建多列Pandas DataFrame?

解决从列表创建多列Pandas DataFrame的问题

原始输入列表

raw_list = [
    ">header",
    "a",
    "b",
    ">header2",
    "c",
    "d",
    "e",
    "f",
    ">header3",
    "g",
    "h",
    "i"
]

实现步骤与代码

核心思路是先按列标题拆分列表分组,再将每组数据转为Series后合并成DataFrame(Series会自动补全短列的缺失值):

import pandas as pd

# 存储各列数据的字典
column_data = {}
current_column = None

# 遍历原始列表,拆分列标题和对应数据
for item in raw_list:
    if item.startswith(">"):
        # 识别到列标题,初始化该列的存储列表
        current_column = item
        column_data[current_column] = []
    else:
        # 将数据项添加到当前列的列表中
        column_data[current_column].append(item)

# 转换为DataFrame,短列自动补空值(NaN)
df = pd.DataFrame({col: pd.Series(data) for col, data in column_data.items()})

# 打印结果
print(df)

输出结果

运行后得到的DataFrame与你期望的一致(注:你给出的期望结果中误将>header写为>header1,代码会保留原始列表中的列名):

>header >header2 >header3
0       a        c        g
1       b        d        h
2     NaN        e        i
3     NaN        f      NaN

显示时NaN会呈现为空单元格,完全符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 00:40:40