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

Python:如何将列表的列表作为一行存入DataFrame,每个列表独占单元格?

解决嵌套列表转为DataFrame单行(子列表为单元格)的问题

嘿,我明白你的需求啦!你现在的问题是直接用pd.DataFrame(lst1)会把每个子列表拆成DataFrame的一行,但你想要的是整个嵌套列表作为一行,每个子列表单独占据一个单元格,之后还要添加第二个嵌套列表作为第二行。

问题出在哪?

你原来的代码里,pd.DataFrame(lst1)会把lst1中的每个子列表['a','b','c']、['d','e','f']当成DataFrame的一行数据,所以得到了3行3列的结果,这和你的预期不符。

正确的实现方式

我们需要把每个嵌套列表包装成一个外层列表,这样pd.DataFrame就会把它识别为一行数据,每个子列表对应一个单元格。之后可以用pd.concat(推荐)来添加新的行。

完整代码示例

import pandas as pd

# 你的两个嵌套列表
lst1 = [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i']]
lst2 = [['j', 'k', 'l'], ['m', 'n', 'o'], ['p', 'q', 'r']]

# 把每个嵌套列表转为单行的DataFrame
df_row1 = pd.DataFrame([lst1])
df_row2 = pd.DataFrame([lst2])

# 合并两个行到同一个DataFrame
final_df = pd.concat([df_row1, df_row2], ignore_index=True)

# 如果需要自定义列名,可以加上这行
final_df.columns = ['列1', '列2', '列3']

print(final_df)

输出结果

列1        列2        列3
0  [a, b, c]  [d, e, f]  [g, h, i]
1  [j, k, l]  [m, n, o]  [p, q, r]

额外说明

  • 用pd.concat比旧的append方法更稳妥,因为append在新版本pandas中已经被标记为即将弃用。
  • 如果你后续还有更多嵌套列表要添加,只要继续创建对应的单行DataFrame,然后加入到concat的列表里就可以了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:22:35