2016-09-26 4 views
1

다른 데이터베이스에서 가져온 두 데이터 프레임 df1df2이 있습니다. 데이터 프레임의 각 항목은 id으로 식별됩니다. 1030100110 :열 값별 데이터 프레임 결합 팬더

df1 = pd.DataFrame({'id':[10,20,30,50,100,110],'cost':[100,0,300,570,400,140]}) 

df2 = pd.DataFrame({'id':[10,23,30,58,100,110],'name':['a','b','j','d','k','g']}) 

이 경우, ID가 그 두 dataframes에서 몇 가지 일반적인 제품이 있습니다. 나는, 하나의 dataframe에서이 정보를 병합 할 등이 하나

df3 = pd.DataFrame({'id':[10,30,100,110],'name':['a','j','k','g'],'cost':[100,300,400,140]}) 

나는 사전 및 중첩 루프와 함께 일을하려고했지만, 난 데이터의 다소 큰 금액을 처리하고 그냥 긴 걸릴 그렇게해라.

답변

2

난 당신이 merge가 기본 매개 변수 how='inner'가 omited되어 사용할 수 있습니다 생각 :

print (pd.merge(df1,df2,on='id')) 
    cost id name 
0 100 10 a 
1 300 30 j 
2 400 100 k 
3 140 110 g 
+0

내가 같은 결과를받지 못했습니다. 나는 질문을 업데이트한다. –

+2

오타가있는 것 같습니다. - double'df2'' print (pd.merge (df2, df2, on = 'id'))' – jezrael