合并并使用以下MWE时:
import pandas as pd
df1 = pd.DataFrame(data={'A': [1, 1], 'B': [2, 22]})
df2 = pd.DataFrame(data={'A': [1, 1], 'D': [4, 44]})
df3 = pd.DataFrame(data={'A': [1, 1], 'F': [6, 66]})
df = pd.concat([df1, df2, df3], axis=1, join='inner')
输出是:
A B A D A F
0 1 2 1 4 1 6
1 1 22 1 44 1 66
任何想法如何使用cat或merge或其他函数进行转换(无需手动"删除"合并之前或之后的公共列,并且合并必须仍然是内部)到以下输出(假定"优先级"给予df1['A']
)?
A B D F
0 1 2 4 6
1 1 22 44 66
答案 0 :(得分:1)
您可以转置数据框,删除重复项,然后重新转换。
>>> df.T.drop_duplicates().T
A B D F
0 1 2 4 6
1 1 22 44 66