2017-08-31 38 views
0

我试图追加一个数据帧到另一个的末尾。第一个DataFrame有100列。第二个DataFrame有30列。 (第二列是第一列的子集。)我的意图是第二列中不存在的任何列将被赋予一个NA值。熊猫DataFrame.append给出了关于计划形状的错误

我正在关注的熊猫文档中所描述的示例:https://pandas.pydata.org/pandas-docs/stable/merging.html#concatenating-using-append

第二实施例表明,如果两个DataFrames具有不同的列,熊猫将智能地填充NA缺失的数据。

然而,当我试试这个,我只得到:“ValueError异常:计划形状不对齐”

df_a.shape 
    Out[27]: (50000, 100) 

    df_b.shape 
    Out[26]: (414, 30) 

    df_all = df_a.append(df_b, ignore_index=True) 

有人能帮忙解释一下我可能做错了什么?

谢谢!

回答

0

虽然我不能100%确定(因为你没有发布太多关于你的数据),但是在使用append时遇到了同样的错误,结果证明其中一个数据帧有重复的列名。一旦我纠正这个错误就消失了。

它是在以下两个帖子讨论的一个类似的问题:concatenate dataframes with different column orderingPandas concat gives error ValueError: Plan shapes are not aligned

但pd.concat在这些职位的背景下(尽管它似乎问题是相同的)