Skip to main content
 首页 » 编程设计

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

2025年05月04日14bhlsheji

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

 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