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

如何用字典向Pandas DataFrame添加新记录?缺失值处理疑问

解决Pandas添加字典记录时缺失列填充空格的问题

问题场景

当你用字典添加新记录时,如果字典缺少DataFrame的某个列名作为键,添加后对应列会显示空值(NaN),而不是空格,需要把这些空值替换为空格。

方案一:添加后统一填充空值

如果只是要把所有空值替换成空格,可以在添加记录后执行填充操作:

# 添加记录(注意:append已被弃用,推荐用pd.concat,方案二会详述)
df = df.append(new_record, ignore_index=True)
# 填充所有空值为空格
df.fillna(' ', inplace=True)

如果只想填充特定列的空值,比如只处理Nationality列:

df['Nationality'] = df['Nationality'].fillna(' ')

方案二:添加前补全字典的缺失键(更严谨)

先基于原DataFrame的列名,补全新字典中缺失的键,默认值设为空格,再添加记录,避免后续额外的填充操作:

import pandas as pd

# 获取原DataFrame的所有列名
all_cols = df.columns.tolist()
# 补全新记录的缺失列,默认填充空格
complete_record = {col: new_record.get(col, ' ') for col in all_cols}
# 用pd.concat添加记录(替代已弃用的append)
df = pd.concat([df, pd.DataFrame([complete_record])], ignore_index=True)

注意点

Pandas 1.4.0及以上版本中,df.append()方法已被标记为弃用,官方推荐使用pd.concat()来拼接数据,避免后续版本兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 21:25:17