Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Merging two data frames based on the index column

Tags:

python

pandas

I have two dataframes, I wanted to merge them into one single dataframe based on the matching row. My dataframe looks like this

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

The second one is a bigger dataframe and what I need as in my output file, as,

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

This is what I tried with merge,

merged =df.merge(df_annon, on='Set_1')
merged.head()

But it is just giving me the header as output. Any help or guidance is much appreciated..!!

like image 305
user1017373 Avatar asked Dec 08 '22 02:12

user1017373


1 Answers

Try this

merged = df.merge(df_annon, left_index=True, right_index=True, how='inner')
like image 118
Tanmoy Avatar answered Dec 10 '22 14:12

Tanmoy