Rox
Rox

Reputation: 21

Merging 2 dataframes on index and columns

I am really stuck on a merger/ join of 2 dataframes. I would like to merge both on index and columns, here is an example

df1 :

         A   B   C
index 1  0   a   b
index 2  a   0   c
index 3  b   c   0

df 2 :

         B   C   D
index 2  0   c   d
index 3  c   0   e
index 4  d   e   0

I would like to get :

df3:
         A   B   C   D
index 1  0   a   b   nan
index 2  a   0   c   d
index 3  b   c   0   e
index 4  nan d   e   0

I tried many combinations of merge, join, concat and can't find the solution, could you please help me??? Eternal gratitude!!

Upvotes: 1

Views: 37

Answers (1)

mozway
mozway

Reputation: 260630

It is not clear if you want a real merge, i.e. what should happen in case of a mismatch in the overlapping indices.

Assuming there is no mismatch, you can combine_first:

out = df1.combine_first(df2)

Output:

          A  B  C    D
index1    0  a  b  NaN
index2    a  0  c    d
index3    b  c  0    e
index4  NaN  d  e    0

Upvotes: 1

Related Questions