📜  pandas 只选择最早的重复事件 - Python (1)

📅  最后修改于: 2023-12-03 15:03:29.383000             🧑  作者: Mango

pandas 只选择最早的重复事件

在使用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只选择最早的重复事件非常简单,并且非常适用于数据清洗和数据去重的场景中。