从另一个datafram更新数据帧

2024-04-19 07:40:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个数据帧

df1是

     name     colour    count
0    apple    red       3
1    orange   orange    2
3    kiwi     green     12

df2是

     name    count
0    kiwi   2
1    apple  1

我想根据名称匹配使用来自df2的计数更新df1。 预期结果:

     name     colour    count
0    apple    red       1
1    orange   orange    2
3    kiwi     green     2

我使用这个,但结果是不正确的

df3 = df2.combine_first(df1).reindex(df1.index)

如何才能正确地执行此操作


Tags: 数据name名称applecountgreenred计数
1条回答
网友
1楼 · 发布于 2024-04-19 07:40:39

在两个DataFrame中通过name创建索引,以便通过^{}进行匹配,然后为索引中的列创建^{}和最后一个^{}

df = df2.set_index('name').combine_first(df1.set_index('name')).reset_index()
print (df)
     name  colour  count
0   apple     red    1.0
1    kiwi   green    2.0
2  orange  orange    2.0

相关问题 更多 >