python - 合并不同列上的两个数据框

标签 python pandas numpy

合并两个不同列上的两个数据框并重命名其他两列。

 df1
 Male    height 
 Alex    156
 Philip  178

 df2
 Female  height
 Alex    144
 Janice  150

我想要这样的数据框

 df3
 Person   M_Height  F_Height
 Alex      156        144 
 Philip    178         0
 Janice     0         150

我如何实现这一点?如果我说右上和左上,合并分别给我两列。

最佳答案

In [21]: pd.merge(df1.rename(columns={'Male':'Person'}),
                  df2.rename(columns={'Female':'Person'}),
    ...:          on='Person', how='outer', suffixes=['_M','_F']) \
    ...:   .fillna(0)
Out[21]:
   Person  height_M  height_F
0    Alex     156.0     144.0
1  Philip     178.0       0.0
2  Janice       0.0     150.0

关于python - 合并不同列上的两个数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45552918/

相关文章:

python - 一维数据中的步进检测

python - 将 pandas 数据框可视化为热图时出现类型错误

python - numpy和opencv中添加两个图像的区别

python - 对 numpy 元组进行矢量化时函数返回意外值

python - 如何将numpy数组转换为元组

具有特定数量 ram 的 Python 虚拟函数,用于工作流测试

python - 如何在警告时自动切换到 Debug模式?

python - 从 tensorflow 中的两个现有张量构造一个新张量

python - Threading Condition Acquire lock 并不是真正获取锁

python - 在 python pandas 中返回字符串中正则表达式的多个匹配项