三个Python常用的数据清洗处理方式总结python

关于python数据处理过程中三个主要的数据清洗说明,分别是缺失值/空格/重复值的数据清洗。

这里还是使用pandas来获取excel或者csv的数据源来进行数据处理。若是没有pandas的非标准库需要使用pip的方式安装一下。

pipinstallpandas准备一下需要处理的脏数据,这里选用的是excel数据,也可以选择其他的格式数据,下面是源数据截图。

使用pandas的read_excel()函数读取出我们需要处理的data.xlsx文件。

#Importingthepandaslibraryandgivingitanaliasofpd.importpandasaspd#Readingtheexcelfileandstoringitinavariablecalled`result_`result_=pd.read_excel('D:/test/data.xlsx')#Printingthedataframe.print(result_)注意,若是新的python环境直接安装pandas模块后执行上面的读取excel数据代码可能会出现没有openpyxl模块的情况。

这时候,我们使用pip的方式再次安装一下openpyxl即可。

pipinstallopenpyxl完成后再次执行读取excel数据的代码块会成功的返回结果。

#姓名年龄班级成绩表现#0Python集中营10121099A#1Python集中营111211100A#2Python集中营121212101A#3Python集中营131213102A#4Python集中营141214103A#5Python集中营151215104A#6Python集中营161216105A#7Python集中营171217106A#8Python集中营181218107A#9Python集中营191219108A#10Python集中营201220109A#11Python集中营211221110A#12Python集中营221222111A#13Python集中营231223112A#14Python集中营241224113A#15Python集中营251225114A#16Python集中营261226115A#17Python集中营271227116A#18Python集中营281228117A##Processfinishedwithexitcode0准备好数据源之后,我们使用三个方式来完成对源数据的数据清洗。

首先,将所有的列名称提取出来,使用DataFrame对象的columns函数进行提取。

为了减少代码块的使用,我们这里直接使用列表推导式的方式对列名称的空格进行清洗。

#Alistcomprehensionthatisiteratingoverthe`columns_`listandstrippingthewhitespacesfromeachelementofthe#list.result_.columns=[column_name.strip()forcolumn_nameincolumns_]#Printingthecolumnnamesofthedataframe.print(result_.columns.values)#['姓名''年龄''班级''成绩''表现']经过数据清洗后,发现所有的列名称空格情况已经被全部清洗了。若是存在某个列中的值空格需要清洗也可以采用strip函数进行清洗。

关于重复数据的判断有两种情况,一种是两行完全相同的数据即为重复数据。另外一种则是部分相同指的是某个列的数据是相同的需要清洗。

#The`duplicated()`functionisreturningabooleanseriesthatisTrueiftherowisaduplicateandFalseiftherowis#notaduplicate.repeat_num=result_.duplicated().sum()#Printingthenumberofduplicaterowsinthedataframe.print(repeat_num)#1通过上面的duplicated().sum()函数得到的是两个完全相同的数据行是多少。

接着则可以对源数据进行实际意义上的删除,使用DataFrame对象的drop_duplicates函数进行删除。

#The`drop_duplicates()`functionisdroppingtheduplicaterowsfromthedataframeandthe`inplace=True`is#modifyingthedataframeinplace.result_.drop_duplicates(inplace=True)#Printingthedataframe.print(result_)#姓名年龄班级成绩表现#0Python集中营10121099A#1Python集中营111211100A#2Python集中营121212101A#3Python集中营131213102A#4Python集中营141214103A#5Python集中营151215104A#6Python集中营161216105A#7Python集中营171217106A#8Python集中营181218107A#9Python集中营191219108A#10Python集中营201220109A#11Python集中营211221110A#12Python集中营221222111A#13Python集中营231223112A#14Python集中营241224113A#15Python集中营251225114A#16Python集中营261226115A#17Python集中营271227116A因为最后一行和第一行的数据是完全相同的,因此最后一行的数据已经被清洗掉了。

一般在数据清洗删除重复值之后需要重置索引,避免索引产生不连续性。

#The`range(result_.shape[0])`iscreatingalistofnumbersfrom0tothenumberofrowsinthedataframe.result_.index=range(result_.shape[0])#The`print(result_.index)`isprintingtheindexofthedataframe.print(result_.index)#RangeIndex(start=0,stop=18,step=1)

一般查看DataFrame数据对象的缺失值就是通过使用isnull函数来提取所有数据缺失的部分。

#The`isnull()`functionisreturningabooleanseriesthatisTrueifthevalueismissingandFalseifthevalue#isnotmissing.sul_=result_.isnull()#The`print(sul_)`isprintingthebooleanseriesthatisTrueifthevalueismissingandFalseifthevalueisnot#missing.print(sul_)#姓名年龄班级成绩表现#0FalseFalseFalseFalseFalse#1FalseFalseFalseFalseFalse#2FalseFalseFalseFalseFalse#3FalseFalseFalseFalseFalse#4FalseFalseFalseFalseFalse#5FalseFalseFalseFalseFalse#6FalseFalseFalseFalseFalse#7FalseFalseFalseFalseFalse#8FalseFalseFalseFalseFalse#9FalseFalseFalseFalseFalse#10FalseFalseFalseFalseFalse#11FalseFalseFalseFalseFalse#12FalseFalseFalseFalseFalse#13FalseFalseFalseFalseFalse#14FalseFalseFalseFalseFalse#15FalseFalseFalseFalseFalse#16FalseFalseFalseFalseFalse#17FalseFalseFalseFalseFalse返回的每一个单元格数据结果为False则代表这个单元格的数据是没有缺失的,或者也可以使用notnull来反向查看。

使用isnull函数不想显示很多的列表数据时,可以使用sum函数进行统计。

#The`isnull_sum=result_.isnull().sum()`isreturningaseriesthatisthesumofthebooleanseriesthatisTrueif#thevalueismissingandFalseifthevalueisnotmissing.isnull_sum=result_.isnull().sum()#The`isnull_sum=result_.isnull().sum()`isreturningaseriesthatisthesumofthebooleanseriesthatisTrueif#thevalueismissingandFalseifthevalueisnotmissing.print(isnull_sum)#姓名0#年龄0#班级0#成绩0#表现0#dtype:int64通过isnull函数处理后使用sum函数进行统计,统计后会返回每一列的数据单元格为空的个数。

接下来就是数据值的填补过程,通常可以筛选每一列中的空值填补固定的数据。

#The`result_.loc[result_.姓名.isnull(),'姓名']`isreturningaseriesthatisthevaluesofthecolumn`姓名`#wherethevaluesaremissing.The`'Python集中营'`isthevaluethatisbeingassignedtotheseries.result_.loc[result_.姓名.isnull(),'姓名']='Python集中营'#Printingthedataframe.print(result_)#姓名年龄班级成绩表现#0Python集中营10121099A#1Python集中营111211100A#2Python集中营121212101A#3Python集中营131213102A#4Python集中营141214103A#5Python集中营151215104A#6Python集中营161216105A#7Python集中营171217106A#8Python集中营181218107A#9Python集中营191219108A#10Python集中营201220109A#11Python集中营211221110A#12Python集中营221222111A#13Python集中营231223112A#14Python集中营241224113A#15Python集中营251225114A#16Python集中营261226115A#17Python集中营271227116A

数据清洗完成之后,可以使用DataFrame对象提供的to_csv/to_excel等函数进行特定格式的数据保存。

THE END
1.数据清洗的重要性与技巧:提升大数据分析的准确性和效率提升模型性能:在机器学习和数据分析领域,模型的性能在很大程度上依赖于输入数据的质量。数据清洗包括特征选择和特征工程,这些步骤可以帮助模型更好地识别数据中的模式,从而提高模型的预测能力。 节省时间和资源:在数据分析的早期阶段进行数据清洗可以避免在后续阶段进行昂贵的修正。自动化数据清洗流程可以进一步节省时间和资https://blog.csdn.net/Shaidou_Data/article/details/144110971
2.数据清洗总结数据清洗总结 转发数据清洗 数据清洗流程 1 缺失值清洗 1.1 确定缺失值范围 对每个字段都计算其缺失值比例,然后按照缺失比例和字段重要性,分别制定策略,可用下图表示: image.png 1.2 去除不需要的字段 直接删掉,但是务必做好每一步的备份 1.3 填充缺失值(重要,复杂)https://www.jianshu.com/p/4eb95d04a62f
3.总结了pandas实现数据清洗的7种方式以下文章来源于python数据分析之禅,作者小dull鸟 python数据分析之禅. 点击领取pandas高清速查表,后台回复“速查表”获取 最近在做“对比excel,学习pandas系列”,前面发了一篇 很受读者喜爱,今天给大家介绍一下excel和pandas实现数据清洗的种方式 1.处理数据中的空值 https://mp.weixin.qq.com/s?__biz=MjM5NjIwOTQyMA==&mid=2651838178&idx=1&sn=ddda4f225aa4bbd9c38bda50cefc2eb6&chksm=bd17c0818a6049975b3ace3661850a7a73a8f5fdc7d6daafd1653eaaa8181acd071bfa2c3a0e&scene=27
4.感悟与反思┃“数据清洗工作”的总结与反思——席义博虽然数据清洗过程中报错不断,但大家的热情不减,那段时间每天晚上和大家一起处理数据,听大家反馈的问题,然后一起讨论解决,是我每天最期待的事儿,也是我度过最开心的时光,在实践与交流中,我相信大家一定都有各自的收获! 这次数据清洗的任务,其实带动了很大一批同学对于编程的兴趣与冲动,这是个很好的开端,是凝聚大家庭http://www.sxmu.edu.cn/bdcd/info/1097/1393.htm
5.大语言模型系列—预训练数据集及其清洗框架梳理中英文训练数据集。 整理文本清洗框架。 总结现有框架的优点、问题和初步解决方案。 二、预训练数据集 大规模的高质量语料是训练大语言模型的关键“养料”。这些语料提供了世界性的知识体系,能够提升语言模型的理解能力和生成质量,同时也能够支持多样化的应用场景。事实上,高质量的文本对于大语言模型的训练和能力表现https://www.51cto.com/article/778437.html
6.数据清洗随笔分类星涅爱别离数据清洗 随笔分类 -数据清洗 总结与梳理(含之前所涉及的代码和数据) 摘要:一些特别弄混的事: 总体的总结: 数据处理的步骤: 常用的函数 注意点阅读全文 posted @2020-02-06 21:36星涅爱别离阅读(143)评论(0)推荐(0)编辑 数据清洗之数据预处理 重复值 缺失值 异常值 数据离散化https://www.cnblogs.com/xingnie/category/1641806.html
7.玩转逻辑回归之金融评分卡模型消费金融风控联盟总结一下特征分箱的优势: 特征分箱可以有效处理特征中的缺失值和异常值。 特征分箱后,数据和模型会更稳定。 特征分箱可以简化逻辑回归模型,降低模型过拟合的风险,提高模型的泛化能力。 将所有特征统一变换为类别型变量。 分箱后变量才可以使用标准的评分卡格式,即对不同的分段进行评分。 https://www.shangyexinzhi.com/article/5177142.html
8.如何进行数据预处理和清洗?总结 数据预处理和清洗是机器学习和数据分析中非常重要的步骤。通过识别和纠正缺失值、异常值、重复值和错误数据等问题,可以提高数据质量并减 少后续分析的误差和偏差。数据预处理和清洗的流程包括数据收集和选择、数据清洗、数据转换、数据集成和数据规约。在进行数据预处理和清洗时,需要根据实际情况采取不同的处理方法https://www.cda.cn/bigdata/202680.html