如何合并唯一列值上的数据框?

我对数据框很陌生。假设我有2个数据框:

df1
user_id    username firstname lastname 
 123         abc      abc       abc
 456         def      def       def 
 789         ghi      ghi       ghi
 800         jkl      jkl       jkl        

df2
user_id    username firstname lastname 
 456         def      bbb       bbb 
 800         jkl      ccc       ccc

我想要结果数据框:

df3
user_id    username firstname lastname 
 123         abc      abc       abc
 456         def      bbb       bbb 
 789         ghi      ghi       ghi
 800         jkl      ccc       ccc        

基本上,我想合并df1和df2,如果user_id相同,我想从df2中获取行。我该怎么做呢?

评论
  • 独唱情歌
    独唱情歌 回复

    Use DataFrame.update with convert columns user_id to index if necessary:

    df1 = df1.set_index('user_id')
    df2 = df2.set_index('user_id')
    
    df1.update(df2)
    print (df1)
            username firstname lastname
    user_id                            
    123          abc       abc      abc
    456          def       bbb      bbb
    789          ghi       ghi      ghi
    800          jkl       ccc      ccc