Python合并两个DataFrame的核心方法包括concat()
、merge()
和join()
,适用于不同场景的数据整合需求。 合并时需注意行列对齐、索引处理以及重复值问题,灵活选择方法可高效完成数据拼接。
-
concat()
:简单纵向或横向堆叠
适用于结构相同的DataFrame合并,通过axis
参数控制方向(0为纵向,1为横向)。例如纵向合并时,自动对齐列名,缺失值填充NaN。若需保留原始索引,设置ignore_index=False
。 -
merge()
:基于键值关联整合
类似SQL的JOIN操作,通过on
指定关联列,支持inner
、left
、right
和outer
四种连接方式。例如pd.merge(df1, df2, on='id', how='left')
可实现左连接,适合处理非对称数据。 -
join()
:索引快速匹配
默认按索引合并,语法简洁。例如df1.join(df2, how='outer')
可扩展缺失索引项。若需按列关联,可先设置索引再调用该方法。
合并后建议检查数据完整性,如重复值(drop_duplicates()
)或索引重置(reset_index()
)。根据数据量和关联复杂度选择方法,merge()
适合复杂关联,concat()
更适用于批量拼接。