【问题标题】: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,您将获得所需的输出

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-29
      • 1970-01-01
      • 2018-10-01
      • 2020-03-19
      • 1970-01-01
      • 2019-01-12
      相关资源
      最近更新 更多