合并具有相同标题的列

2024-09-28 17:23:16 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有两个DF: df1=

index      colx      coly      colz
  0         45        35        54

df2=

index      colz      colx      colg      colf
  0         11        22        10         5

我希望df1是:

index      colx      coly      colz      colf  
  0         45        35        54       nan
  1         22        nan       11        5

我正在研究合并和联接,但我似乎不能正确地执行它

谢谢


Tags: dfindexnandf1df2colfcolgcolx
2条回答

使用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

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

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

相关问题 更多 >