Pandas DataFrame.append给出了关于计划形状的错误

时间:2017-08-31 08:26:17

标签: python-3.x pandas dataframe

我试图将一个DataFrame附加到另一个DataFrame的末尾。第一个DataFrame有100列。第二个DataFrame有30列。 (第二列的列是第一列的子集。)我的意图是第二列中不存在的任何列只会被赋予NA值。

我遵循Pandas文档中描述的示例:https://pandas.pydata.org/pandas-docs/stable/merging.html#concatenating-using-append

第二个示例显示,如果两个DataFrame具有不同的列,则pandas将使用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)

任何人都可以帮忙解释我的错误吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

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

以下两篇文章讨论了类似的问题:concatenate dataframes with different column ordering Pandas concat gives error ValueError: Plan shapes are not aligned

但在这些帖子中的pd.concat上下文(虽然看起来问题是相同的)