【问题标题】:Appending a dataframe to the right of another one with the same columns将数据框附加到具有相同列的另一个数据框的右侧
【发布时间】:2018-01-14 07:28:34
【问题描述】:

我有两个具有相同列名的不同数据框:

例如。

     0   1   2
0   10  13  17
1   14  21  34
2   68  32  12

     0   1   2 
0   45  56  32
1    9  22  86
2   55  64  19

我想将第二帧附加到第一帧的右侧,同时继续第一帧的列名。输出如下所示:

    0   1   2   3   4   5
0  10  13  17  45  56  32
1  14  21  34   9  22  86
2  68  32  12  55  64  19

最有效的方法是什么? 谢谢。

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    先使用pd.concat,然后重置列。

    In [1108]: df_out = pd.concat([df1, df2], axis=1)
    
    In [1109]: df_out.columns = list(range(len(df_out.columns)))
    
    In [1110]: df_out
    Out[1110]: 
        0   1   2   3   4   5
    0  10  13  17  45  56  32
    1  14  21  34   9  22  86
    2  68  32  12  55  64  19
    

    【讨论】:

      【解决方案2】:

      为什么不join

      >>> df=df.join(df_,lsuffix='_')
      >>> df.columns=range(len(df.columns))
      >>> df
          0   1   2   3   4   5
      0  10  13  17  45  56  32
      1  14  21  34   9  22  86
      2  68  32  12  55  64  19
      >>> 
      

      join 是你的朋友,我用lsuffix(也可以是rsuffix)来忽略重复列的错误。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-01
        • 2014-02-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多