Search code examples
pythonpandasdataframedata-analysis

Compare columns common in two dataframes and copy row if the column name matches


I am new to Pandas and I have this below query, I have two dataframes df1 & df2 the df1 is an empty dataframe with 3 columns and df2 has 5 columns with some records.

Df1 Ex below

A B C

Df2 Ex

A B D C E
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5

If the column name matches, I want to copy all rows from df2 to df1. like below

DF1

A B C
1 2 4
1 2 4
1 2 4

it can be df1 or it can be a new data frame. Kindly help me with this query


Solution

  • For general solution for filter of intersection of columns between both DataFrames use Index.intersection:

    Df1 = Df2.reindex(Df1.columns.intersection(Df2.columns, sort=False), axis=1)
    

    If always exist all columns from Df1.columns in Df2.columns use:

    Df1 = Df2[Df1.columns]