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

如何初始化单元格取值为空列表的pandas DataFrame

初始化pandas DataFrame为全空列表单元格实现方案

正确实现方法

  • 方法1:直接初始化指定行列的空列表DataFrame
    该方式生成的每个空列表都是独立对象,修改单个单元格不会联动其他单元格:
import pandas as pd

# 可自定义行数、列名
row_num = 2
columns = ["A", "B"]

df = pd.DataFrame(
    [[[] for _ in range(len(columns))] for _ in range(row_num)],
    columns=columns
)
# 如需自带示例中的ix列,可额外执行:df = df.reset_index(names="ix")
  • 方法2:给已有DataFrame全量替换为独立空列表
    如果已经存在建好结构的DataFrame,可以直接用apply批量替换:
df = df.apply(lambda col: [[] for _ in range(len(col))])

避坑提醒

不要使用如下写法:

# 错误示例!所有空列表指向同一引用,修改一个会全量变更
df = pd.DataFrame([[[]]*len(columns)]*row_num, columns=columns)

效果验证

执行修改单个单元格的操作验证独立性:

df.loc[0, "A"].append(1)
print(df)

输出结果:

ix    A   B
0   0  [1]  []
1   1   []  []

完全符合预期的初始化效果,仅修改的目标单元格列表有变更。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 13:15:03