[英]Merging or Join three DataFrames where all three DataFrames contain four identical columns and one unique column
我有三個數據幀: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().
ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
請您協助正確的合並方法或加入方法。 這將不勝感激。 謝謝
您可以鏈接merge
:
cols = ['BHID','FROM','TO','SAMP ID']
out = DF1.merge(DF2, on=cols).merge(DF3, on=cols)
您也可以使用concat
:
out = pd.concat([DF1,DF2,DF3], axis = 0)[['BHID','FROM','TO','SAMP ID']]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.