我有三個資料幀:DF1、DF2、DF3。它們都包含列['BHID','FROM','TO','SAMP ID','*unique element*']。DataFrame 沒有相同數量的行,但我想合并或加入這些 DF,以便最終 DataFrame 包含BHID FROM TO SAMP ID 完全匹配的所有唯一元素。最終的 DataFrame 應該是這樣的——
BHID | FROM | TO | SAMP ID | *element 1* | *element2* | *element3*
我嘗試了以下方法:
FinalDF = pd.merge(DF1,DF2,DF3, on=['BHID','FROM','TO','SAMP ID'], how='inner')
這給了我一個錯誤 - ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
請您協助正確的合并方法或加入方法。這將不勝感激。謝謝
uj5u.com熱心網友回復:
您可以鏈接merge:
cols = ['BHID','FROM','TO','SAMP ID']
out = DF1.merge(DF2, on=cols).merge(DF3, on=cols)
uj5u.com熱心網友回復:
您也可以使用concat:
out = pd.concat([DF1,DF2,DF3], axis = 0)[['BHID','FROM','TO','SAMP ID']]
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/315209.html
上一篇:查詢以按月分組合并兩個表
