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

如何用Pandas将空DataFrame与另一个DataFrame合并或更新?

解决方案

方法一:直接指定列构造新DataFrame

这是最简洁高效的方式,直接基于df2的数据,按照df1的列名创建新DataFrame,缺失的列会自动填充NaN:

import numpy as np
import pandas as pd

df1 = pd.DataFrame(columns=['A','B','C','D','E'])
df2 = pd.DataFrame({ 'B': [1,2,3],
                     'D': [4,5,6],
                     'E': [7,8,9]})

# 核心代码
result = pd.DataFrame(df2, columns=df1.columns)
print(result)

输出结果:

A  B    C  D  E
0  NaN  1  NaN  4  7
1  NaN  2  NaN  5  8
2  NaN  3  NaN  6  9

方法二:使用reindex方法

如果需要对齐df1的列结构,可使用reindex方法实现列匹配,缺失列自动填充NaN:

result = df2.reindex(columns=df1.columns)

效率说明

以上两种方法均为Pandas内置的向量级操作,完全避免逐行循环,在处理百万级及以上数据量时性能优异。其中pd.DataFrame(df2, columns=df1.columns)的性能略胜一筹,因为它直接基于原数据的内存块构造新对象,无需额外的对齐计算。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 10:55:18