【问题标题】:required most recent date for the value in Column [duplicate]列中的值需要最近的日期[重复]
【发布时间】:2021-04-23 10:07:27
【问题描述】:

我有一个数据框

df = pd.DataFrame({'Col1':['a','a','a','b','b','b','c','c','c'],
                  'Col2':[ '2020-12-01','2020-11-05','2019-01-05','2017-08-07',
                          '2018-07-16','2018-12-31','2019-11-30','2018-05-15',
                          '2019-01-15']})

我希望 Col1 中的唯一值与最近的日期 Col2 一致。 所需的列是这样的

    Col1  Col2 
0   a     2020-12-01
1   b     2018-12-31
2   c     2019-11-30

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    首先,使用pd.to_datetimeCol2 转换为datetime,如果它还不是日期时间,则使用GroupBy.max

    df['Col2'] = pd.to_datetime(df['Col2'])
    df.groupby('Col1').max()
    
    #            Col2
    # Col1
    # a    2020-12-01
    # b    2018-12-31
    # c    2019-11-30
    

    【讨论】:

      【解决方案2】:

      首先根据Col2对数据帧进行排序,然后是groupby和agglast

      做:

      df.sort_values(by='Col2').groupby('Col1').last()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-09-02
        • 1970-01-01
        • 2013-06-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-15
        • 1970-01-01
        相关资源
        最近更新 更多