數(shù)據預處理是數(shù)據分析、數(shù)據挖掘或人工智能中必不可少的環(huán)節(jié),它通過一定的方法將存在諸多問題的低質量數(shù)據處理變成高質量數(shù)據,在一定程度上提高數(shù)據分析或數(shù)據挖掘等工作的效率。
本書以Jupyter Notebook為主要開發(fā)工具,采用理論與實例相結合的形式,全面地介紹數(shù)據預處理的相關知識。全書共8章,其中第1章介紹數(shù)據預處理的入門知識;第2~6章介紹科學計算庫NumPy和數(shù)據分析庫pandas,以及通過pandas庫實現(xiàn)數(shù)據獲取、數(shù)據清理、數(shù)據集成、數(shù)據變換和數(shù)據規(guī)約的功能;第7章介紹數(shù)據清理工具OpenRefine的安裝及使用;第8章結合前期的核心知識進行實戰(zhàn)演練。除第1章外,其他章均配置了豐富的示例或案例,讀者可以一邊學習一邊練習,鞏固所學的知識,并在實踐中提升實際開發(fā)能力。
本書附有配套視頻、源代碼、習題、教學課件等資源。為幫助初學者更好地學習本書中的內容,本書還提供了在線答疑。
本書既可作為高等院校計算機相關專業(yè)的專用教材,也可以作為相關技術愛好者的入門用書。
1.黑馬程序員系列產品;
2.本書內容翔實,講解細致,包含大量實用案例;
3.本書配套豐富的教學資源,PPT、教學設計、教學大綱、教學視頻、課后習題及答案等。
黑馬程序員,傳智播客旗下高端教育品牌,成立于2006年,它是由中國Java培訓先行者張孝祥老師發(fā)起,聯(lián)合全球最大的中文IT社區(qū)CSDN、中關村軟件園共同創(chuàng)辦的一家專業(yè)教育機構。辦學至今,我們一直堅守著“為千萬人少走彎路而著書,為中華軟件之崛起而講課”的辦學理念,堅持培養(yǎng)優(yōu)秀軟件應用工程師的宏偉目標,在累計培養(yǎng)的十萬余名學員中。
第 1章 數(shù)據預處理概述 001
1.1 什么是數(shù)據預處理 001
1.2 常見的數(shù)據問題 003
1.3 數(shù)據預處理的流程 003
1.4 常用的數(shù)據預處理庫 005
1.5 開發(fā)工具與環(huán)境 006
1.5.1 安裝與使用Jupyter Notebook 006
1.5.2 安裝數(shù)據預處理庫 008
1.6 本章小結 009
1.7 習題 009
第 2章 科學計算庫——NumPy 010
2.1 數(shù)組對象 010
2.2 創(chuàng)建數(shù)組 012
2.3 訪問數(shù)組元素 014
2.3.1 使用整數(shù)索引訪問元素 014
2.3.2 使用花式索引或布爾索引訪問元素 015
2.3.3 使用切片訪問元素 017
2.4 數(shù)組運算 018
2.4.1 形狀相同的數(shù)組間運算 018
2.4.2 形狀不同的數(shù)組間運算 019
2.4.3 數(shù)組與標量的運算 020
2.5 數(shù)組操作 021
2.5.1 排序 021
2.5.2 檢索數(shù)組元素 022
2.5.3 元素唯一化 022
2.6 數(shù)組的轉置 023
2.7 本章小結 025
2.8 習題 025
第3章 pandas庫基礎 028
3.1 數(shù)據結構 028
3.1.1 Series 028
3.1.2 DataFrame 030
3.2 索引操作 032
3.2.1 索引對象 032
3.2.2 使用單層索引訪問數(shù)據 033
3.2.3 使用分層索引訪問數(shù)據 035
3.2.4 重新索引 038
3.3 數(shù)據排序 039
3.3.1 按索引排序 040
3.3.2 按值排序 041
3.4 統(tǒng)計計算與統(tǒng)計描述 042
3.4.1 統(tǒng)計計算 042
3.4.2 統(tǒng)計描述 043
3.5 繪制圖表 044
3.6 本章小結 046
3.7 習題 046
第4章 數(shù)據獲取 048
4.1 從CSV和TXT文件讀取數(shù)據 048
4.2 從Excel文件讀取數(shù)據 050
4.3 從JSON文件讀取數(shù)據 052
4.4 從HTML表格讀取數(shù)據 053
4.5 從數(shù)據庫讀取數(shù)據 054
4.6 從Word文件讀取數(shù)據 056
4.6.1 python-docx庫概述 056
4.6.2 python-docx庫的基本使用 057
4.7 從PDF文件讀取數(shù)據 059
4.7.1 pdfplumber庫概述 059
4.7.2 pdfplumber庫的基本使用 060
4.8 本章小結 061
4.9 習題 062
第5章 數(shù)據清理 064
5.1 數(shù)據清理概述 064
5.2 缺失值的檢測與處理 065
5.2.1 缺失值的檢測 065
5.2.2 缺失值的處理 066
5.3 重復值的檢測與處理 070
5.3.1 重復值的檢測 070
5.3.2 重復值的處理 071
5.4 異常值的檢測與處理 072
5.4.1 異常值的檢測 072
5.4.2 異常值的處理 076
5.5 案例——成都某地區(qū)二手房數(shù)據清理 078
【分析目標】 078
【數(shù)據獲取】 078
【數(shù)據清理】 079
5.6 本章小結 083
5.7 習題 083
第6章 數(shù)據集成、變換與規(guī)約 086
6.1 數(shù)據集成 086
6.1.1 數(shù)據集成概述 086
6.1.2 合并數(shù)據 087
6.2 數(shù)據變換 093
6.2.1 數(shù)據變換概述 093
6.2.2 軸向旋轉 094
6.2.3 分組與聚合 095
6.2.4 啞變量處理 100
6.2.5 面元劃分 102
6.3 數(shù)據規(guī)約 104
6.3.1 數(shù)據規(guī)約概述 104
6.3.2 重塑分層索引 105
6.3.3 降采樣 106
6.4 案例——中國籃球運動員的基本信息分析 108
【分析目標】 108
【數(shù)據獲取】 108
【數(shù)據清理】 109
【實現(xiàn)步驟】 116
6.5 本章小結 119
6.6 習題 119
第7章 數(shù)據清理工具—— OpenRefine 122
7.1 OpenRefine介紹 122
7.2 OpenRefine的下載與安裝 123
7.3 OpenRefine的基本操作 124
7.3.1 基本配置 125
7.3.2 創(chuàng)建項目 126
7.3.3 操作列 127
7.3.4 撤銷與重做 132
7.3.5 導出數(shù)據 133
7.4 OpenRefine的進階操作 135
7.4.1 數(shù)據排序 135
7.4.2 數(shù)據歸類 137
7.4.3 重復檢測 138
7.4.4 數(shù)據填充 141
7.4.5 文本過濾 142
7.4.6 數(shù)據轉換 143
7.5 案例——多倫多市建筑許可數(shù)據 分析 145
【分析目標】 145
【數(shù)據獲取】 145
【數(shù)據清理】 146
【實現(xiàn)步驟】 152
7.6 本章小結 153
7.7 習題 154
第8章 實戰(zhàn)演練——數(shù)據分析師崗位分析 156
8.1 知識精講 156
8.1.1 數(shù)據分析的流程 156
8.1.2 使用pyecharts繪制圖表 157
8.2 分析目標與思路 160
8.3 數(shù)據收集 161
8.4 數(shù)據預處理 163
8.5 數(shù)據分析與展現(xiàn) 166
8.5.1 分析展現(xiàn)數(shù)據分析師崗位的需求趨勢 166
8.5.2 分析展現(xiàn)數(shù)據分析師崗位的熱門城市Top10 167
8.5.3 分析展現(xiàn)不同城市數(shù)據分析師崗位的薪資水平 169
8.5.4 分析展現(xiàn)數(shù)據分析師崗位的學歷要求 171
8.6 本章小結 172