我遇到了将两个帧与不同行合并的问题。第一个数据帧有5K行,第二个数据帧有20K行。有一列" id"在两个帧中,以及所有5K" id"值将出现在具有20K行的帧中。
第一帧" 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
有希望的输出框架" df_out"
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
我尝试合并' id'我只留下了5k行。我正在寻找的操作是保留大型数据帧的所有行,并为大型帧中不存在的数据粘贴Nan值。
由于
答案 0 :(得分:3)
只需将how=outer
指定为df.merge
,即可使用两个DataFrame的并集。
>>> 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