用Python进走数据清洗手段,这几栽都很常见!

发布日期:2021-09-16 16:19    点击次数:62

 

行家益~吾是幼刀!

在数据分析中,数据清洗是一个必备阶段。数据分析所行使的数据清淡都很重大,致使数据不能避免的展现重复、缺失、格式舛讹等变态数据,倘若无视这些变态数据,能够导致分析终局的实在性。

用以下数据为例,进走讲解数据清洗常用手段:

下面的操作只做示例,详细数据的清洗手段要按照数据特性进走选择!

重复值处理

重复值处理,清淡采用直接删除重复值的手段。在pandas中,能够用duplicated函数进走查望和drop_duplicates函数删除重复数据。

如下所示,能够始末duplicated函数查望重复的数据:

必要删除重复值时,可直接用drop_duplicates函数完善:

缺失值处理

缺失值与重复值相通,都是数据中比较常见的题目,必须进走处理才能进走下一步分析,保证分析的实在性。缺失值在数据中清淡用NaN外示,在处理缺失值时,清淡采用删除和填补手段进走处理。但在实际中,缺失值的处理是一件专门难得的事情,删除和填补手段都无法解决,末了只能留着。

在pandas中,其有众栽手段查望和处理缺失值的手段。

查望缺失值

最为基础的能够始末isnull和notnul,或者info函数来实现。

用info函数能够很清新的晓畅每一列的缺失值情况,进而做出判定处理:

isnull函数为判定序列元素是否为缺失,notnul函数判定序列元素是否不为缺失,二者在内心上是相通的。而二者在数据量重大时,凶果很差。于是清淡不会单独行使,而是互助其它手段进走行使。

查望某列缺失值所在的走:

isnull函数互助sum函数计算每列缺失值的个数:

在无数查望缺失值中,频繁会采用计算缺失值在列中占比的手段,判定缺失对数据具有众大的影响,从而选择是删除数据照样填补数据。计算占比可行使以着手段:

df.apply(lambda x: x.isnull().sum()/x.size) 

x.size为各个数据列总走数:

缺失值删除

删除缺失值的情形,清淡是在不会影响分析终局、造成的影响无伤大雅,或者难以填补的时候采用。

在pandas中,能够直接用dropna函数进走删除一切含有缺失值的走,或者选择性删除含有缺失值到的走:

缺失值填补

在无法直接删除缺失值时,或者包含缺失值的走具有许众而无法选择性删除时,填补是最佳的选择,但填补的手段要按照数据来选择,否则填补的数据照样会影响分析的实在性。

在pandas中,能够行使fillna函数完善对缺失值的填补,例如对外中的体重列进走填补,填补手段为中位数:

或者用平均值填补:

也能够用pandas中的ffill函数对缺失值进走前向填补,但在前向填补时必要仔细各个列数据的情况:

但能够望到,体重列的第一走未填补完善,而pandas中挑供了bfill函数进走后向填补:

数据类型转换

数据类型关乎后面的数据处理和数据可视化,迥异的数据类型处理和进走可视化的用法都纷歧样,因此,事先把数据的类型转换益,利于后面的有关步骤。

在pandas中,能够用info和dtypes手段进走查望数据类型:

常用的数据类型包括str(字符型)、float(浮点型)和int(整型)。当某列数据的类型展现舛讹时,可始末astype函数进走强制转换数据类型。例如下面始末astype函数对数值型列转换为字符型:

文本处理

在数据中,文本在某栽水平上能够说是最‘脏’的数据,不管在录入的数据,照样爬取的数据,总会展现各栽各样的‘脏’数据,处理难度专门高。在处理中,主要是切分字符串、值替换。

pandas挑供了df.str.split.str()手段对字符串的切割,以下始末此手段获得地级市名称:

对于一些无数词,能够始末df.str.replace()手段进走增补、替换或者删除:

以上就是本文的通盘内容了,倘若你爱或者对你有协助,请给吾点个赞吧!

鸿蒙官方战略相符作共建——HarmonyOS技术社区