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

如何从长度不均的文本列表高效创建Pandas DataFrame

解决方案

要实现将out1与不规则长度的out2子列表转换为指定结构的DataFrame(空位置留空),可以按以下步骤操作:

  1. 确定out2中子列表的最大长度,以此确定需要生成的额外列数(除A列外);
  2. 对每个out2的子列表补充空值,使其长度统一为最大长度;
  3. 结合out1与处理后的out2数据,构造DataFrame并指定列名。

示例代码

import pandas as pd

out1 = ["I'm happy", 'This is crazy']
out2 = [["Im learning to be happy", "I'm troubled"], ["This is making me unhappy"]]

# 计算out2中子列表的最大长度
max_col_num = max(len(sub_list) for sub_list in out2)

# 将每个子列表补全至最大长度,用None填充空位置(pandas会显示为空单元格)
processed_out2 = [sub + [None] * (max_col_num - len(sub)) for sub in out2]

# 生成列名:A、B、C...
column_names = ['A'] + [chr(ord('B') + idx) for idx in range(max_col_num)]

# 组合数据并创建DataFrame
result_df = pd.DataFrame(
    [[out1[i]] + processed_out2[i] for i in range(len(out1))],
    columns=column_names
)

print(result_df)

输出结果

A                          B            C
0    I'm happy  Im learning to be happy  I'm troubled
1  This is crazy  This is making me unhappy         None

如果希望空位置显示为空字符串而非None,只需将代码中的[None]替换为[""]即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 16:02:08