2016-09-13 5 views
2

私は結合/結合/結合したい2つのdfsを持っています。ここでpandas:merge/concat.join two dfs

はDF1である:ここでは

item country Month Year 
honda JP  2  16 
sony GB  6  16 
jazz JP  6  16 
honda US  6  16 
jazz JP  1  16 

はDF2である:ここでは

item country pay 
honda JP  y 
sony GB  n 
jazz JP  y 
honda US  y 
jazz JP  n 

は、私はマージが見えるようにしたいものです。

item country pay Month Year 
honda JP  y  2  16 
sony GB  n  6  16 
jazz JP  y  6  16 
honda US  y  6  16 
jazz JP  n  1  16 

私はdf = df1.join(df2, how='outer')を使用しますが、作成しました重複します。

countryの列をpayの列にマージすると意味がありますか?

答えて

3

私はあなたが両方DataFramesset_indexconcatが必要だと思う:

print (pd.concat([df1.set_index(['item','country']), 
        df2.set_index(['item','country'])], axis=1).reset_index()) 
    item country Month Year pay 
0 honda  JP  2 16 y 
1 sony  GB  6 16 n 
2 jazz  JP  6 16 y 
3 honda  US  6 16 y 
4 jazz  JP  1 16 n