Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Pandas lookup, mapping one column in a dataframe to another in a different dataframe

I have two pandas dataframes: df1 and df2.

df1 has columns X and Y and weeknum. df2 has columns Z, weeknum, and datetime.

I want to basically keep df1 and have an extra column in it that is corresponding datetime for weeknum.

I can use merge but there must be a cleaner way, without having to drop column Z.

like image 768
wolfsatthedoor Avatar asked Sep 01 '14 18:09

wolfsatthedoor


1 Answers

You can grab the columns you want in the merge syntax

df1 = df1.merge(df2[['weeknum', 'datetime']], on=['weeknum'])

This will make sure you don't have any unwanted columns of df2 in your result, but you don't have to delete those columns from your second DataFrame in the process.

like image 157
Mike Avatar answered Oct 10 '22 18:10

Mike