Pandas lookup, mapping one column in a dataframe t

2020-08-10 07:00发布

问题:

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.

回答1:

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.