pandas处理重复值

简介: pandas处理重复值

示例数据:


import pandas as pd
df = pd.DataFrame({'a':['Python', 'Python', 'Java', 'Java', 'C'], 'b': [2, 2, 6, 8, 10]})
df
复制代码


image.png


仅判断单列是否有重复值

  1. 使用values_counts()对列中值出现次数进行统计。结果默认按照降序进行排列,只需要判断第一行值的出现次数是否为1即可判断是否存在重复值。
df['a'].value_counts()
复制代码

image.png


  1. 使用drop_duplicates()对重复值进行删除,只保留第一次出现的值,判断处理后的值是否与原df相等,如果False就表示有重复值。


df.equals(df.drop_duplicates(subset=['a'], keep='first'))
False
复制代码


判断所有列是否有重复行同样是使用drop_duplicates()对重复值进行删除,只保留第一次出现的值,此时不适用subset参数设置列,默认为全部列,判断处理后的值是否与原df相等,如果False就表示有重复值。


df.equals(df.drop_duplicates(keep='first'))
False
复制代码


统计重复行的数量

len(df) - len(df.drop_duplicates(keep="first"))
复制代码


显示重复的数据行先删除重复的行,只保留第一次出现的,得到一个行唯一的数据集,再使用drop_duplicates()删除掉df中存在重复的所有数据,这次不保留第一次出现的重复值,将上述两个结果集进行合并,使用drop_duplicates()对新生成的数据集进行去重,即可得到重复行的数据。


df.drop_duplicates(keep="first").append(df.drop_duplicates(keep=False)).drop_duplicates(keep=False)
复制代码

image.png



相关文章
|
数据安全/隐私保护
CTF密码学·置换密码,栅栏密码,曲路密码
1.置换密码 置换密码(Permutation Cipher)又叫换位密码(Transposi-tionCipher),它根据一定的规则重新排列明文,以便打破明文的结构特性。置换密码的特点是保持明文的所有字符不变,只是利用置换打乱了明文字符的位置和次序
1883 1
CTF密码学·置换密码,栅栏密码,曲路密码
|
存储 Linux 开发工具
成功解决centos7安装docker时 报缺 少container-selinux和fuse-overlayfs包
成功解决centos7安装docker时 报缺 少container-selinux和fuse-overlayfs包
6072 1
成功解决centos7安装docker时 报缺 少container-selinux和fuse-overlayfs包
|
缓存 Java 数据库连接
Spring Boot奇迹时刻:@PostConstruct注解如何成为应用初始化的关键先生?
【8月更文挑战第29天】作为一名Java开发工程师,我一直对Spring Boot的便捷性和灵活性着迷。本文将深入探讨@PostConstruct注解在Spring Boot中的应用场景,展示其在资源加载、数据初始化及第三方库初始化等方面的作用。
399 0
|
11月前
|
机器学习/深度学习 人工智能 算法
人工智能的三大主义--——行为主义(actionism),连接主义 (connectionism)
这段内容涵盖了人工智能领域的重要概念和历史节点。首先介绍了布鲁克斯的六足行走机器人及Spot机器狗,被视为新一代“控制论动物”。接着解释了感知机作为最简单的人工神经网络,通过特征向量进行二分类。1974年,沃伯斯提出误差反向传播(BP)算法,利用梯度调整权重以优化模型。最后,阐述了符号主义、连接主义和行为主义三大学派的发展与融合,强调它们在持续学习中共同推动人工智能的进步。
人工智能的三大主义--——行为主义(actionism),连接主义 (connectionism)
|
程序员
入职必会-开发环境搭建10-Typora下载和安装
Typora 是一款备受推崇的 Markdown 写作软件,旨在提高生产效率和简化写作体验。它通过实时预览功能,去除了预览窗口和其他干扰,让用户专注于内容创作。Typora 使用 GitHub Flavored Markdown,支持 Markdown 和富文本编辑,并提供了诸如字数统计、文章大纲、页面布局等功能,使写作更加便捷。此外,Typora 也支持插入图片,用户可以通过 Markdown 语法或直接拷贝粘贴的方式插入图片。
253 1
pip安装iterstrat.ml_stratifiers import MultilabelStratifiedKFold, MultilabelStratifiedShuffleSplit
文章介绍了如何使用iterative-stratification库进行多标签多分类的K折交叉验证,包括安装方法和示例代码。
353 1
|
并行计算 PyTorch Linux
【Pytorch】解决cuDNN error: CUDNN_STATUS_NOT_INITIALIZED
本文提供了在使用PyTorch时遇到cuDNN error: CUDNN_STATUS_NOT_INITIALIZED错误的几种解决方法,包括重新安装PyTorch及其相关库以确保版本兼容,检查CUDA与显卡驱动的对应关系,以及在无法使用GPU的情况下切换到CPU运行模型。
1907 2
|
机器学习/深度学习 人工智能 安全
机器学习在金融领域的应用场景(含具体案例)
机器学习在金融领域的应用场景(含具体案例)
1313 0
机器学习在金融领域的应用场景(含具体案例)
|
NoSQL Redis 数据库
解决noauth authentication required异常
解决noauth authentication required异常
1259 0
解决noauth authentication required异常
|
JSON 安全 数据安全/隐私保护
Python:38行代码获取公众号下所有的文章
Python:38行代码获取公众号下所有的文章
1266 0
Python:38行代码获取公众号下所有的文章

热门文章

最新文章