首页 > 解决方案 > 计算最小日期和最大日期之间的差异,然后将其与 pandas df 中的当前日期值进行比较

问题描述

我有活动数据,我想根据最小值、最大值和当前日期查找运行时间。例如:

我有如下数据:

Date         Campaign     
1.1.2020       A
2.1.2020       A
3.1.2020       A
1.1.2020       B
2.1.2020       B

我使用最小和最大聚合来找到最小和最大日期值,如下所示:

 df_min_max_date = df.groupby('Campaign')['Date'].agg(['min', 'max']).reset_index()

    Date         Campaign       min               max
        1.1.2020       A      1.1.2020          3.1.2020  
        2.1.2020       A      1.1.2020          3.1.2020  
        3.1.2020       A      1.1.2020          3.1.2020  
        1.1.2020       B      1.1.2020          2.1.2020
        2.1.2020       B      1.1.2020          2.1.2020

但现在我需要另一列来解释运行时:所需的输出将是这样的

 Date         Campaign       min               max     runtime
 1.1.2020       A      1.1.2020          3.1.2020       0%
 2.1.2020       A      1.1.2020          3.1.2020       50%
 3.1.2020       A      1.1.2020          3.1.2020       100%
 1.1.2020       B      1.1.2020          2.1.2020        0%
 2.1.2020       B      1.1.2020          2.1.2020       100%

标签: pythonpandaspandas-groupbytimedelta

解决方案


推荐阅读