2016-01-29 119 views
1

我有熊猫数据框这样的东西。该数据帧包含唯一user_id和相应user-name如何根据其他数据框中的列的值向熊猫数据框的库值添加值

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 

我想从1号数据框中填入上述user_name列。所以,user_id匹配的位置应该在该位置输入相应的user_name

因此,它应该是这样..

df1 
user_id  item_id  user_name 
    1   23   Jack 
    1   24   Jack 
    2   34   Neil 
    3   35   Peter 
    5   45   Neev 

我在干什么蟒

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

下列但是,它降低重复。我不想这样做。请帮忙。

回答

2

使用merge

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 
+1

真棒..感谢您的回答。真的帮助了我。 – Neil

相关问题