Python使用Pandas删除Excel表格重复行与数据预处理

方予
方予
发布时间:2026-10-14 | 5人浏览过
原创

本文介绍如何利用Python的Pandas库高效处理Excel数据,重点演示删除表格中的重复行及空值。通过read_excel读取数据,使用duplicated和drop_duplicates函数识别并去除重复记录,支持按指定列去重及保留策略配置。同时涵盖缺失值检测与删除方法,适用于大数据集的自动化预处理场景。

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表格重复行及数据预处理的完整内容,旨在为读者提供参考,欢迎收藏与支持。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表