列中的值需要最近的日期[重复]

Posted

技术标签:

【中文标题】列中的值需要最近的日期[重复]【英文标题】: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

【问题讨论】:

【参考方案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()

【讨论】:

以上是关于列中的值需要最近的日期[重复]的主要内容,如果未能解决你的问题,请参考以下文章