python 删除excel表格重复行,数据预处理操作
作者:HelenLee01 发布时间:2023-04-19 06:10:33
标签:python,excel,重复行,数据,预处理
使用python删除excel表格重复行。
# 导入pandas包并重命名为pd
import pandas as pd
# 读取Excel中Sheet1中的数据
data = pd.DataFrame(pd.read_excel('test.xls', 'Sheet1'))
# 查看读取数据内容
print(data)
# 查看是否有重复行
re_row = data.duplicated()
print(re_row)
# 查看去除重复行的数据
no_re_row = data.drop_duplicates()
print(no_re_row)
# 查看基于[物品]列去除重复行的数据
#wp = data.drop_duplicates(['物品'])
#print(wp)
# 将去除重复行的数据输出到excel表中
no_re_row.to_excel("test2.xls")
补充知识:Python数据预处理(删除重复值和空值)
pandas几个函数的使用,大数据的预处理(删除重复值和空值),人工删除很麻烦
Python恰好能够解决
注释很详细在这不一一解释了
######################################
##### 读写excel(xls\xlsx)文件
import pandas as pd
import numpy as np
df_excel = pd.read_excel('data3.xlsx')
print('数据量行*列',df_excel.shape)
# # df_excel.to_excel('df_excel.xlsx',header=None)#生成文件保存,无表头
print('数据集中存在重复观测的数量:\n',np.sum(df_excel.duplicated())) #F为不存在,T为存在,用sum显示重复的数量
print('删除行重复后的数据\n',df_excel.drop_duplicates(subset=None,keep='first',inplace=None))#excel文件中设定第一和第二行为重复行,结果删除了第二行保留第一行
###df_excel.drop_duplicates(subset=['A','B'],keep='first',inplace=True)
#### 代码中subset对应的值是列名,表示只考虑这两列,将这两列对应值相同的行进行去重。默认值为subset=None表示考虑所有列。
#####keep='first'表示保留第一次出现的重复行,是默认值。keep另外两个取值为"last"和False,分别表示保留最后一次出现的重复行和去除所有重复行。
#####inplace=True表示直接在原来的DataFrame上删除重复项,而默认值False表示生成一个副本
print('数据集列中是否存在缺失值:\n',df_excel.isnull().any()) #F为不存在,T为存在
print('每一行的缺失值个数:',df_excel.isnull().sum(axis=1))
print('每一列的缺失值个数:',df_excel.isnull().sum(axis=0))
####### df.isnull().sum(axis=0)每一列的缺失值个数
#####df.isnull().any()则会判断哪些”列”存在缺失值
df=df_excel.dropna()
print(df_excel.dropna(thresh=5))
# #axis=0: 删除包含缺失值(NaN)的行
# #axis=1: 删除包含缺失值(NaN)的列
# # how=‘any' :要有缺失值(NaN)出现删除
# # how=‘all': 所有的值都缺失(NaN)才删除
# 还有一个thresh参数
# thresh=n,保留至少有 n 个非 NaN 数的行
######drop用法
print(df_excel.drop(['edu'],axis=1))#按照列删除edu这一列
print(df_excel.drop([0],axis=0))#按照行删除0这一行
来源:https://blog.csdn.net/weixin_43289135/article/details/104595433
0
投稿
猜你喜欢
- 这篇文章讨论了Python的from <module> import *和from <package> import
- 本文实例讲述了python实现写日志封装类。分享给大家供大家参考。具体如下:# encoding:utf-8import sysimport
- 最简单、原始的TCP通信demo服务端Http请求:import socket# 创建一个servicesockeserviceSocket
- Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE
- 本文实例为大家分享了js选项卡切换效果的具体实现代码,供大家参考,具体内容如下<!DOCTYPE html><html&g
- python 2.6编写,自己瞎写的,备用''' Export and Import ElasticSe
- 一、TCP1、tcp服务器创建#创建服务器from socket import *from time import ctime #导入cti
- 本文实例讲述了php设计模式之正面模式。分享给大家供大家参考,具体如下:星际里面的战斗都是在地图上进行的,只要我们可以编辑地图,就可以创造一
- 本文实例为大家分享了Python 12306抢火车票的具体代码,供大家参考,具体内容如下# -*- coding: utf-8 -*-fro
- 本文研究的主要是Python subprocess模块的相关内容,具体如下。在学习这个模块前,我们先用Python的help()函数查看一下
- 1、定义具名元组需要2个参数,第1个参数是类名,第2个参数是字段名,既可以是可迭代对象(如列表和元组),也可以是空格间隔的字符串:Card
- 本文实例为大家分享了python实现雨滴下落到地面效果的具体代码,供大家参考,具体内容如下本程序在Windows 64位操作系统下,安装的是
- 在蓝色看到的几个js日历代码,整理了一下。大家可以用在blog上,或者可以用在表单的日期类型的数据选择中,方便大家填写日期。1.动感的日历,
- Pandas中根据列的值选取多行数据 # 选取等于某些值的行记录 用 == df.loc[df['column_name']
- github指路作业要求友情提示ldw老师给の友情提示(虽然感觉也还好/dbq其实还挺有用的)课上讲的例子是图片展示器(能够实现打开图片+镜
- 前言栈(Stack)是一种运算受限的线性表。按照先进后出(FILO,First In Last Out)的原则存储数据,先进入的数据被压入栈
- 一、Python 的 IDE —— PyCharm1.1 集成开发环境(IDE)集成开发环境(IDE,Integrated Developm
- 一、什么是yield如果还没有怎么用过的话,直接把yield看做成一种特殊的return(PS:本质 generator(生成器))retu
- 启发式评估法(Heuristic Evaluation)是一种用来发现用户界面设计中的可用性问题从而使这些问题作为再设计过程中的一部分被重视
- 我们在使用很多新闻系统的时候,都会发现一个问题,尤其是使用 HtmlEdit 从WORD文档中直接拷贝文章(尤其里面有复杂表格和文字)的时候