python - 如何在 Pandas 中连接两个具有不同列名的数据框? - Python

标签 python pandas merge

df1 = pd.DataFrame({'a':[1,2,3],'x':[4,5,6],'y':[7,8,9]})
df2 = pd.DataFrame({'b':[10,11,12],'x':[13,14,15],'y':[16,17,18]})

我正在尝试使用 df1 中的键合并两个数据帧。我想我应该为此使用 pd.merge,但我如何告诉 pandas 将值放在 df2b 列中df1a 列。这是我要实现的输出:

    a   x   y
0   1   4   7
1   2   5   8
2   3   6   9
3   10  13  16
4   11  14  17
5   12  15  18

最佳答案

只需使用 concatrename df2 的列,因此它对齐:

In [92]:
pd.concat([df1,df2.rename(columns={'b':'a'})], ignore_index=True)

Out[92]:
    a   x   y
0   1   4   7
1   2   5   8
2   3   6   9
3  10  13  16
4  11  14  17
5  12  15  18

类似地,您可以使用merge,但您需要像上面那样重命名该列:

In [103]:
df1.merge(df2.rename(columns={'b':'a'}),how='outer')

Out[103]:
    a   x   y
0   1   4   7
1   2   5   8
2   3   6   9
3  10  13  16
4  11  14  17
5  12  15  18

关于python - 如何在 Pandas 中连接两个具有不同列名的数据框? - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36925354/

相关文章:

python - 在 OS X 上为 python3 创建 virtualenv 时遇到问题

python - 无法使用 pandas 将值添加到 csv 中的每一列

pandas - 合并/合并具有不同索引和不同列名的数据帧

python - Pandas 数据框分配不更新数据框

GIT:如何强制 merge 提交给祖先

python - 明智地合并元组列表并将其转换为列表列表

python - 以侵入性最小、最隐形的方式检测对象使用情况

Python:PyQt QPixmap 为有效图像返回 Null

python - 根据另一个列表中的元素进行列表划分

git: merge 冲突后,检查重置文件,但现在 merge 不重新应用