2017-10-15 1 views
1

에 다른 인덱스 Dataframes을 결합 :나는 두 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 

내가 두 dataframe을 결합 DF1하는 GSM 열을 추가해야합니다.

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

이러한 데이터 프레임은 서로 다른 인덱스를 가지고 있으며 올바른 데이터를 가져올 수 없습니다. 어떤 조언을 주시면 감사하겠습니다.

답변

2

당신은뿐만 아니라 indexmerge를 사용할 수 있습니다.

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 
1

사용 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 
+0

에 ValueError : 열이 중첩하지만 지정된 접미 : 인덱스 ([u'accountname '] DTYPE ='오브젝트 ') – jojo

+0

첫 번째 또는 두 번째 용액? – jezrael

+0

첫 번째 해결책 @jezrael – jojo