《數(shù)據清洗》主要介紹數(shù)據清洗技術的基本概念與應用。全書共有8章,分別講述了數(shù)據清洗基礎、數(shù)據清洗方法、文件類型、數(shù)據采集與抽取、Excel數(shù)據清洗與轉換、ETL數(shù)據清洗與轉換、Python數(shù)據清洗、R語言數(shù)據清洗。
《數(shù)據清洗》將理論與實踐操作相結合,通過大量的案例幫助讀者快速了解和應用大數(shù)據清洗的相關技術。針對書中重要的、核心的知識點,提供了較多的練習,幫助讀者達到熟練應用的目的。
《數(shù)據清洗》可作為高職高專院校大數(shù)據技術與應用、軟件技術、信息管理、計算機網絡等專業(yè)的專業(yè)課教材,也可作為大數(shù)據愛好者的參考書。
目 錄
前言
第1章 數(shù)據清洗基礎
1.1 數(shù)據清洗概述
1.1.1 數(shù)據清洗的定義
1.1.2 數(shù)據清洗的對象
1.1.3 數(shù)據清洗的原理
1.1.4 數(shù)據清洗的評估
1.1.5 數(shù)據清洗的框架模型
1.1.6 數(shù)據清洗研究與應用展望
1.1.7 數(shù)據清洗的行業(yè)發(fā)展
1.2 數(shù)據標準化
1.2.1 數(shù)據標準化簡介
1.2.2 數(shù)據標準化方法
1.2.3 數(shù)據標準化的實例
1.3 數(shù)據清洗的常用工具
1.4 實訓1 安裝和運行Kettle
1.5 實訓2 安裝和運行OpenRefine
1.6 實訓3 安裝和運行Python 3
1.7 小結
習題1
第2章 數(shù)據清洗方法
2.1 數(shù)據質量
2.1.1 數(shù)據質量的定義
2.1.2 數(shù)據質量中的常見術語
2.2 數(shù)據預處理
2.2.1 數(shù)據預處理簡介
2.2.2 數(shù)據預處理方法
2.3 數(shù)據清洗方法
2.3.1 數(shù)據缺失值的處理方法
2.3.2 噪聲數(shù)據的處理方法
2.3.3 冗余數(shù)據的處理方法
2.3.4 數(shù)據格式與內容的處理方法
2.4 數(shù)據清洗中的統(tǒng)計學基礎
2.5 實訓1 找出離群點
2.6 實訓2 找出統(tǒng)計對象
2.7 實訓3 找出數(shù)據清洗的步驟
2.8 實訓4 找出異常數(shù)據
2.9 小結
習題2
第3章 文件類型
3.1 文件格式
3.1.1 文件格式概述
3.1.2 Windows中常見的文件格式
3.2 數(shù)據類型與字符編碼
3.2.1 數(shù)據類型概述
3.2.2 字符編碼
3.2.3 用Python讀取文件
3.2.4 數(shù)據轉換
3.3 數(shù)據轉換的實現(xiàn)
3.3.1 用Python生成與讀取CSV文件
3.3.2 用Python讀取與轉換JSON文件
3.4 實訓1 將XML文件轉換為JSON文件
3.5 實訓2 將JSON文件轉換為CSV文件
3.6 小結
習題3
第4章 數(shù)據采集與抽取
4.1 數(shù)據采集概述
4.1.1 了解數(shù)據采集
4.1.2 日志數(shù)據采集與處理的常見方法
4.1.3 數(shù)據采集平臺
4.1.4 數(shù)據采集工具
4.2 網頁數(shù)據采集與實現(xiàn)
4.2.1 網絡爬蟲概述
4.2.2 網頁數(shù)據采集的實現(xiàn)
4.3 數(shù)據抽取
4.3.1 數(shù)據抽取概述
4.3.2 文本數(shù)據抽取
4.3.3 網頁數(shù)據抽取
4.4 實訓1 使用Kettle抽取本地XML文件
4.5 實訓2 使用Kettle抽取CSV數(shù)據并輸出為文本文件
4.6 小結
習題4
第5章 Excel數(shù)據清洗與轉換
5.1 Excel數(shù)據清洗概述
5.1.1 Excel簡介
5.1.2 Excel數(shù)據清洗與轉換方法
5.2 Excel數(shù)據清洗與轉換的實現(xiàn)
5.2.1 常用數(shù)據分析函數(shù)介紹
5.2.2 刪除重復行
5.2.3 文本查找和替換
5.2.4 數(shù)據替換
5.2.5 字符串截取
5.2.6 字母大小寫轉換
5.2.7 刪除空格和非打印字符
5.2.8 數(shù)字和數(shù)字符號的轉換
5.2.9 日期和時間處理
5.2.10 合并和拆分列
5.2.11 數(shù)據的轉置
5.2.12 數(shù)據查詢和引用
5.3 實訓1 清洗簡單數(shù)據
5.4 實訓2 清洗復雜數(shù)據
5.5 小結
習題5
第6章 ETL數(shù)據清洗與轉換
6.1 數(shù)據倉庫與ETL
6.1.1 數(shù)據倉庫
6.1.2 ETL概述
6.2 Kettle數(shù)據清洗與轉換基礎
6.2.1 Kettle數(shù)據清洗
6.2.2 Kettle數(shù)據轉換
6.3 Kettle數(shù)據倉庫高級應用
6.4 實訓1 在Kettle中識別流的最后一行并寫入日志
6.5 實訓2 在Kettle中用正則表達式清洗數(shù)據
6.6 實訓3 使用Kettle過濾數(shù)據表
6.7 實訓4 使用Kettle生成隨機數(shù)并相加
6.8 小結
習題6
第7章 Python數(shù)據清洗
7.1 Python數(shù)據清洗基礎
7.1.1 Python語言基礎
7.1.2 Python數(shù)據清洗所用庫
7.2 數(shù)據讀寫、選擇、整理和描述
7.2.1 從CSV文件讀取數(shù)據
7.2.2 寫入數(shù)據到CSV文件
7.2.3 數(shù)據整理和描述
7.3 數(shù)據分組、分割、合并和變形
7.3.1 數(shù)據分組
7.3.2 數(shù)據分割
7.3.3 數(shù)據合并
7.3.4 數(shù)據變形
7.4 缺失值、異常值和重復值處理
7.4.1 缺失值處理
7.4.2 異常值檢測和過濾
7.4.3 移除重復數(shù)據
7.5 時間序列處理
7.5.1 Python的日期與時間工具
7.5.2 Pandas時間序列數(shù)據結構
7.6 字符串處理
7.6.1 Python字符串方法列表
7.6.2 Python正則表達式
7.6.3 Pandas的字符串方法
7.7 實訓1 清洗企業(yè)員工信息
7.8 實訓2 清洗在校生飲酒消費數(shù)據
7.9 小結
習題7
第8章 R語言數(shù)據清洗
8.1 R語言簡介
8.2 R語言基礎
8.2.1 R語言運算符號
8.2.2 R語言數(shù)據類型
8.3 R語言data.table數(shù)據包
8.3.1 data.table數(shù)據包介紹
8.3.2 創(chuàng)建data.table對象
8.3.3 data.table的語法結構
8.3.4 變量的重命名
8.3.5 創(chuàng)建索引
8.3.6 數(shù)據排序
8.3.7 添加/更新/刪除列
8.3.8 GROUP_BY函數(shù)
8.3.9 數(shù)據的聚合
8.4 R語言dplyr數(shù)據包
8.4.1 dplyr數(shù)據包介紹
8.4.2 數(shù)據轉換對象tibble
8.4.3 數(shù)據篩選對象filter
8.4.4 數(shù)據排序對象arrange
8.4.5 選擇對象select與重命名對象rename
8.4.6 添加列對象
8.4.7 數(shù)據抽樣對象
8.4.8 數(shù)據匯總對象
8.5 R語言tidyr數(shù)據包
8.5.1 tidyr對象
8.5.2 數(shù)據轉換函數(shù)
8.5.3 數(shù)據合并函數(shù)
8.5.4 數(shù)據拆分函數(shù)
8.5.5 數(shù)據填充函數(shù)
8.6 R語言lubridate數(shù)據包
8.7 R語言stringr數(shù)據包
8.7.1 stringr包
8.7.2 stringr包字符串處理函數(shù)
8.8 實訓1 應用data.table數(shù)據包進行數(shù)據清洗
8.9 實訓2 應用dplyr數(shù)據包進行數(shù)據清洗
8.10 小結
習題8
參考文獻