【问题标题】:Getting latest end date in pandas获取熊猫的最新结束日期
【发布时间】:2022-06-10 22:34:55
【问题描述】:

我的数据有 -

Acc_id  Crt_id  start_date  end_date
80924   SXD     10/15/11    11/29/11
80924   HZH     8/15/14     9/28/14
80924   FYT     2/1/16      1/31/18
73982   YYU     5/30/11     6/28/11
15456   26V     5/31/11     5/30/12
12909   FUY     10/15/17    10/31/19
80911   TJ5     8/1/11      8/13/11
75419   KAV     11/1/13     3/4/14
75419   MNF     11/1/13     12/13/13
75419   QU3     3/1/14      3/30/14

我需要它——

Acc_id  Crt_id  start_date  end_date    Acc_end_date
80924   SXD     10/15/11    11/29/11    1/31/18
80924   HZH     8/15/14     9/28/14     1/31/18
80924   FYT     2/1/16      1/31/18     1/31/18
73982   YYU     5/30/11     6/28/11     6/28/11
15456   26V     5/31/11     5/30/12     5/30/12
12909   FUY     10/15/17    10/31/19    10/31/19
80911   TJ5     8/1/11      8/13/11     8/13/11
75419   KAV     11/1/13     3/4/14      3/30/14
75419   MNF     11/1/13     12/13/13    3/30/14
75419   QU3     3/1/14      3/30/14     3/30/14
75419   JJK     1/2/12      6/3/12      3/30/14

acc_id 结束日期作为新列中最新的 crt_id 结束日期。 请建议任何方法,我尝试了 group by 和 pivot 但没有得到任何东西。

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    IIUC

    df['end_date'] = pd.to_datetime(df['end_date'], infer_datetime_format=True)
    df['Acc_end_date'] = df.groupby('Acc_id')['end_date'].transform(max)
    

    【讨论】:

    • 或:pd.to_datetime(df['end_date']).groupby(df['Acc_id']).transform('max').dt.strftime('%m/%d/%y')
    猜你喜欢
    • 2021-09-14
    • 2019-04-08
    • 2021-07-11
    • 2019-07-01
    • 2019-01-31
    • 1970-01-01
    • 2014-06-04
    • 2019-02-02
    • 1970-01-01
    相关资源
    最近更新 更多