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,因此只保留该邮箱地址的第一次出现。
import pandas as pd def dropDuplicateEmails(customers: pd.DataFrame) -> pd.DataFrame: customers.drop_duplicates(subset=['email'], keep='first', inplace=True) return customers # drop_duplicates 函数: drop_duplicates 函数是 pandas 库中 DataFrame 对象的方法。 # 它的目的是删除重复的行,您可以指定被视为重复的行所基于的条件。 # drop_duplicates 函数参数定义: # subset:此参数标识重复行时要考虑的列标签或标签序列。如果未提供,它将处理 DataFrame 中的所有列。 # keep:此参数确定要保留的重复行。 # 'first': (默认) 删除除第一个匹配项以外的重复项。 # 'last': 删除除最后一个匹配项之外的重复项。 # False: 删除所有重复项。 # inplace: 如果设置为 True,则直接对对象进行更改,而不返回新的对象。如果设置为 False(默认),则返回丢弃重复的新对象。