2

i'm quite new to pandas and i'm stuck with this dataframe concatenation. Let's say i've 2 dataframes:

df_1=pd.DataFrame({ "A":[1, 1, 2, 2, 3, 4, 4], "B":[1, 2, 1, 2, 1, 1, 3], "C":['a','b','c','d','e','f','g'] }) 

and

df_2=pd.DataFrame({ "A":[1, 3, 4], "D":[1,'m',7] }) 

I would like to concatenate/merge the 2 dataframes on the same values of ['A'] so that the resulting dataframe is:

df_3=pd.DataFrame({ "A":[1, 1, 3, 4, 4], "B":[1, 2, 1, 1, 3], "C":['a','b','e','f','g'], "D":[1, 1, 'm', 7, 7] }) 

How can i do that?

Thanks in advance

2 Answers 2

2

Just do an inner merge:

df_1.merge(df_2, how="inner", on="A") 

outputs

 A B C D 0 1 1 a 1 1 1 2 b 1 2 3 1 e m 3 4 1 f 7 4 4 3 g 7 
Sign up to request clarification or add additional context in comments.

Comments

1

You can also do a left merge, and then dropna

df_3 = df_1.merge(df_2, on=['A'], how='left').dropna(axis=0) 

Output:

 A B C D 0 1 1 a 1 1 1 2 b 1 4 3 1 e m 5 4 1 f 7 6 4 3 g 7 

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.