Pandas 如何根据其他数据帧中列的值向数据帧coulmn添加值

Pandas 如何根据其他数据帧中列的值向数据帧coulmn添加值,pandas,Pandas,我有类似这样的东西。此数据框包含唯一的用户id和相应的用户名 df user_id user_name 1 Jack 2 Neil 3 Peter 4 Smith 5 Neev 我有第二个数据帧,类似这样 df1 user_id item_id user_name 1 23 Null 1

我有类似这样的东西。此数据框包含唯一的
用户id
和相应的
用户名

df

user_id    user_name
  1          Jack
  2          Neil
  3          Peter
  4          Smith
  5          Neev
我有第二个数据帧,类似这样

 df1

 user_id     item_id      user_name 
   1           23          Null   
   1           24          Null
   2           34          Null
   3           35          Null
   5           45          Null
我想从第一个数据帧填充上面的
user\u name
列。因此,如果匹配了
user\u id
,则应在该位置输入相应的
user\u name

所以应该是这样的

df1
user_id     item_id      user_name 
   1           23          Jack
   1           24          Jack
   2           34          Neil
   3           35          Peter
   5           45          Neev
我正在用python进行跟踪

  b = df.user_name[df['user_id'].isin(df1['user_id'])]
  df1['user_name'] = b

但是,它会删除重复项。我不想那样做。请帮助。

使用
合并

In [299]:
df1[['user_id','item_id']].merge(df,on='user_id')

Out[299]:
user_id item_id user_name
0   1   23  Jack
1   1   24  Jack
2   2   34  Neil
3   3   35  Peter
4   5   45  Neev

令人惊叹的。。谢谢你的回答。真的帮助了我。