将Pandas数据帧中的行的值设置为不同datafram中的行的值

2024-05-14 11:08:28 发布

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

我有两个数据帧,都有相同数量的列,并包含文本数据。问题是第二个数据帧中的数据缺少详细信息:

   A        B 
1  Bob    Hoskins
2  Laura  Hogan
3  Tom    Jones

   A        B 
1  Bob      x
2  Bob      x
3  Bob      x
4  Laura    x
5  Laura    x
6  Tom      x

在Pandas中,将第二个数据帧中“B”列的值设置为第一个数据帧中相应的条件值的最快方法是什么?所以任何一行中“A”=“Bob”都将“B”设为Hoskins,劳拉设置为Hogan,等等?第二个数据帧也相当大,有100000行,因此首选快速解决方案。在


Tags: 数据方法文本pandas数量详细信息解决方案条件
2条回答

在第二个df上执行左join

output = df2.merge(df1, how = "left", on = "A")

*所需数据框:

^{pr2}$

您可以将A设置为第一个数据帧的索引,然后根据索引筛选行:

df.set_index('A').loc[df1.A].reset_index()

#       A         B
# 0   Bob   Hoskins
# 1   Bob   Hoskins
# 2   Bob   Hoskins
# 3 Laura     Hogan
# 4 Laura     Hogan
# 5   Tom     Jones

相关问题 更多 >

    热门问题