文章目录
前言
许多数据科学家认为获取和清理数据的初始步骤占工作的 80%,花费大量时间来清理数据集并将它们归结为可以使用的形式。
因此如果你是刚刚踏入这个领域或计划踏入这个领域,重要的是能够处理杂乱的数据,无论数据是否包含缺失值、不一致的格式、格式错误的记录还是无意义的异常值。
将利用 Python 的 Pandas和 NumPy 库来清理数据。
准备工作
导入模块后就开始正式的数据预处理吧。
import pandas as pd
import numpy as np
DataFrame 列的删除
通常会发现并非数据集中的所有数据类别都有用。例如可能有一个包含学生信息(姓名、年级、标准、父母姓名和地址)的数据集,但希望专注于分析学生成绩。在这种情况下地址或父母的姓名并不重要。保留这些不需要的数据将占用不必要的空间。
BL-Flickr-Images-Book.csv 数据操作。
df = pd.read\_csv('数据科学必备Pandas、NumPy进行数据清洗/BL-Flickr-Images-Book.csv')
df.head()
可以看到这些列是对 Edition Statement, Corporate Author, Corporate Contributors, Former owner, Engraver, Issuance type and Shelfmarks 没有任何信息帮助的,因此可以进行批量删除处理。
to\_drop\_column = \[ 'Edition Statement',
'Corporate Author',
'Corporate Contributors',
'Former owner',
'Engraver',
'Contributors',
'Issuance type',
'Shelfmarks'\]
df.drop(to\_drop\_column , inplace=True, axis=1)
df.head()
DataFrame 索引更改
Pandas 索引扩展了 NumPy 数组的功能,以允许更通用的切片和标记。 在许多情况下,使用数据的唯一值标识字段作为其索引是有帮助的。
获取唯一标识符。
df\['Identifier'\].is\_unique
True
Identifier列替换索引列。
df = df.set\_index('Identifier')
df.head()
206 是索引的第一个标签,可以使用 df.iloc[0] 基于位置的索引访问。
DataFrame 数据字段整理
清理特定列并将它们转换为统一格式,以更好地理解数据集并强制保持一致性。
处理 Date of Publication 出版日期 列,发现该数据列格式并不统一。
df.loc[1905:, ‘Date of Publication’].h