2014-04-29 12 views
2

두 개의 합계 열 값 DataFrames을 병합하려고합니다.팬더 DataFrame 병합 집계 열

id  name  weight   
    2   B  15 
    3   C  10 

DF2

id  name  weight   
    1   A  0 
    2   B  10 
    3   C  10 

DF1 I 공통 열에 비슷한 값 병합시 가중치를 합산 할 필요가있다.

merge = pd.merge(df1,df2, how='inner') 

출력은 다음과 같습니다. 인덱스로 일반적인 열을 설정하면

id  name  weight   
    2   B  25 
    3   C  20 

답변

7
In [41]: pd.merge(df1, df2, on=['id', 'name']).set_index(['id', 'name']).sum(axis=1) 
Out[41]: 
id name 
2 B  25 
3 C  20 
dtype: int64 
3

, 당신은 단지 병합보다 훨씬 간단 두 dataframes를 요약 할 수 있습니다

In [30]: df1 = df1.set_index(['id', 'name']) 

In [31]: df2 = df2.set_index(['id', 'name']) 

In [32]: df1 + df2 
Out[32]: 
     weight 
id name   
1 A  NaN 
2 B   25 
3 C   20