LeetCode 2882.删去重复的行
DataFrame customers
±------------±-------+
| Column Name | Type |
±------------±-------+
| customer_id | int |
| name | object |
| email | object |
±------------±-------+
在 DataFrame 中基于 email 列存在一些重复行。
编写一个解决方案,删除这些重复行,仅保留第一次出现的行。
返回结果格式如下例所示。
示例 1:
输入:
±------------±--------±--------------------+
| customer_id | name | email |
±------------±--------±--------------------+
| 1 | Ella | emily@example.com |
| 2 | David | michael@example.com |
| 3 | Zachary | sarah@example.com |
| 4 | Alice | john@example.com |
| 5 | Finn | john@example.com |
| 6 | Violet | alice@example.com |
±------------±--------±--------------------+
输出:
±------------±--------±--------------------+
| customer_id | name | email |
±------------±--------±--------------------+
| 1 | Ella | emily@example.com |
| 2 | David | michael@example.com |
| 3 | Zachary | sarah@example.com |
| 4 | Alice | john@example.com |
| 6 | Violet | alice@example.com |
±------------±--------±--------------------+
解释:
Alice (customer_id = 4) 和 Finn (customer_id = 5) 都使用 john@example.com,因此只保留该邮箱地址的第一次出现。
直接用drop_duplicates方法即可:
import pandas as pd
def dropDuplicateEmails(customers: pd.DataFrame) -> pd.DataFrame:
# 删除重复的email字段,保留第一个,原地修改
customers.drop_duplicates(subset='email', keep='first', inplace=True)
return customers