7

I have two dataframes:

df1 : here index is ip

            accountname      name
ip
192.168.1.1        aaaa  john doe
192.168.1.2        bbbb  jane doe

df2 : index is accountname

             gsm
accountname
aaaa         850
bbbb         860
cccc         870

I have to combine two dataframe and add gsm column to df1.

            ip accountname      name  gsm
0  192.168.1.1        aaaa  john doe  850
1  192.168.1.2        bbbb  jane doe  860

These dataframes has different indexes and I couldnt reach right data. any advice would be appreciated.

Zero
  • 66,763
  • 15
  • 141
  • 151
jojo
  • 117
  • 1
  • 1
  • 11

2 Answers2

7

You could use merge with index as well.

In [2313]: df1.merge(df2, left_on='accountname', right_index=True).reset_index()
Out[2313]:
            ip accountname      name  gsm
0  192.168.1.1        aaaa  john doe  850
1  192.168.1.2        bbbb  jane doe  860
Zero
  • 66,763
  • 15
  • 141
  • 151
2

Use join:

df = df1.join(df2, on='accountname', how='inner').reset_index()
print (df)
            ip accountname      name  gsm
0  192.168.1.1        aaaa  john doe  850
1  192.168.1.2        bbbb  jane doe  860
jezrael
  • 729,927
  • 78
  • 1,141
  • 1,090