【问题标题】:Merge avoiding duplicate columns but keeping only one duplicate合并避免重复列但只保留一个重复
【发布时间】:2018-09-01 08:36:57
【问题描述】:

这是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

【问题讨论】:

    标签: python pandas


    【解决方案1】:
    cols_to_use = df2.columns - df1.columns.difference(['co_code'])
    

    或者,

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

    【讨论】:

      【解决方案2】:

      类似于@COLDSPEED 的解决方案:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-18
        • 2016-07-31
        • 1970-01-01
        • 2022-07-19
        • 2019-09-05
        • 1970-01-01
        相关资源
        最近更新 更多