代码之家  ›  专栏  ›  技术社区  ›  CDVC23

合并两个熊猫数据帧

  •  2
  • CDVC23  · 技术社区  · 8 年前

    您好,我在合并两个Pandas数据帧时遇到问题,尝试了merge和concat,但我无法获得我想要的格式,我使用了两个行索引,所有列的名称都相同:

        df1                                     df2
    
               high   low                              high low
     year ind                                 year ind
     2000  A    9      5                      2000  B    8    3      
     2001  A    5      2                      2001  B    4    2
    

    我想要这样的东西:

       df3                                  
    
               high   low                         
     year ind                                
     2000  A     9     5    
     2000  B     8     3                      
     2001  A     5     2            
     2001  B     4     2
    

    有什么想法吗?谢谢

    3 回复  |  直到 8 年前
        1
  •  2
  •   jezrael    8 年前

    使用 concat + sort_index :

    df = pd.concat([df1, df2]).sort_index()
    print (df)
              high  low
    year ind           
    2000 A       9    5
         B       8    3
    2001 A       5    2
         B       4    2
    
        2
  •  1
  •   BENY    8 年前

    在此处附加

    df1.append(df2)
    Out[149]: 
              high   low
    year ind            
    2000 A       9     5
    2001 A       5     2
    2000 B       9     5
    2001 B       5  1000
    
        3
  •  0
  •   Gabriel_F    8 年前

    来自熊猫。合并文档字符串,

    Docstring:通过执行数据库样式的联接来合并DataFrame对象 按列或索引操作。

    它可能旨在合并两个数据帧 水平方向。如果你只是想玩得开心,你可以做如下的小动作。然而,这可能是一个愚蠢的解决方案,但如果成功的话。

    pd.merge(df1.T, df2.T, left_index=True, right_index=True).T