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

如何高效创建含缺失值的Pandas DataFrame?

更优的字典转带缺失值Pandas DataFrame实现方法

问题背景

现有如下字典形式的数据:

dict1 = {'A': 0, 'C': 0, 'D': 0, 'E': 0, 'F': 0, 'G': 0}
dict2 = {'A': 0, 'B': 0, 'C': 0, 'D': 0, 'E': 0, 'F': 0}

需要将其转换为包含缺失值(显示为na)的Pandas DataFrame,目标格式如下:

A    B  C  D  E  F    G
1  0  na  0  0  0  0    0
2  0    0  0  0  0  0  na

当前手动构造元组的方法需要硬编码所有值和列名,扩展性差,以下是更高效的实现方案:

优化实现代码

import pandas as pd

# 定义原始字典列表
data = [
    {'A': 0, 'C': 0, 'D': 0, 'E': 0, 'F': 0, 'G': 0},
    {'A': 0, 'B': 0, 'C': 0, 'D': 0, 'E': 0, 'F': 0}
]

# 直接将字典列表转为DataFrame,Pandas自动补全缺失列,缺失值默认是NaN
df = pd.DataFrame(data)

# 将NaN替换为指定的'na',并设置行索引为1、2
df = df.fillna('na').set_index(pd.Index([1, 2]))

print(df)

方案优势

  • 无需手动构造元组:直接利用字典列表作为输入,Pandas自动识别所有列并补全缺失值,避免硬编码出错
  • 扩展性强:新增字典或列时,无需修改代码,自动适配
  • 逻辑清晰:步骤简洁,符合Pandas的原生用法,可读性更高

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 01:20:31