2017-02-17 10 views
1

2つのフレームを異なる量の行にマージする際に問題が発生しています。第1のデータフレームは5K行を有し、第2のデータフレームは20K行を有する。両方のフレームに "id"という列があり、すべての5K "id"値は20K行のフレームで発生します。パンダ - 異なるサイズのデータ​​フレームをマージする

最初のフレーム

 A B id A_1 B_1 
0 1 1 1  0.5 0.5 
1 3 2 2  0.2 0.4 
2 3 4 3  0.8 0.9 
3 1 2 4  na  na 
4 3 1 5  na  na 

"df_out" "DF"

 A B id A_1 B_1 
0 1 1 1  0.5 0.5 
1 3 2 2  0.2 0.4 
2 3 4 3  0.8 0.9 

第二フレーム "df_2"

 A B id  
0 1 1 1  
1 3 2 2  
2 3 4 3  
3 1 2 4  
4 3 1 5  

希望に満ち出力フレーム 'ID' にマージする私の試みています私は5k行だけを残しました。私が探している操作は、大きなデータフレームのすべての行を保持し、大きなフレームに存在しないデータのNan値を固定することです。あなたは、両方のデータフレームの結合を使用するように

おかげ

+1

'pd.merge'の' how = 'outer''オプションを使用してください。 – DyZ

答えて

3

ただdf.mergehow=outerを指定します。

>>> df.merge(df_2, how='outer') 
    A A_1 B B_1 id 
0 1.0 0.5 1.0 0.5 1.0 
1 3.0 0.2 2.0 0.4 2.0 
2 3.0 0.8 4.0 0.9 3.0 
3 1.0 NaN 2.0 NaN 4.0 
4 3.0 NaN 1.0 NaN 5.0 
+0

それは今実行されています... –

+0

@JeffSaltfist喜んで私は助けることができました! – miradulo

+0

簡単な質問ですが、 'outer'引数はフレームの最後の列を表しますか? –

関連する問題