文档详情

Python数据分析基础教程(微课版)(第2版)课件 第8章用pandas 进行数据预处理.pptx

发布:2025-06-11约1.29万字共51页下载文档
文本预览下载声明

;1;数据清洗是指发现并纠正数据文件中可识别的错误,如移除重复数据、处理缺失值、检测和过滤异常值、检查数据一致性等。通过数据清洗不仅要使通过清洗后的数据变的可用,而且要使数据变的更加适合进行后续的数据分析工作。

从数据采集所获得的原始数据集中,往往会存在着许多重复值。所谓重复值是指在数据结构中所有列的内容都相同,即行重复。而处理重复数据是数据分析中经常要面对的问题之一。;原始数据集中往往会存在许多重复值。所谓重复值是指在数据结构中如果行中所有列的内容都相同,即行重复。而处理重复值是数据分析中经常要面对的问题之一。pandas提供了duplicated()函数和drop_duplicates()函数来标记和删除重复值。

;(1)duplicated()函数

duplicated()函数用于标记Series中的值;判断DataFrame中的记录行是否重复,重复则为True,不重复则为False。该函数的格式如下。

pandas.DataFrame.duplicated(subset=None,keep=first)或:

pandas.Series.duplicated(keep=first‘)

该函数中的参数说明如下。

subset:string类型或序列,用于识别重复的列标签或列标签序列,默认为列标签,默认值为None。

?keep:特定string类型,first表示除了第一次出现外,其余相同的重复值标记为True;last表示除了最后一次出现外,其余相同的重复值标记为True;False表示将所有重复值标记为True。默认值为first。;(2)drop_duplicates()函数

drop_duplicates()函数用于删除Series、DataFrame中的重复值,并返回删除重复值后的结果。该函数的格式如下。

pandas.DataFrame.drop_duplicates(subset=None,keep=first,inplace=False)或

pandas.Series.drop_duplicates(keep=first,inplace=False)

该函数中的参数说明如下。

subset:string类型或序列,仅考虑用于标识重复值的某些列,默认情况下使用所有列,默认值为None。

?keep:特定string类型,first表示删除重复值并保留第一次出现的项;last表示除了最后一项外,删除重复值;False表示删除所有重复值。默认值为first。

?inplace:bool类型,True表示直接修改原对象,False表示创建一个副本,修改副本,原对象不变。默认值为False。

【例8-1】有一个手机评论数据文件Mobile.csv,该文件的数据列包括手机品牌、价格和评分,现要求去除该文件中的重复值。;在Python中,pandas使用浮点值NaN表示浮点数和非浮点数组中的缺失值,同时Python内置的None值也会被当作是缺失值。在处理缺失值之前,首先要判断缺失值是否存在,然后对缺失值进行删除、填充或者不处理的操作。

1、判断缺失值的函数

(1)isnull()函数:用于检查缺失值的对象,如果有缺失值则返回True,否则返回False。

(2)notnull()函数:用于检查不为缺失值的对象;如果有缺失值则返回False,否则返回True。

通过isnull()函数和sum()函数可以获得Series和DataFrame中缺失值的数量

;2、处理缺失值的方法

缺失值的处理方法有3种:删除含有缺失值的记录;进行数据插补;不处理空值或缺失值。

(1)删除含有缺失值的记录

在数据分析中,如果数据集的样本很多,并且在删除含有缺失值的记录后不会影响数据分析结果的客观性和准确性,一般使用dropna()函数直接将含有空值或缺失值的数据删除。

dropna()函数的格式如下。

DataFrame.dropna(axis=0,how=any,thresh=None,sub

显示全部
相似文档