pandas读取excel数据并对重复数据进行标记或者删除​mp.weixin.qq.com

pandas通常在读取excel数据之后,如果需要进行去重,有两种方式,一种是进行标记,另一种是在pandas中直接去重
如下图所示,excel数据:

(1)使用drop_duplicates(subset=None, keep=‘first’, inplace=False)删除重复项
参数解释:
Parameters
----------
subset : column label or sequence of labels, optional
Only consider certain columns for identifying duplicates, by
default use all of the columns(指定列标记,默认当每一条行记录完全
相同时,才会认定为重复行)
keep : {‘first’, ‘last’, False}, default ‘first’
- first : Drop duplicates except for the first occurrence.
- last : Drop duplicates except for the last occurrence.
- False : Drop all duplicates.
(删除重复行时,保留first还是last还是全部删除)
inplace : boolean, default False
Whether to drop duplicates in place or to return a copy
(直接替换还是保留副本)

>>> import pandas as pd
>>> df = pd.read_excel(r'C:UsersliuchaoDesktopStudents.xlsx', 'Sheet1')
>>> dfID         Name  Test_1  Test_2  Test_3
0   0  Student_001      41      31      54
1   1  Student_002      86      22      59
2   2  Student_003      54      25      68
3   3  Student_004      82      36      92
4   4  Student_001      41      31      93
# 如上图所示,df中其实是没有重复的,因此在做删除时,是不会删除任一行的
>>> df.drop_duplicates()ID         Name  Test_1  Test_2  Test_3
0   0  Student_001      41      31      54
1   1  Student_002      86      22      59
2   2  Student_003      54      25      68
3   3  Student_004      82      36      92
4   4  Student_001      41      31      93
# 删除Name中的相同数据,并保留最后重复中的最后一行记录
>>> df1 = df.drop_duplicates(['Name'], keep='last')
>>> df1ID         Name  Test_1  Test_2  Test_3
1   1  Student_002      86      22      59
2   2  Student_003      54      25      68
3   3  Student_004      82      36      92
4   4  Student_001      41      31      93
# 只有当Name, Test_1中两列重复时,才删除重复行
>>> df2 = df.drop_duplicates(['Name', 'Test_1'], keep='first')
>>> df2ID         Name  Test_1  Test_2  Test_3
0   0  Student_001      41      31      54
1   1  Student_002      86      22      59
2   2  Student_003      54      25      68
3   3  Student_004      82      36      92
# 由于此时inreplace默认为false,因此df并不会发生变化
>>> dfID         Name  Test_1  Test_2  Test_3
0   0  Student_001      41      31      54
1   1  Student_002      86      22      59
2   2  Student_003      54      25      68
3   3  Student_004      82      36      92
4   4  Student_001      41      31      93

(2)使用df.duplicated(subset=None, keep=‘first’)对重复行进行标记

>>> df['res'] = df.duplicated(['Name'], keep='last')
>>> dfID         Name  Test_1  Test_2  Test_3    res
0   0  Student_001      41      31      54   True
1   1  Student_002      86      22      59  False
2   2  Student_003      54      25      68  False
3   3  Student_004      82      36      92  False
4   4  Student_001      41      31      93  False
# 这样便对原数据进行了标记,可以将结果输入到excel中,做进一步处理
>>> df.to_excel(r'C:UsersliuchaoDesktopStudents.xlsx', 'Sheet2', index=None)

哈哈,以上就是对pandas如何处理重复数据的学习,如果您有兴趣,欢迎关注:python小工具。一起让办公变得更方便吧

cdatabase读取excel第一行数据_pandas读取excel数据并对重复数据进行标记或者删除相关推荐

  1. EXCEL自动填充列索引号EXCEL的列求和、行求和EXCEL第一行锁定WORD行间距规整EXCEL快速筛选WORD画流程图

    (1)自动填充列索引号 有时电子表格的第一列有个INDEX标识更好阅读,此时只要添加一列,往里面补上序号即可.有个简单的补号的操作是:点击第一个方格,把鼠标放在它的右下角,出现一个黑十字(不带箭头), ...

  2. python删除excel第一行_如何用 Python 清洗数据?

    林骥的第 38 篇文章 0. 序言在做数据分析之前,我们首先要明确数据分析的目标,然后应用数据分析的思维,对目标进行细分,再采取相应的行动.我们可以把数据分析细分为以下 8 个步骤:(1)读取(2)清 ...

  3. java 读取文件第一行代码,java文件读取。(单字节读取和按行读取读取)

    评论 # re: java文件读取.(单字节读取和按行读取读取) 2008-10-06 15:16 隔叶黄莺 再简单也比不过 groovy 的这一行代码 text = new File("f ...

  4. [DAY3]用VBA实现复制EXCEL第一行数据到最后一行

    #跟着文心一言学VBA Sub CopyA1ToLastRow()Dim lastRow As Long'Rows.Count是指当前活动工作表的行数,为数字 1048576,是Excel工作表的最大 ...

  5. 使用NPOI实现在Excel第一行插入文字

    产品提出新需求,要在用户所有上传的订单附件中的最前方加入订单号,本以为是小需求,结果确意外的踩了不少坑,下面说一下我踩坑的全部过程: 1.使用CreateRow创建行 最开始的预期是CreateRow ...

  6. excel 多行插入_在Excel中插入多行

    excel 多行插入 If you've used Excel for a while, you have lots of skills that you might assume everyone ...

  7. 办公软件使用学习笔记:excel第三节。excel快速录入数据,常见输入快捷方法,重复数据快速输入,数据从文本中简单导入。

    excel数据快速输入 数据快速输入快捷键. Tab键:横向向右切换一个单元格. Enter键:向下切换一个单元格. 上下左右四个切换选中的单元格. 日期输入问题:日期只识别2020/1/12或202 ...

  8. python对大量数据去重_Python对多属性的重复数据去重实例

    python中的pandas模块中对重复数据去重步骤: 1)利用DataFrame中的duplicated方法返回一个布尔型的Series,显示各行是否有重复行,没有重复行显示为FALSE,有重复行显 ...

  9. sql重复数据取日期小的_excel快速查询重复数据的3个小技巧

    在大量的数据当中怎么快速的查询数据是否有重复,并进行删除.方法有以下几种,通过菜单栏查询删除重复值,用vlookup查询删除重复值以及countif查询删除重复值. 1.菜单栏查询&删除重复数 ...

最新文章

  1. 掌握这几种平面设计思维类型,让你设计水平上新台阶
  2. Python-OpenCV 杂项(三): 程序性能的检测和优化
  3. 一群猴子排成一圈,按1,2,...,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈...
  4. 找回root密码--Mysql5.6.36
  5. CentOS 7配置静态IP地址 解决了IP失效问题
  6. 计算机操作系统——经典进程的同步问题
  7. arduino w5500 mysql,W5500网络模块会出现奇怪的问题
  8. 【Redis笔记】数据结构与对象:链表
  9. loadrunner基础学习笔记二
  10. MySQL数据恢复--binlog
  11. Tomcat 9 免安装版 配置教程
  12. pycharm双击打不开,无响应,下列第二种方法我亲测有效
  13. 华为云-软件产品案例分析
  14. 云计算 第七章 云安全(3)概述 云计算面临的安全问题 云安全问题的深层原因 云安全关键技术 云计算信息安全的国内外标准化
  15. 推荐中的ctr校准方式
  16. [MAUI]模仿微信“按住-说话”的交互实现
  17. NF_Exp4_20164306
  18. Python入门零基础,小白也能变大神,赶紧收藏起来
  19. HTML_06(Dom(03))
  20. js原生-获取屏幕宽度写响应式页面比较实用

热门文章

  1. [渝粤教育] 南京信息职业技术学院 电工电子技术基础 参考 资料
  2. 21秋期末考试财务会计(二)10165k2
  3. bitmap的java原理_布隆算法的原理及JAVA实现
  4. android bench内存测试,华为p10内存测试软件(androbench) v5.0.1 免费版
  5. 小自考计算机专业代码,自学考试有关专业分类及其代码
  6. Oracle12如何重装,Oracle怎么重新安装?
  7. c fread 快读 详解_奔驰ACC(自适应巡航系统)详解
  8. java调用oracle的函数,从Java调用Oracle函数
  9. java注解的继承_Java注解合并,注解继承
  10. springcloud服务注册和发现