[英]Pandas: Add new dataframe column based on the dates of other smaller 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.