大家好~我是小刀!在数据分析中,数据清洗是必不可少的阶段。数据分析中使用的数据一般都非常庞大,导致数据中不可避免地会出现重复、缺失、格式错误等异常数据。如果忽略这些异常数据,可能会导致分析结果的准确性。下面以数据为例,讲解数据清洗的常用方法:以下操作只是举例,具体的数据清洗方法要根据数据的特点来选择!重复值处理重复值处理一般采用直接删除重复值的方法。在pandas中,可以使用duplicated函数查看,使用drop_duplicates函数删除重复数据。如下图,可以使用duplicated函数查看重复数据:当需要删除重复值时,可以直接使用drop_duplicates函数来完成:缺失值处理缺失值和重复值一样,是数据中比较常见的问题,在进行下一步之前必须进行分析,以确保分析的准确性。缺失值在数据中一般用NaN表示。在处理缺失值时,一般采用删除和填充的方式进行处理。但是在实践中,缺失值的处理是一件非常困难的事情。删除和填充都不能解决问题,最后只能保留。在pandas中,有很多方法可以查看和处理缺失值。最基本的查看缺失值的方式可以通过isnull和notnul,或者info函数来实现。使用info函数可以清楚的知道每一列的缺失值,然后进行判断:isnull函数判断序列元素是否缺失,notnul函数判断序列元素是否不缺失,两者本质上是相同。但是当数据量巨大的时候,两者的效果就很差了。因此一般不单独使用,而是与其他方法结合使用。查看某列缺失值所在行:isnull函数配合sum函数计算每列缺失值个数:在大部分缺失值中,计算缺失值占比的方法常用于判断缺失值对数据的影响有多大,从而选择删除数据还是填充数据。可以用下面的方法计算比例:df.apply(lambdax:x.isnull().sum()/x.size)x.size是每个数据列的总行数:缺失值是deleted删除,一般在不影响分析结果,影响无害,或者难以填充的情况下使用。在pandas中,可以直接使用dropna函数删除所有包含缺失值的行,或者选择性地删除包含缺失值的行:当缺失值无法直接删除时,填充缺失值,或者包含缺失值的行havetoomanyandcannot填充是选择性删除的最佳选择,但是要根据数据选择填充方式,否则填充的数据仍然会影响分析的准确性。在pandas中可以使用fillna函数完成缺失值的填充,比如填充表格中的权重列,填充方式为中位数:或者用平均值填充:也可以使用pandas中的ffill函数对缺失值进行正向填充,但是正向填充时需要注意每一列的数据:但是可以看到weight列的第一行还没有被填充,pandas中提供了bfill函数用于向后填充:数据类型转换数据类型,关系到后续的数据处理和数据可视化。不同的数据类型在处理和可视化方面有不同的用途。因此,提前转换数据类型有利于后续的相关步骤。在pandas中,可以使用info和dtypes方法查看数据类型:常用的数据类型有str(字符型)、float(浮点型)和int(整数型)。当某列的数据类型出现错误时,可以通过astype函数强制转换数据类型。例如下面使用astype函数将数字列转换为字符类型:文本处理在数据中,文本在某种程度上可以说是最“脏”的数据,无论是输入的数据还是爬取的数据,都会有总是有各种各样的“脏”数据,处理难度非常高。在处理过程中,主要是字符串的拆分和值的替换。Pandas提供了df.str.split.str()方法来切割字符串。获取地级市名称的方法有以下几种:对于一些占多数的词,可以使用df.str.replace()方法进行添加、替换或删除:以上就是本文的全部内容。如果喜欢或者对你有帮助,请给我一个赞!
