当前位置:
首页 > Python基础教程 >
-
python 删除excel表格重复行,数据预处理操作
这篇文章主要介绍了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这一行
以上这篇python 删除excel表格重复行,数据预处理操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
原文链接:https://blog.csdn.net/weixin_43289135/article/details/104595433
栏目列表
最新更新
求1000阶乘的结果末尾有多少个0
详解MyBatis延迟加载是如何实现的
IDEA 控制台中文乱码4种解决方案
SpringBoot中版本兼容性处理的实现示例
Spring的IOC解决程序耦合的实现
详解Spring多数据源如何切换
Java报错:UnsupportedOperationException in Col
使用Spring Batch实现批处理任务的详细教程
java中怎么将多个音频文件拼接合成一个
SpringBoot整合ES多个精确值查询 terms功能实
SQL Server 中的数据类型隐式转换问题
SQL Server中T-SQL 数据类型转换详解
sqlserver 数据类型转换小实验
SQL Server数据类型转换方法
SQL Server 2017无法连接到服务器的问题解决
SQLServer地址搜索性能优化
Sql Server查询性能优化之不可小觑的书签查
SQL Server数据库的高性能优化经验总结
SQL SERVER性能优化综述(很好的总结,不要错
开启SQLSERVER数据库缓存依赖优化网站性能
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比