I would like to pair corresponding matching values to a specific columns' values using Pandas without getting duplicates.
Data
df1
IN  name1   size    ttee    date        days    new date    year    month
AA1 dd      1       FALSE   1/14/2023   10      1/14/2023   2023    January
AA1 ff      2       FALSE   1/9/2023    10      1/9/2023    2023    January
AA1 jj      3       FALSE   1/8/2023    10      1/8/2023    2023    January
AA1 mm      4       FALSE   1/9/2023    10      1/9/2023    2023    January
AA1 nn      5       FALSE   1/29/2023   10      1/29/2023   2023    January
df2
name    stat    year    month   
AA1     KZZ:1   2022    January 
AA1     KZZ:1   2023    April   
AA1     KZZ:1   2023    March   
AA1     KZZ:1   2022    February    
AA1     KZZ:1   2022    April   
AA1     KZZ:1   2022    September
AA1     KZZ:1   2022    February    
AA1     KZZ:1   2022    March   
AA1     KZZ:1   2023    June    
AA1     KZZ:1   2022    December
AA1     KZZ:1   2022    January 
AA1     KZZ:1   2022    January 
Desired
IN  name1   size    ttee    date        days    new date    year    month   stat
AA1 dd      1       FALSE   1/14/2023   10      1/14/2023   2023    January KZZ:1
AA1 ff      2       FALSE   1/9/2023    10      1/9/2023    2023    January KZZ:1
AA1 jj      3       FALSE   1/8/2023    10      1/8/2023    2023    January KZZ:1
AA1 mm      4       FALSE   1/9/2023    10      1/9/2023    2023    January KZZ:1
AA1 nn      5       FALSE   1/29/2023   10      1/29/2023   2023    January KZZ:1
I've tried doing this:
out = pd.merge(df1,df2.drop_duplicates(), left_on=['IN'], right_on= ['name'], how="left")
However, the above script is giving an exploded output with combinations and does not retain the original left dataframe row count.
 
    