2016-04-27 67 views
0

我確定我做錯了什麼,但對我來說並不明顯。加入多個數據幀和重複列

我有許多數據幀,我想加入。我使用pd.merge左側的接合部加入我這樣做,因爲

Database=pd.merge(df1, df2, left_on='key', Right_on='key',how='left') 

Database=pd.merge(df3, df4, left_on='key', Right_on='key',how='left') 

重複,但總是寫回數據庫數據框,一切工作正常,但最後我有多個副本,即df1_code一直重複df1_code_x ,df1_code_x_x會使得結果df非常大。我試圖;

Database.T.drop_duplicates().T 

但這導致了一個cms內存錯誤,我該如何停止列重複開始。

+0

你可以提供一個可重複的例子嗎? – IanS

回答

0

我不認爲你可以避免有重複,至少不要用任何參數使用pd.merge

pd.DataFrame.drop_duplicates()似乎在刪除重複的行。這就解釋了你爲什麼要換位和嘗試drop_duplicates。在每次合併之後使用它可能是一個想法,而不是最後一次?

此外,根據您的示例調用,您並不需要定義right_onleft_on兩個參數。這兩個似乎是一樣的,所以你可以保存自己打字和囤這:

Database = df1.merge(df2, how='left', on='key') 
Database = df3.merge(df4, how='left', on='key') 
... 

我希望幫助