2016-01-29 116 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

相關問題