我有两个数据帧,我想根据匹配的行将它们合并为一个数据帧。我的数据框看起来像这样
DF_1
Set_1 Fax_1 Fax_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 85
df_2
Set_1 Fax_3 Fax_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
第二个是更大的数据框,我需要的输出文件,如,
Set_1 Fax_1 Fax_2 Fax_3 Fax_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
这是我尝试使用merge,
merged =df.merge(df_annon, on='Set_1')
merged.head()
但它只是给我标题作为输出。 任何帮助或指导都非常感谢.. !!
答案 0 :(得分:4)
我想我已经在评论中写了答案,但让我详细说明。
pandas merge function采用关键字参数:left_index=
和right_index=
。设置为True
时,合并函数将使用数据框的索引/指标进行合并。
像这样:
merged = pd.merge(left=df, left_index=True
right=df_annon, right_index=True,
how='inner')
答案 1 :(得分:1)
试试这个
merged = df.merge(df_annon, left_index=True, right_index=True, how='inner')