合并或加入三个 DataFrame,其中所有三个 DataFrame 都包含四个相同的列和一个唯一的列

Merging or Join three DataFrames where all three DataFrames contain four identical columns and one unique column

我有三个 DataFrame:DF1、DF2、DF3。它们都包含 ['BHID','FROM','TO','SAMP ID','*unique element*'] 列。 DataFrame 的行数不同,但我想合并或加入这些 DF,以便最终的 DataFrame 包含所有 unique elements,其中 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().

请您提供正确的合并方法或连接方法。这将不胜感激。谢谢

您可以链接 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']]