Pandas常用操作 - 去重
1. 使用 drop_duplicates
去重
1.1 初始化数据
df = pd.DataFrame({'stu_name': ['Tom', 'Tony', 'Jack', 'Jack', np.nan], 'stu_age': [16, 16, 15, np.nan, 21]})
stu_name stu_age
0 Nancy 17.0
1 Tony 16.0
2 Tony 16.0
3 Jack 21.0
4 Jack NaN
1.2 对一列去重
df_clean = df.drop_duplicates(subset=['stu_name'])
print(df)
stu_name stu_age
0 Nancy 17.0
1 Tony 16.0
3 Jack 21.0
1.3 对多列去重(多列同时满足重复)
df_clean2 = df.drop_duplicates(subset=['stu_name', 'stu_age'])
print(df_clean2)
stu_name stu_age
0 Nancy 17.0
1 Tony 16.0
3 Jack 21.0
4 Jack NaN
2. 使用 duplicated
配合 drop
去重
2.1 初始化数据
df = pd.DataFrame({'stu_name': ['Tom', 'Tony', 'Jack', 'Jack', np.nan], 'stu_age': [16, 16, 15, np.nan, 21]})
stu_name stu_age
0 Nancy 17.0
1 Tony 16.0
2 Tony 16.0
3 Jack 21.0
4 Jack NaN
2.2 对一列去重
duplicate_df = df[df.duplicated('stu_name')]
clean_df = df.drop(duplicate_df.index)
- 使用
duplicated
先筛选出重复的行 - 使用
drop
删除掉重复行
3. drop_duplicates
与 duplicated
常用参数含义
subset
: 单个列名或者 一组列名数组(可选)。如果不设置该参数,则默认对全部列进行去重
keep
: 保留的列
- 'first': 只保留第一个,其他重复项被删除(默认)
- 'last': 只保留最后一个,其他重复项被删除
- False: 出现重复项则都被删除
Pandas常用操作 - 去重的更多相关文章
- pandas常用操作详解——pandas的去重操作df.duplicated()与df.drop_duplicates()
df.duplicated() 参数详解: subset:检测重复的数据范围.默认为数据集的所有列,可指定特定数据列: keep: 标记哪个重复数据,默认为'first'.1.'first':标记重复 ...
- 3-10 Pandas 常用操作
1.构造数据 In [1]: import pandas as pd data=pd.DataFrame({'group':['a','a','a','b','b','b','c','c','c' ...
- pandas常用操作详解(复制别人的)——数据透视表操作:pivot_table()
原文链接:https://www.cnblogs.com/Yanjy-OnlyOne/p/11195621.html 一文看懂pandas的透视表pivot_table 一.概述 1.1 什么是透视表 ...
- 数据分析处理库Pandas——常用操作
DataFrame结构排序 备注:group列降序,data列升序. 合并相同项 查找相同项 添加一列,值是其他列的值进行相关操作后的值 删除列 Series结构替换值 一组值按照范围归类 归类后每类 ...
- Pandas常用操作 - 删除指定行/指定列
1. 删除指定行 new_df = df.drop(index='行索引') new_df = df.drop('行索引', axis='index') new_df = df.drop('行索引', ...
- pandas常用操作详解——pd.concat()
concat函数基本介绍: 功能:基于同一轴将多个数据集合并 pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=Fa ...
- pandas常用操作
删除某列: concatdfs.drop('Unnamed: 0',axis=1) 打印所有列名: .columns
- Pandas常用操作 - 新增数据列
初始化测试数据 df = pd.DataFrame({'stu_name': ['Nancy', 'Tony', 'Tim', 'Jack', 'Lucy'], 'stu_age': [17, 16, ...
- pandas常用操作详解——.loc与.iloc函数的使用及区别
loc与iloc功能介绍:数据切片.通过索引来提取数据集中相应的行数据or列数据(可以是多行or多列) 总结: 不同:1. loc函数通过调用index名称的具体值来取数据2. iloc函数通过行序号 ...
随机推荐
- Python_getattr+__import__ 实现动态加载模块、类对象或函数
__import__() 语法 __import__(name[, globals[, locals[, fromlist[, level]]]]) 参数 name -- 字符串,模块的导入路径 说明 ...
- Java的jar包构建成docker镜像并运行
结构如下 把jar和Dockerfile放到一个文件,不在一个文件下会报错文件找不到 创建一个构建文件 buildimage.sh vi /home/hanby/buildimage.sh echo ...
- antd-vue中的form表单label标签for导致点击文字触发输入框解决方案
<a-form-item :label="label+'图片'" :label-col="{ span: 2 }" :wrapper-col=" ...
- 使用.NET 6开发TodoList应用(26)——实现Configuration和Option的强类型绑定
系列导航及源代码 使用.NET 6开发TodoList应用文章索引 需求 在上一篇文章使用.NET 6开发TodoList应用(25)--实现RefreshToken中,我们通过使用Configura ...
- 使用.NET 6开发TodoList应用(28)——实现应用程序健康检查
系列导航及源代码 使用.NET 6开发TodoList应用文章索引 需求 应用健康检查在容器部署的微服务场景下非常常见,相比而言单体非容器部署的应用就不太关心这个特性,为了后续的内容我们在本文中简单介 ...
- Spring系列1:Spring基本概念
本文内容 什么是Spring? 为什么学Spring? 本系列包含哪些技术? 本系列适合哪些人? 什么是Spring? 基本概念 Spring 框架为现代基于 Java 的企业应用程序提供了一个全面的 ...
- Visual Studio 2015 MFC之Button颜色变化-断点调试(Debug)
软件开发,对自己的程序进行调试很重要,本次文章在上一边随笔的基础上,介绍一下Button控件做显示灯的用法,Button控件的添加和变量设置等可以参考下面的的链接:Visaul Studio 2015 ...
- 《剑指offer》面试题56 - II. 数组中数字出现的次数 II
问题描述 在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次.请找出那个只出现一次的数字. 示例 1: 输入:nums = [3,4,3,3] 输出:4 示例 2: 输入:nums ...
- 1月29日 体温APP开发记录
1.阅读构建之法 现代软件工程(第三版) 2.观看Android开发视频教程最新版 Android Studio开发 3.高德地图API下载获取key
- 【记录一个问题】android ndk下设置线程的亲缘性,总有两个核无法设置成功
参考了这篇文章:https://blog.csdn.net/lanyzh0909/article/details/50404664 大体的代码如下: #include <pthread.h> ...