【问题标题】:Need to filter out duplicated data using latest date from dataframe pandas需要使用数据框 pandas 中的最新日期过滤掉重复数据
【发布时间】:2021-07-15 22:26:38
【问题描述】:
例如:
我有
Name Gender Check-in Place
Steve Male 2019-10-04 Denmark
Steve Male 2010-08-04 Denmark
Steve Male 2020-09-09 Denmark
Susan Female 2017-07-27 Finland
Susan Female 2015-02-12 Finland
我只需要最新的日期值
Name Gender Check-in Place
Steve Male 2020-09-09 Denmark
Susan Female 2017-07-27 Finland
【问题讨论】:
标签:
python
pandas
dataframe
filter
duplicates
【解决方案1】:
import pandas as pd
首先使用 to_datetime() 方法将您的 'Check-in' 列值转换为 datetime dtype:
df['Check-in']=pd.to_datetime(df['Check-in'])
现在您可以使用sort_values() 方法和drop_duplicates() 方法:
resultdf=df.sort_values('Check-in',ascending=False).drop_duplicates(['Name'],ignore_index=True)
或
您也可以通过sort_values() 方法、groupby() 和reset_index() 方法来做到这一点:
resultdf=df.sort_values('Check-in',ascending=False).groupby('Name').max().reset_index()
现在,如果您打印 resultdf,您将获得所需的输出