当前位置: 首页 > news >正文

力扣:182. 查找重复的电子邮箱(Python3)

题目:

表: Person

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

编写解决方案来报告所有重复的电子邮件。 请注意,可以保证电子邮件字段不为 NULL。

以 任意顺序 返回结果表。

结果格式如下例。

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

示例:

示例 1:

输入:

Person 表:
+----+---------+
| id | email   |
+----+---------+
| 1  | a@b.com |
| 2  | c@d.com |
| 3  | a@b.com |
+----+---------+


输出:

+---------+
| Email   |
+---------+
| a@b.com |
+---------+


解释:a@b.com 出现了两次。

解法:

现在person表中加入1列,记录email是否重复,接着把重复的留下,然后去重。

知识点:

1.DataFrame.duplicated(subset=None, keep=‘first’):查找和处理数据中的重复项,返回布尔值的Series。subset:默认为None,需要标记重复的标签或标签序列;keep:默认为‘first’,如何标记重复标签,first:将除第一次出现以外的重复数据标记为True;last:将除最后一次出现以外的重复数据标记为True;False:将所有重复的项都标记为True(不管是不是第一次出现)。比如:

data = [[1, 'a@b.com'], [2, 'c@d.com'], [3, 'a@b.com']]
person = pd.DataFrame(data, columns=['id', 'email']).astype({'id': 'Int64', 'email': 'object'})
person['duplicated'] = person.duplicated(subset='email', keep=False)

返回如下:

代码:

import pandas as pddef duplicate_emails(person: pd.DataFrame) -> pd.DataFrame:person['duplicated'] = person.duplicated(subset='email', keep=False)email = person[person['duplicated'] == True].drop_duplicates(subset='email')del email['id']del email['duplicated']return email

相关文章:

  • 新金融时代、AMCAP谱写财富梦想新篇章
  • 特权FPGA 第二章 笔记
  • 「Verilog学习笔记」数据累加输出
  • WIN10系统自带硬盘测速工具使用
  • 2023.11.28 使用tensorflow进行“三好“权重分析
  • LeetCode(34)有效的数独【矩阵】【中等】
  • 【PyTorch】(三)模型的创建、参数初始化、保存和加载
  • html实现360度产品预览(附源码)
  • 使用electron工具打包web端到PC端应用程序
  • PLC通过lora网关采集温室大棚温湿度数据
  • antDesignPro a-table样式二次封装
  • Redis总结
  • 简历上的工作经历怎么写
  • YOLOv8改进 | 2023 | 通过RFAConv重塑空间注意力(深度学习的前沿突破)
  • 解决Linux Visual Studio Code显示字体有问题/Liunx下Visual Studio Code更换字体
  • 网络传输文件的问题
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • [Vue CLI 3] 配置解析之 css.extract
  • 《剑指offer》分解让复杂问题更简单
  • 2017-08-04 前端日报
  • CAP理论的例子讲解
  • CSS 提示工具(Tooltip)
  • Django 博客开发教程 16 - 统计文章阅读量
  • JavaScript设计模式之工厂模式
  • JavaScript异步流程控制的前世今生
  • Java小白进阶笔记(3)-初级面向对象
  • js
  • Next.js之基础概念(二)
  • Python语法速览与机器学习开发环境搭建
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • 安装python包到指定虚拟环境
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 代理模式
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 区块链分支循环
  • 微信开放平台全网发布【失败】的几点排查方法
  • 我这样减少了26.5M Java内存!
  • 学习JavaScript数据结构与算法 — 树
  • 优秀架构师必须掌握的架构思维
  • 原生js练习题---第五课
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​iOS安全加固方法及实现
  • ​Linux·i2c驱动架构​
  • $jQuery 重写Alert样式方法
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (5)STL算法之复制
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (js)循环条件满足时终止循环
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (八)c52学习之旅-中断实验
  • (超详细)语音信号处理之特征提取
  • (初研) Sentence-embedding fine-tune notebook