简体   繁体   中英

Merging two pandas data frame with common columns

I have a lower triangular matrix and then I transpose it and I have the transpose of it. I am trying to merge them together

lower triangular:

 Data : 
     0         1         2      3        
0  1         0         0        0
1  0.21      0         0        0   
2  0.31      0.32      0        0
3  0.41      0.42      0.43     0
4  0.51      0.52      0.53     0.54

transpose triangular:

 Data : 
     0         1         2      3      
0  1         0.21      0.31     0.41   
1  0         0         0.32     0.52 
2  0         0         0        0.53
3  0         0         0        0.54
4  0         0         0        0

Merged matrix:

 Data : 
     0         1         2      3      4      
0  1         0.21      0.31     0.41   0.51
1  0.21         0      0.32     0.42   0.52
2  0.31      0.32      0        0.43   0.53
3  0.41      0.42      0.43     0      0.54
4  0.51      0.52     0.53      0.54   0

I tried using pd.merge but I couldn't get it to work

How about just adding the two dataframes?

df3 = df1.add(df2, fill_value=0)

BR

Let us using combine_first after mask

df.mask(df==0).T.combine_first(df).fillna(0)
Out[1202]: 
      0     1     2     3     4
0  1.00  0.21  0.31  0.41  0.51
1  0.21  0.00  0.32  0.42  0.52
2  0.31  0.32  0.00  0.43  0.53
3  0.41  0.42  0.43  0.00  0.54
4  0.51  0.52  0.53  0.54  0.00

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM