如何映射两个数据框而不删除唯一值?



我有两个这样的数据框架。

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

最新更新