【问题标题】:pd.concat Plan shapes are not aligned errorpd.concat 计划形状未对齐错误
【发布时间】:2020-11-27 21:34:20
【问题描述】:

我正在尝试连接两个具有完全相同列名的数据框。

 df1 = [['A','B','C']]
 df1 =     A                  B             C
        1762             53RC982          0.22
        1763             56XY931          0.33
        1767             54AB171          0.47
        1771             38CD410          0.22

 df2 = [['A','B','C']]
         A                    B             C
        1810             53RC982          0.42
        1811             58XY821          0.63
        1812             47AB261          0.33
        1820             38CD410          0.81

其中 A 是唯一列。我想基本上加入他们,让 df1 和 df2 一个接一个地保持不变,这应该不是问题,因为我有一个唯一的列,即如果 df1 是 100 行而 df2 是 50 行,那么合并的行数应该是 150 我试过了:

 df_final = pd.concat([df1, df2], axis=0, sort =True)

但是,这给了我

ValueError: Plan shapes are not aligned

如果我这样做: df_final = pd.concat([df1, df2], axis=1)

这给了我并排的信息。我也试过了

.append 

方法相似的结果。

【问题讨论】:

  • 你能展示示例数据框吗?
  • @YOBEN_S 编辑问题以添加示例
  • 我试试你的示例数据没有问题
  • 可能是您在任一数据框中都有重复的列名
  • @anky 没有重复的列

标签: pandas


【解决方案1】:

发生的问题是 dfs 没有相同的数据类型。二手

 df1['A'] = df1['A'].astype(str)
 df2['A'] = df2['A'].astype(str)

然后

 df_final= pd.concat([df1, df2], axis=0, sort = True)

合并它们

【讨论】:

    猜你喜欢
    • 2018-03-03
    • 2019-06-03
    • 2014-12-01
    • 2018-08-09
    • 2018-06-10
    • 2016-07-01
    • 2019-05-11
    • 2016-05-04
    • 2023-03-16
    相关资源
    最近更新 更多