繁体   English   中英

如何在其他dataframe的基础上在dataframe中添加新列?

[英]How to add new column in dataframe based on the other dataframe?

嗨,我有 2 个数据框,但两者都不相同。 我必须根据第二个更新一个。

示例:df1:

Region  Sub_Region  Run_Date    Status   Reason
ASPAC   CRM         2022-01-11  Success
ASPAC   Genesys     2022-01-11  Failed
LATAM   CRM         2022-01-11  Success

df2:

Region   Sub_Region   Max_Load_Date
NA       CRM          2021-08-12
ASPAC    CRM          2021-03-15
LATAM    CRM          2021-10-11
NA       Genesys      2021-12-18
ASPAC    Genesys      2021-11-18
LATAM    Genesys      2021-04-16

在最终 Output 中:

Region  Sub_Region  Run_Date    Status   Reason  Max_Load_Date
ASPAC   CRM         2022-01-11  Success          2021-03-15
ASPAC   Genesys     2022-01-11  Failed
LATAM   CRM         2022-01-11  Success          2021-10-11

df1 将在 status = 'Success' 时更新

merge后过滤掉您的 dataframe :

df1['Max_Load_Date'] = df1.merge(df2, on=['Region', 'Sub_Region'], how='left') \
                          .query("Status == 'Success'")['Max_Load_Date']
print(df)

# Output
  Region Sub_Region    Run_Date   Status  Reason Max_Load_Date
0  ASPAC        CRM  2022-01-11  Success     NaN    2021-03-15
1  ASPAC    Genesys  2022-01-11   Failed     NaN           NaN
2  LATAM        CRM  2022-01-11  Success     NaN    2021-10-11

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM