Python实现Excel表格数据去重

Python实现Excel表格数据以指定列去重

import pandas

file_path="4.2.xlsx"
sheet_1='fpy-01'
fpy_01=pandas.DataFrame(pandas.read_excel(file_path,sheet_1))
# data = pd.DataFrame(pd.read_excel('test.xls', 'Sheet1'))
# 查看是否有重复行
re_row = fpy_01.duplicated()
print(re_row)

# 查看去除重复行的数据
no_re_row = fpy_01.drop_duplicates(subset=['mo_no','serial_nbr','plant','part_build_date','cqas_station'],keep='first',inplace=False)
# no_re_row = fpy_01.drop_duplicates(subset=['mo_no'],keep='first',inplace=None)
print(no_re_row)
no_re_row.to_excel("4.2(副本).xlsx")
print("去重完成!")

# ######################################
# ##### 去除Excel表格数据中重复行
# ######################################
# import pandas as pd
# import numpy as np
# file_path='MI FPY OOB UAT 4.2.xlsx'
# df_excel = pd.read_excel(file_path)
# 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=['B','R','T','V','AG'],keep='first',inplace=True))   #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这一行
# # no_re_row.to_excel("test2.xls")
###################################################

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值