我在合并具有不同行数的两个框架时遇到问题。第一个数据帧具有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值。
谢谢
最佳答案
只需将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
关于python - Pandas -合并不同大小的数据框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42287976/