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.