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

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()

【讨论】:

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

将来自一个数据框的值合并到 Pandas 中的新列中[重复]

在另一列满足条件后计算一列中的值

如何根据Python中另一列中的日期查找最频繁的值

在Oracle中选择具有最近日期和时间的记录[重复]

如何编写一个SqlCommand,在ASP.NET中的列中选择前3个最重复的值

对于要求,我需要通过从该数据帧的列中的列表中的值创建行来将数据帧转换为 [重复]