合并具有相同标题名称的列

时间:2018-09-28 22:27:51

标签: python pandas

假设我有两个df: df1 =

NULL

df2 =

index      colx      coly      colz
  0         45        35        54

我希望df1是:

index      colz      colx      colg      colf
  0         11        22        10         5

我一直在考虑合并和加入,但似乎无法正确完成

谢谢

2 个答案:

答案 0 :(得分:1)

您可以加入转置的数据框,再次转置结果,并添加默认的数字索引:

df1.T.join(df2.T, rsuffix='r').T.reset_index(drop=True)
#       colx  coly  colz
#0      45.0  35.0  54.0
#1      22.0   NaN  11.0

答案 1 :(得分:0)

使用pd.concat

pd.concat([df, df2], sort=False)[df.set_index('index').columns].reset_index(drop=True)

    colx    coly    colz
0   45      35.0    54
1   22      NaN     11

使用pd.merge

pd.merge(df,df2, how='outer')[df.set_index('index').columns]

    colx    coly    colz
0   45      35.0    54
1   22      NaN     11