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

2024-05-15 17:28:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个数据帧,我想根据匹配的行将它们合并成一个数据帧。我的数据框是这样的

数据框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

东风二号

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()

但它只是给了我作为输出的头。 非常感谢您的帮助和指导。。!!


Tags: 文件数据dfonmergemergedhead指导
2条回答

试试这个

merged = df.merge(df_annon, left_index=True, right_index=True, how='inner')

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

pandas merge function接受关键字参数:left_index=right_index=。当设置为True时,合并函数将使用数据帧的索引/指示符进行合并。

像这样:

merged = pd.merge(left=df, left_index=True
                  right=df_annon, right_index=True,
                  how='inner')

相关问题 更多 >