1

I have pandas dataframe somthing like this. This dataframe contains unique user_id and corresponding user-name

df user_id user_name 1 Jack 2 Neil 3 Peter 4 Smith 5 Neev 

And I have second dataframe something like this

 df1 user_id item_id user_name 1 23 Null 1 24 Null 2 34 Null 3 35 Null 5 45 Null 

I want to fill user_name column above from the 1st dataframe. So,where user_id is matched it should enter corresponding user_name in that position.

So it should look like this..

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

I am doin following in python

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

But,It drops duplicates. I don't want to do that. Please help.

1 Answer 1

3

Use 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 
Sign up to request clarification or add additional context in comments.

1 Comment

Awesome.. Thanks for the answer. really helped me.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.