📅  最后修改于: 2023-12-03 15:03:29.383000             🧑  作者: Mango
在使用pandas进行数据处理时,经常会遇到数据中存在重复的情况,这时候我们需要选择其中最早的事件。本文将介绍如何使用pandas只选择最早的重复事件。
首先,我们需要使用pandas中的duplicated()方法找出重复的行,然后再使用drop_duplicates()方法仅保留最早的一条记录。
import pandas as pd
# 创建一个DataFrame示例
df = pd.DataFrame({'name': ['Tom', 'John', 'Tom'],
'age': [20, 30, 22],
'date': ['2020-01-01', '2021-02-01', '2020-01-01']})
print(df)
# 输出
name age date
0 Tom 20 2020-01-01
1 John 30 2021-02-01
2 Tom 22 2020-01-01
# 找出并保留最早的重复记录
df = df.sort_values(by='date')
df = df.drop_duplicates(subset=['name'], keep='first')
print(df)
# 输出
name age date
0 Tom 20 2020-01-01
1 John 30 2021-02-01
代码中,我们首先创建一个DataFrame示例,其中存在两条name值相同的记录,我们使用duplicated()方法找出重复行并打印出来,然后使用drop_duplicates()方法将最早的一条记录保留下来并打印出来。
如上所示,使用pandas只选择最早的重复事件非常简单,并且非常适用于数据清洗和数据去重的场景中。