首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据其他数据的值更新一个数据?

如何根据其他数据的值更新一个数据?
EN

Stack Overflow用户
提问于 2022-01-11 12:25:10
回答 1查看 27关注 0票数 0

嗨,我有两个数据格式,在其中我必须根据另一个数据更新值-

示例: df1:

代码语言:javascript
复制
Region   Sub_Region   Status    Reason
LATAM    CRM          Success 
LATAM    Genesys      Failed
ASPAC    CRM          Success
ASPAC    Genesys      Success

df2:

代码语言:javascript
复制
Region  Sub_Region  Max_Load_Date
LATAM   CRM         2021-08-15
LATAM   Genesys     2021-09-10
ASPAC   CRM         2021-10-11
ASPAC   Genesys     2021-10-15

在最后产出中:

代码语言:javascript
复制
Region   Sub_Region   Status   Reason   Max_Load_Date
LATAM    CRM          Success           2021-08-15
LATAM    Genesys      Failed
ASPAC    CRM          Success           2021-10-11
ASPAC    Genesys      Success           2021-10-15

只有那些人才会更新状态=“成功”

EN

回答 1

Stack Overflow用户

发布于 2022-01-11 12:32:41

你可以mergemask

代码语言:javascript
复制
(df1.merge(df2, on=['Region', 'Sub_Region'])
    .assign(Max_Load_Date=lambda d: d['Max_Load_Date'].mask(d['Status']=='Failed', ''))
)

合并将确保将正确的数据映射到正确的行,以防两个数据都没有按照完全相同的顺序排序或缺少行。

产出:

代码语言:javascript
复制
  Region Sub_Region   Status Max_Load_Date
0  LATAM        CRM  Success    2021-08-15
1  LATAM    Genesys   Failed              
2  ASPAC        CRM  Success    2021-10-11
3  ASPAC    Genesys  Success    2021-10-15
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70666759

复制
相关文章

相似问题

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