2017-04-16 8 views
0

同様のマルチインデックス構造を持つテーブルが2つあります:datecountry__nameです。インデックスは同一ではありません。一部の国が1つまたは別のテーブルにない可能性があります。pandas - マルチインデックスとテーブルをマージする方法

テーブルのカラムが異なります。説明するために、ここではそれらは:

One two

私はマルチインデックスを保持しますが、両方のテーブルからすべての列を持っている一つのテーブルにそれらをマージしたいです。

しかし、私は

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

を行うとき、私はNaNの完全なテーブルを取得:

result

私が何をしないのですか?

+0

を読むために上記のドキュメントを読んで

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

を試すください: 'pd.concat([ df1、df2]、axis = 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を使用する必要があります。あなたのユースケースでは、両方の概念here

の違いを確認し、このような何か試してみてください。他のオプションに

関連する問題