首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据共享列值替换熊猫数据中的值?

如何根据共享列值替换熊猫数据中的值?
EN

Stack Overflow用户
提问于 2022-04-11 12:12:21
回答 1查看 26关注 0票数 1

我有两个数据,一个有时间表信息,包括房间号(df1),另一个有房间号映射(df2)。在df1,我有更名的房间,比如从VR 2.09到VR 275 K。df2包含这方面的映射,列new包含新名称(VR 275 K),旧列包含旧名称(VR 2.09)。

我想将df1中所有旧的房间号替换为新的、当前的名称。我该怎么做?

df1格式示例:

代码语言:javascript
复制
    room       day            etc
0   VR 275K    11/04/2019
1   VR 2.09    09/04/2017
2   VR 1.07    09/04/2017
3   VR 193B    19/03/2019

df2示例:

代码语言:javascript
复制
    new       old
0   VR 275K   VR 2.09
1   VR 258    VR 2.D
2   VR 248    VR 2.E
3   VR 193B   VR 1.07

我不太熟悉在StackOverflow中格式化问题,但希望这使我的问题足够清楚:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-11 12:15:39

您可以将mapfillna (或combine_first)结合使用:

代码语言:javascript
复制
df1['room'] = df1['room'].map(df2.set_index('old')['new']).fillna(df1['room'])

产出:

代码语言:javascript
复制
      room         day
0  VR 275K  11/04/2019
1  VR 275K  09/04/2017
2  VR 193B  09/04/2017
3  VR 193B  19/03/2019
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71827634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档