如何合并列名相同但顺序错乱的两个DataFrame且不产生额外行列
解决方法
你需要实现的是纵向堆叠两个列名一致、仅列顺序不同的DataFrame,不需要使用merge函数:merge是用于按指定关联键做横向合并的工具,和你的需求不符,自然无法得到预期结果。
正确操作只需要两步:先将df2的列顺序调整为和df1完全一致,再做纵向拼接即可。
R语言实现代码
# 对齐df2的列顺序与df1一致 df2_aligned <- df2[, names(df1)] # 纵向拼接得到结果 df3 <- rbind(df1, df2_aligned)
Python Pandas实现代码
import pandas as pd # 对齐df2的列顺序与df1一致 df2_aligned = df2[df1.columns] # 纵向拼接得到结果,ignore_index用于重置行索引,不需要可删除 df3 = pd.concat([df1, df2_aligned], ignore_index=True)
内容的提问来源于stack exchange,提问作者MSM
相关产品推荐
相关产品推荐

