列中的值需要最近的日期[重复]
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_datetime
将Col2
转换为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 中的新列中[重复]