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