Problem is simplified for ease of discussion.
Take 3 dataframes with similar and disjoint columns, but the same column values. How does one concatenate them in such a way that there are no repeated columns, all unique columns are retained (i.e. not doing an inner join), and new rows are not created if column values are the same?
Individual dataframes:
df1:
a b c
0 1 2 3
1 11 22 33
df2:
b c d
0 2 3 4
1 22 33 44
df3:
c d e
0 3 4 5
1 33 44 55
Desired output:
a b c d e
0 1 2 3 4 5
1 11 22 33 44 55
However, simply using
pd.concat([df1, df2, df3], axis=1)
includes duplicate columns.