【发布时间】:2015-10-28 12:44:35
【问题描述】:
我有两个数据框,我想根据匹配的行将它们合并为一个数据框。我的数据框看起来像这样
DF_1
设置_1 传真_1 传真_2 ABC_1 45 76 Abc_2 46 77 ABC_3 47 78 Abc_4 48 79 Abc_5 49 80 ABC_6 50 81 ABC_7 51 82 ABC_8 52 83 ABC_9 53 84 Abc_10 54 85df_2
设置_1 传真_3 传真_4 Abc_1 69 42 Abc_2 70 43 Abc_3 71 44 ABC_6 72 45 Abc_5 73 46 ABC_6 74 47 ABC_7 75 48 ABC_8 76 49 Abc_9 77 50 ABC_10 78 51 ABC_11 55 86 ABC_12 56 87 Abc_13 57 88 Abc_14 58 89 Abc_15 59 90 Abc_16 60 91第二个是一个更大的数据框,我需要在我的输出文件中,如,
设置_1 传真_1 传真_2 传真_3 传真_4 Abc_1 45 76 69 42 Abc_2 46 77 70 43 Abc_3 47 78 71 44 Abc_4 48 79 72 45 Abc_5 49 80 73 46 Abc_6 50 81 74 47 Abc_7 51 82 75 48 Abc_8 52 83 76 49 Abc_9 53 84 77 50 Abc_10 54 85 78 51这是我尝试合并的方法,
merged =df.merge(df_annon, on='Set_1')
merged.head()
但它只是给了我标题作为输出。 任何帮助或指导都非常感谢..!!
【问题讨论】:
-
pd.merge接受两个关键字参数left_index=True和right_index=True,这会在索引上合并,这可能是您想要的吗? -
谢谢你,成功了,merge = df.merge(df_annon, how='inner',left_index=True,right_index=True, on='Set_1)
-
也可以使用
join,它与merge基本相同,但自动使用索引。 -
df_2有两个Abc_6值。你想如何在它们之间做出选择?您可以使用72 45或74 47。你给出的例子是后者,但为什么呢? -
@LondonRob 现在至少有一半的熊猫问题是重复的。 ;-)