pandas 合并两个 Dataframe 保留左侧 Dataframe 中的所有行,并将右侧 Dataframe 中一列的值合并到第一个 Dataframe 中的同一列

dm7nw8vv  于 2022-12-16  发布在  其他
关注(0)|答案(1)|浏览(197)

我是python的新手,有没有人能帮我合并这些表以得到预期的结果。
表一:

A   B   C   D   E
1   mm  nn  oo  12
2   aa  bb  cc  12
3   xx  yy  zz  12
4   jj  kk  ll  12
5   rr  ss  tt  12
6   gg  hh  ii  12

表二:

A   B   C   D   E
2   aa  bb  cc  5
3   xx  yy  zz  5
4   jj  kk  ll  5

结果:

A   B   C   D   E
1   mm  nn  oo  12
2   aa  bb  cc  5
3   xx  yy  zz  5
4   jj  kk  ll  5
5   rr  ss  tt  12
6   gg  hh  ii  12

pd.merge(df1,df2,how = "left")
我在代码中的什么地方提到E列呢?

rlcwz9us

rlcwz9us1#

之后,您可以dropmergecombine_first的列:

out = pd.merge(df1.drop(columns='E'), df2, how='left').combine_first(df1)

如果要就地修改df1,则为update

df1.update(pd.merge(df1.drop(columns='E'), df2, how='left'))

输出:

A   B   C   D     E
0  1  mm  nn  oo  12.0
1  2  aa  bb  cc   5.0
2  3  xx  yy  zz   5.0
3  4  jj  kk  ll   5.0
4  5  rr  ss  tt  12.0
5  6  gg  hh  ii  12.0

相关问题