我有两个这样的数据框架。
df1
id value1
0 002 10
1 003 10
2 004 20
3 005 20
df2
id value2
0 001 100
1 002 200
2 003 150
我像这样合并数据帧。
df3 = pd.merge(df1, df2, left_on='id', right_on='id')
这段代码的输出是。
id value1 value2
0 002 10 200
1 003 10 150
我不想删除唯一的数据。我想要这样的结果。
id value1 value2
001 100
002 10 200
003 10 150
004 20
005 20
如何在不移除唯一值的情况下映射两个数据帧?
您可以试试how=outer
df3 = pd.merge(df1, df2, on='id', how='outer')
print(df3)
id value1 value2
0 2 10.0 200.0
1 3 10.0 150.0
2 4 20.0 NaN
3 5 20.0 NaN
4 1 NaN 100.0