力扣:196. 删除重复的电子邮箱(Python3)

题目:

表: Person

复制代码
+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| id          | int     |
| email       | varchar |
+-------------+---------+
id 是该表的主键列(具有唯一值的列)。
该表的每一行包含一封电子邮件。电子邮件将不包含大写字母。

编写解决方案删除 所有重复的电子邮件,只保留一个具有最小 id 的唯一电子邮件。

(对于 SQL 用户,请注意你应该编写一个 DELETE 语句而不是 SELECT 语句。)

(对于 Pandas 用户,请注意你应该直接修改 Person 表。)

运行脚本后,显示的答案是 Person 表。驱动程序将首先编译并运行您的代码片段,然后再显示 Person 表。Person 表的最终顺序 无关紧要

返回结果格式如下示例所示。

来源:力扣(LeetCode)

链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

示例:

示例 1:

输入:

复制代码
Person 表:
+----+------------------+
| id | email            |
+----+------------------+
| 1  | john@example.com |
| 2  | bob@example.com  |
| 3  | john@example.com |
+----+------------------+

输出:

复制代码
+----+------------------+
| id | email            |
+----+------------------+
| 1  | john@example.com |
| 2  | bob@example.com  |
+----+------------------+

解释:john@example.com重复两次。我们保留最小的Id = 1。

解法:

先根据id列排序,然后使用drop_duplicates函数。

代码:

python 复制代码
import pandas as pd

def delete_duplicate_emails(person: pd.DataFrame) -> None:
    person.sort_values('id', inplace=True)
    person.drop_duplicates(subset='email', inplace=True)
相关推荐
小白编程锤炼12 小时前
深入解析:质量门禁
人工智能·算法·架构·vibe-coding
梦想不只是梦与想12 小时前
python 中数据类型转换
python·数据类型转换
毋语天13 小时前
Python 模块、包与异常处理:构建更稳健的程序
开发语言·python
阿kun要赚马内13 小时前
Python多进程中的数据隔离
python
yongui4783413 小时前
基于 GA 优化的 BP 神经网络算法分析与 MATLAB 实现
神经网络·算法·matlab
才兄说13 小时前
机器人二次开发机器狗巡检?低耗电自主绕行
python
-SOLO-14 小时前
Python 爬取小红书 文章标题和内容 仅供学习
android·python·学习
小陈工14 小时前
Python异步编程进阶:asyncio高级模式与性能调优
开发语言·前端·数据库·人工智能·python·flask·numpy
阿旭超级学得完14 小时前
C++11(初始化)
java·开发语言·数据结构·c++·算法
是有头发的程序猿14 小时前
竞品店铺拆解:1688店铺首页装修数据API Python实战教程
开发语言·python