2017-08-31 37 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在這些職位的背景下(儘管它似乎問題是相同的)