2017-04-16 7 views
0

비슷한 멀티 인덱스 구조를 갖는 두 개의 테이블이 있습니다 : datecountry__name입니다. 색인이 동일하지 않습니다. 일부 국가는 하나 또는 다른 표에서 누락되었을 수 있습니다.pandas - 멀티 인덱스와 테이블을 병합하는 방법

테이블의 열이 서로 다릅니다. 여기에 설명하기 위해 그들은 :

One two

은 내가 multiindex을 유지하지만 두 테이블의 모든 열이 하나 개의 테이블로 병합하고 싶다.

result

내가 무엇을 놓치고 : 나는

pandas.concat([grouped_channel_df, grouped_tds_df], axis=1) 

을 수행 할 때

는하지만 NaN의 전체 테이블을 얻을?

+0

당신이하려고하는 다른 옵션을 읽을

merged = pandas.merge(grouped_channel_df, grouped_tds_df, how='outer', on=('date','country_name'), suffixes=('_channel','_tds')) 

위의 문서를 읽기 df1, df2], 축 = 1, ignore_index = True)'? – Serenity

+0

@Serenity 네,이게 무슨 일이 http://prntscr.com/ex0onh, 컬럼 이름은 그냥 사라진 – kurtgn

+0

그럼'pd.merge (df1.reset_index(), df2.reset_index(), how = 'outer'를 시도해보십시오. = [ 'date', 'country_name']). set_index ([ 'date', 'country_name']))'. – Serenity

답변

0

테이블을 병합하려면 .concat 대신 .merge을 사용해야합니다. [(`pd.concat을 : 두 개념을 사용 사례를 들어

here의 차이를 확인 같은 것을 시도 :

관련 문제