我试图将一个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)
任何人都可以帮忙解释我的错误吗?
谢谢!
答案 0 :(得分:0)
虽然我不能百分百肯定(因为你没有发布很多关于你的数据),但是在使用append时我遇到了同样的错误,结果发现其中一个数据帧有重复的列名。一旦我纠正了这个错误就消失了。
以下两篇文章讨论了类似的问题:concatenate dataframes with different column ordering 和Pandas concat gives error ValueError: Plan shapes are not aligned
但在这些帖子中的pd.concat上下文(虽然看起来问题是相同的)