根据数据帧2中的匹配条件更新数据帧1[1]

2024-06-17 05:35:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有2个数据帧,我想根据另一个数据帧上的条件(名称匹配)从中添加一个数据帧。(索引不匹配)

     df1 = 
         Name Value 
          ABC   2     
          DEF   2    
          GHI   2
          JKL   0
          MNO   0

     df2 = 
         Name Value 
          ABC   5     
          DEF   5     
          GHI   5

期望输出

     df3 =
         Name Value 
          ABC   7     
          DEF   7     
          GHI   7
          JKL   0
          MNO   0

实现这一点最简单的方法是什么?请帮忙


Tags: 数据方法name名称valuedefjkl条件
2条回答

另一种方法是使用set_indexreindexreset_index

>>> df2.set_index('Name').reindex(df1['Name'], fill_value=0).reset_index()
  Name  Value
0  ABC      5
1  DEF      5
2  GHI      5
3  JKL      0
4  MNO      0

您可以使用update

df1.set_index('Name').update(df2.set_index('Name')).reset_index()

相关问题 更多 >