基于索引列合并两个数据帧

use*_*373 1 python pandas

我有两个数据框,我想根据匹配的行将它们合并为一个数据框。我的数据框看起来像这样

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 85

df_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()
Run Code Online (Sandbox Code Playgroud)

但这只是给我标题作为输出。任何帮助或指导深表感谢。

小智 6

尝试这个

merged = df.merge(df_annon, left_index=True, right_index=True, how='inner')
Run Code Online (Sandbox Code Playgroud)


fir*_*ynx 5

我想我已经在评论中写了答案,但让我详细说明。

大熊猫合并功能需要关键字参数:left_index=right_index=。设置True为时,合并功能将使用数据帧的索引/索引进行合并。

像这样:

merged = pd.merge(left=df, left_index=True
                  right=df_annon, right_index=True,
                  how='inner')
Run Code Online (Sandbox Code Playgroud)