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

如何从列表和嵌套列表创建指定列名的Pandas DataFrame

实现方法

你之前的代码将labels的每个子列表作为cat列的单个值存储,所以仅生成两列,没有自动拆分列表为多列的逻辑,可使用以下方法实现需求:

方法1:分块构造后拼接(逻辑最清晰)

import pandas as pd

# 原始数据
messages = ['message1', 'message2', 'message3']
labels = [[1,0,1,3,1], [1,1,2,0,3], [0,0,2,1,0]]

# 1. 构造消息列
df_message = pd.DataFrame({'message': messages})
# 2. 构造标签列,指定列名
df_labels = pd.DataFrame(labels, columns=[f'cat_{i+1}' for i in range(5)])
# 3. 横向拼接得到最终结果
msgs_labels = pd.concat([df_message, df_labels], axis=1)

方法2:直接构造完整字典生成

import pandas as pd

messages = ['message1', 'message2', 'message3']
labels = [[1,0,1,3,1], [1,1,2,0,3], [0,0,2,1,0]]

# 先组装完整的字段字典
data = {'message': messages}
for col_idx in range(5):
    data[f'cat_{col_idx+1}'] = [row[col_idx] for row in labels]

msgs_labels = pd.DataFrame(data)

最终输出结果

最终得到的msgs_labels共6列,结构如下:

messagecat_1cat_2cat_3cat_4cat_5
message110131
message211203
message300210

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 23:45:02