Skip to content Skip to sidebar Skip to footer

Fill Column Of A Dataframe From Another Dataframe

I'm trying to fill a column of a dataframe from another dataframe based on conditions. Let's say my first dataframe is df1 and the second is named df2. # df1 is described as bellow

Solution 1:

Use drop_duplicates with set_index and combine_first:

df = df2.set_index('Col1').combine_first(df1.drop_duplicates().set_index('Col1')).reset_index()

If need check dupes only in id column:

df = df2.set_index('Col1').combine_first(df1.drop_duplicates().set_index('Col1')).reset_index()

Solution 2:

Here is a solution with the filter df1.Col1 == df2.Col1

df2['Col2'] = df1[df1.Col1 == df2.Col1]['Col2']

It is even better to use loc (but less clear from my point of view)

df2['Col2'] = df1.loc[df1.Col1 == df2.Col2, 'Col2']

Post a Comment for "Fill Column Of A Dataframe From Another Dataframe"