合并避免重复列,但只保留一个副本

时间:2018-03-22 19:07:16

标签: python pandas

这是this question

的后续行动

我有两个要合并的数据框,但我想避免重复列,所以我正在做:

cols_to_use = df2.columns-df1.columns

如果我打印cols_to_use,我会得到这个:

 Index([col1,col2,col3...],dtype=object)

但是,我有一个列,我需要将它保存在两个dfs中,它是co_code。那是因为我要在那一栏上合并。

我的问题是:如何在cols_to_use中添加一个额外的列?我需要它看起来像这样:

Index([co_code,col1,col2,col3...],dtype=object)

我尝试了不同的合成器,但似乎没有任何效果:

cols_to_use = df2.columns-df1.columns+'co_code'
cols_to_use = df2.columns-df1.columns+['co_code']
cols_to_use = df2.columns-df1.columns+df2['co_code'].columns

2 个答案:

答案 0 :(得分:2)

cols_to_use = df2.columns - df1.columns.difference(['co_code'])

或者,

cols_to_use = (df2.columns - df1.columns).tolist() + ['co_code']

答案 1 :(得分:2)

与@ COLDSPEED的解决方案类似:

cols_to_use = df2.columns.difference(df1.columns.drop('co_code'))