在数据分析前,首先要进行数据采集。通常,采集到的原始数据大多数是不完整和不一致的“脏”数据,无法直接进行数据挖掘。为了提高数据挖掘的质量,产生了数据预处理技术。数据预处理包括数据清理、数据集成、数据变换、数据归约等。
数据清洗是发现并纠正数据文件中可识别的错误,如移除重复数据,处理缺失值和空格值,检测和过滤异常值,并检查数据一致性等。通过数据清洗不仅要使通过清洗后的数据变得可用,而且还要使数据变得更加适合进行后续的数据分析工作。那就介绍下数据重复值的处理。
原始数据集中往往会存在着许多重复数据。所谓重复数据是指在数据结构中所有列的内容都相同,即行重复。而处理重复数据是数据分析中经常要面对的问题之一。pandas 提供了 duplicated() 和 drop_duplicates() 函数用于标记和删除重复数据。
duplicated() 函数
duplicated() 函数用于标记 Series 中的值、DataFrame 中的记录行是否重复,重复为 True,不重复为 False。该函数语法格式如下:
pandas.DataFrame.duplicated(subset=None,keep='first')
或
pandas.Series.duplicated(keep='first')
函数中的参数说明如下:
- subset:接收 string 或 sequence,用于识别重复的列标签或列标签序列,默认为列标签,默认值为 None;
- keep:接收特定 string, first 表示除了第一次出现外,其余相同的重复项标记为 True; last 表示除了最后一次出现