《數(shù)據(jù)清洗》主要介紹數(shù)據(jù)清洗技術(shù)的基本概念與應(yīng)用。全書共有8章,分別講述了數(shù)據(jù)清洗基礎(chǔ)、數(shù)據(jù)清洗方法、文件類型、數(shù)據(jù)采集與抽取、Excel數(shù)據(jù)清洗與轉(zhuǎn)換、ETL數(shù)據(jù)清洗與轉(zhuǎn)換、Python數(shù)據(jù)清洗、R語言數(shù)據(jù)清洗。
《數(shù)據(jù)清洗》將理論與實踐操作相結(jié)合,通過大量的案例幫助讀者快速了解和應(yīng)用大數(shù)據(jù)清洗的相關(guān)技術(shù)。針對書中重要的、核心的知識點,提供了較多的練習(xí),幫助讀者達(dá)到熟練應(yīng)用的目的。
《數(shù)據(jù)清洗》可作為高職高專院校大數(shù)據(jù)技術(shù)與應(yīng)用、軟件技術(shù)、信息管理、計算機(jī)網(wǎng)絡(luò)等專業(yè)的專業(yè)課教材,也可作為大數(shù)據(jù)愛好者的參考書。
目 錄
前言
第1章 數(shù)據(jù)清洗基礎(chǔ)
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ù)清洗研究與應(yīng)用展望
1.1.7 數(shù)據(jù)清洗的行業(yè)發(fā)展
1.2 數(shù)據(jù)標(biāo)準(zhǔn)化
1.2.1 數(shù)據(jù)標(biāo)準(zhǔn)化簡介
1.2.2 數(shù)據(jù)標(biāo)準(zhǔn)化方法
1.2.3 數(shù)據(jù)標(biāo)準(zhǔn)化的實例
1.3 數(shù)據(jù)清洗的常用工具
1.4 實訓(xùn)1 安裝和運行Kettle
1.5 實訓(xùn)2 安裝和運行OpenRefine
1.6 實訓(xùn)3 安裝和運行Python 3
1.7 小結(jié)
習(xí)題1
第2章 數(shù)據(jù)清洗方法
2.1 數(shù)據(jù)質(zhì)量
2.1.1 數(shù)據(jù)質(zhì)量的定義
2.1.2 數(shù)據(jù)質(zhì)量中的常見術(shù)語
2.2 數(shù)據(jù)預(yù)處理
2.2.1 數(shù)據(jù)預(yù)處理簡介
2.2.2 數(shù)據(jù)預(yù)處理方法
2.3 數(shù)據(jù)清洗方法
2.3.1 數(shù)據(jù)缺失值的處理方法
2.3.2 噪聲數(shù)據(jù)的處理方法
2.3.3 冗余數(shù)據(jù)的處理方法
2.3.4 數(shù)據(jù)格式與內(nèi)容的處理方法
2.4 數(shù)據(jù)清洗中的統(tǒng)計學(xué)基礎(chǔ)
2.5 實訓(xùn)1 找出離群點
2.6 實訓(xùn)2 找出統(tǒng)計對象
2.7 實訓(xùn)3 找出數(shù)據(jù)清洗的步驟
2.8 實訓(xùn)4 找出異常數(shù)據(jù)
2.9 小結(jié)
習(xí)題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ù)轉(zhuǎn)換
3.3 數(shù)據(jù)轉(zhuǎn)換的實現(xiàn)
3.3.1 用Python生成與讀取CSV文件
3.3.2 用Python讀取與轉(zhuǎn)換JSON文件
3.4 實訓(xùn)1 將XML文件轉(zhuǎn)換為JSON文件
3.5 實訓(xùn)2 將JSON文件轉(zhuǎn)換為CSV文件
3.6 小結(jié)
習(xí)題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)絡(luò)爬蟲概述
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 實訓(xùn)1 使用Kettle抽取本地XML文件
4.5 實訓(xùn)2 使用Kettle抽取CSV數(shù)據(jù)并輸出為文本文件
4.6 小結(jié)
習(xí)題4
第5章 Excel數(shù)據(jù)清洗與轉(zhuǎn)換
5.1 Excel數(shù)據(jù)清洗概述
5.1.1 Excel簡介
5.1.2 Excel數(shù)據(jù)清洗與轉(zhuǎn)換方法
5.2 Excel數(shù)據(jù)清洗與轉(zhuǎn)換的實現(xiàn)
5.2.1 常用數(shù)據(jù)分析函數(shù)介紹
5.2.2 刪除重復(fù)行
5.2.3 文本查找和替換
5.2.4 數(shù)據(jù)替換
5.2.5 字符串截取
5.2.6 字母大小寫轉(zhuǎn)換
5.2.7 刪除空格和非打印字符
5.2.8 數(shù)字和數(shù)字符號的轉(zhuǎn)換
5.2.9 日期和時間處理
5.2.10 合并和拆分列
5.2.11 數(shù)據(jù)的轉(zhuǎn)置
5.2.12 數(shù)據(jù)查詢和引用
5.3 實訓(xùn)1 清洗簡單數(shù)據(jù)
5.4 實訓(xùn)2 清洗復(fù)雜數(shù)據(jù)
5.5 小結(jié)
習(xí)題5
第6章 ETL數(shù)據(jù)清洗與轉(zhuǎn)換
6.1 數(shù)據(jù)倉庫與ETL
6.1.1 數(shù)據(jù)倉庫
6.1.2 ETL概述
6.2 Kettle數(shù)據(jù)清洗與轉(zhuǎn)換基礎(chǔ)
6.2.1 Kettle數(shù)據(jù)清洗
6.2.2 Kettle數(shù)據(jù)轉(zhuǎn)換
6.3 Kettle數(shù)據(jù)倉庫高級應(yīng)用
6.4 實訓(xùn)1 在Kettle中識別流的最后一行并寫入日志
6.5 實訓(xùn)2 在Kettle中用正則表達(dá)式清洗數(shù)據(jù)
6.6 實訓(xùn)3 使用Kettle過濾數(shù)據(jù)表
6.7 實訓(xùn)4 使用Kettle生成隨機(jī)數(shù)并相加
6.8 小結(jié)
習(xí)題6
第7章 Python數(shù)據(jù)清洗
7.1 Python數(shù)據(jù)清洗基礎(chǔ)
7.1.1 Python語言基礎(chǔ)
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 缺失值、異常值和重復(fù)值處理
7.4.1 缺失值處理
7.4.2 異常值檢測和過濾
7.4.3 移除重復(fù)數(shù)據(jù)
7.5 時間序列處理
7.5.1 Python的日期與時間工具
7.5.2 Pandas時間序列數(shù)據(jù)結(jié)構(gòu)
7.6 字符串處理
7.6.1 Python字符串方法列表
7.6.2 Python正則表達(dá)式
7.6.3 Pandas的字符串方法
7.7 實訓(xùn)1 清洗企業(yè)員工信息
7.8 實訓(xùn)2 清洗在校生飲酒消費數(shù)據(jù)
7.9 小結(jié)
習(xí)題7
第8章 R語言數(shù)據(jù)清洗
8.1 R語言簡介
8.2 R語言基礎(chǔ)
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的語法結(jié)構(gòu)
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ù)轉(zhuǎn)換對象tibble
8.4.3 數(shù)據(jù)篩選對象filter
8.4.4 數(shù)據(jù)排序?qū)ο骯rrange
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ù)轉(zhuǎn)換函數(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 實訓(xùn)1 應(yīng)用data.table數(shù)據(jù)包進(jìn)行數(shù)據(jù)清洗
8.9 實訓(xùn)2 應(yīng)用dplyr數(shù)據(jù)包進(jìn)行數(shù)據(jù)清洗
8.10 小結(jié)
習(xí)題8
參考文獻(xiàn)