如何在Python中合并两个不同形状、不同列名的数据集[重复]

1yjd4xko  于 2023-05-02  发布在  Python
关注(0)|答案(1)|浏览(138)

此问题已在此处有答案

Pandas Merging 101(8个回答)
3天前关闭。
我有两个不同形状和列名的2个数据集,我需要合并它们以填补所有NaN的空白。当我尝试和不工作,我仍然与NaN离开。
下面是一个示例:
DF1:

ID      Mgr_name  Reports   EmpType      mgr_pos_num
 101      NaN       3       Manager         1234
 102      Brian     4       Manager         4567
 103      Mary      7       Manger          9876
 104      NaN       1       Manager         3456
 ...                                          
 201      Ashely    2       Manager         4291
 202      Blake     5       Manager         7215

DF2:

emp_Name        emp_pos_num      
    0         Adam              5678
    1         Amanda            1122
    2         Brian             4567
    3         Chris             7654
    4         Dave              5564
    5         John              1234
    6         Lisa              3346
    7         Mary              9876
    8         Sarah             3456
    ....  
    210       Greg              0123
    211       Blake             7215

DF1显示了大部分信息,我跳过了大部分行,以显示它们在这个数据集中有很多行。DF2有所有的名字和更多,因为它处理所有的员工,但确实有职位号码。对ID + Name唯一的
以下是所需的输出:

ID       Name        Reports        EmpType       emp_name    emp_pos_num
  101      NaN           3               MGR          John         1234
  102      Brian         4               MGR          Brian        4567
  103      Mary          7               MGR          Mary         9876
  104      NaN           1               MGR          Sarah        3456
  ...
  201      Ashely        2               MGR          Ashely       4291
  202      Blake         5               MGR          Blake        7215
ogq8wdun

ogq8wdun1#

假设您希望在mgr_pos_num和emp_pos_num上进行联接,则可以使用

DF1 = pd.merge(DF1, DF2, how='left', left_on='mgr_pos_num', right_on='emp_pos_num')

相关问题