本書的設計和編寫目標是培養(yǎng)讀者的數據思維能力和數據預處理能力,內容具有典型性和實用性,全面介紹基于Python的數據預處理的流程和技術。
全書共8個單元,單元1介紹數據預處理的基礎知識,單元2介紹Python數據預處理的庫pandas的用法及主要數據對象的用法,單元3~單元7依次介紹數據預處理流程中數據獲取、數據合并、數據清洗、數據變換和數據描述等相關知識和技術。
為突出培養(yǎng)讀者的動手能力,本書單元2~單元7都配套了任務實踐和拓展實訓,除單元8,每個單元還配套了課后習題。單元8為綜合案例,通過網易云音樂相關數據集展示數據預處理的完整流程,幫助讀者綜合掌握全書相關知識和技術。
本書適合作為高等教育本、專科院校大數據技術和人工智能技術應用等相關專業(yè)的教材,也可作為數據分析培訓班和“1+X”數據處理相關職業(yè)技能等級證書的教材。
1.Python技術應用系列教材,難度適當,易學好教;
2.配套教學PPT、教學視頻、源代碼、教案、課后習題及答案等豐富資源。
3.本書旨在幫助讀者了解數據預處理的重要性,掌握數據預處理的基本流程,掌握pandas完成數據預處理的基礎知識和技術,熟悉Jupyter Lab工具的使用,并通過一個完整的項目案例帶領讀者掌握對數據預處理的綜合運用,為下一步學習奠定基礎。
汪靜,中山大學計算機軟件與理論專業(yè)博士,計算機軟件副教授,廣東省南粵優(yōu)秀教師,計算機學會會員,大數據分析師(高級),人工智能算法工程師(高級)。從事高等教育教學工作16年,現任廣東開放大學(廣東理工職業(yè)學院)人工智能技術服務專業(yè)負責人。主持和參加各級教科研項目10多項,發(fā)表高水平論文共20多篇,擁有軟件著作權2項,專利3項。研究領域包括數據分析,個性化推薦等。
目錄 CONTENTS
單元1 數據預處理基礎 1
1.1 數據預處理簡介 1
1.1.1 數據與數據預處理 1
1.1.2 數據預處理的重要性 2
1.1.3 數據預處理的過程 2
1.2 搭建Python開發(fā)環(huán)境 3
1.2.1 Python概述 3
1.2.2 安裝Anaconda 5
1.2.3 創(chuàng)建Python虛擬環(huán)境 9
1.2.4 認識JupyterLab 10
1.2.5 輸出“Hello World!” 12
1.3 總結 13
課后習題 13
單元2 pandas入門 15
2.1 pandas概述 15
2.2 pandas的安裝和導入 16
2.3 Series對象 17
2.3.1 Series對象的特點 17
2.3.2 Series對象的創(chuàng)建 17
2.3.3 Series對象的索引 21
2.3.4 Series對象的操作 22
任務實踐2-1:小明成績表的操作 27
2.4 DataFrame對象 30
2.4.1 DataFrame對象的特點 30
2.4.2 DataFrame對象的創(chuàng)建 30
2.4.3 DataFrame對象的索引 35
2.4.4 DataFrame對象的操作 37
任務實踐2-2:小明宿舍所有同學成績表的操作 51
2.5 總結 54
拓展實訓:處理網上招聘數據 55
課后習題 55
單元3 數據獲取 57
3.1 數據爬取 57
3.1.1 網絡爬蟲原理概述 57
3.1.2 簡易網絡爬蟲示例 61
3.2 數據讀寫 64
3.2.1 讀寫XLS文件或XLSX文件 64
3.2.2 讀寫CSV文件 67
3.2.3 讀寫TXT文件 69
3.2.4 讀寫JSON文件 71
3.2.5 讀寫MySQL數據 73
任務實踐3:讀寫商品類別文件 75
3.3 總結 76
拓展實訓:讀寫廣州市郵政編碼數據 77
課后習題 77
單元4 數據合并 79
4.1 堆疊合并數據 79
4.1.1 橫向堆疊合并 80
4.1.2 縱向堆疊合并 81
4.1.3 交叉堆疊合并 83
任務實踐4-1:合并商品銷售數據 84
4.2 主鍵合并數據 86
4.2.1 左連接 87
4.2.2 右連接 88
4.2.3 內連接 89
4.2.4 外連接 90
任務實踐4-2:合并成績表 91
4.3 重疊合并數據 94
任務實踐4-3:修補統(tǒng)計數據 95
4.4 總結 96
拓展實訓:合并網易云音樂愛國歌曲數據 97
課后習題 98
單元5 數據清洗 100
5.1 缺失值處理 100
5.1.1 查看缺失值 100
5.1.2 處理缺失值 101
任務實踐5-1:網上招聘數據缺失值處理 105
5.2 重復值處理 106
5.2.1 查看重復值 106
5.2.2 處理重復值 108
任務實踐5-2:網上招聘數據重復值處理 109
5.3 異常值處理 110
5.3.1 檢測異常值 110
5.3.2 處理異常值 113
任務實踐5-3:網上招聘數據異常值處理 114
5.4 格式不一致數據處理 116
5.4.1 姓名格式不一致的處理 116
5.4.2 日期格式不一致的處理 117
任務實踐5-4:網上招聘數據中不一致數據的處理 119
5.5 總結 121
拓展實訓:清洗超市銷售數據 121
課后習題 122
單元6 數據變換 123
6.1 數據類型變換 123
6.1.1 用astype()方法進行強制類型變換 123
6.1.2 用to_numeric()方法將數據的類型變換為數值類型 126
任務實踐6-1:電影數據類型變換 127
6.2 數據格式變換 129
6.2.1 設置小數位數 129
6.2.2 設置百分比 130
6.2.3 設置千位分隔符 131
任務實踐6-2:銷售數據格式變換 132
6.3 數據映射 133
6.3.1 用映射替換數據 134
6.3.2 用映射變換數據 136
任務實踐6-3:分數變換為等級 138
6.4 總結 139
拓展實訓:天氣數據變換 139
課后習題 140
單元7 數據描述 142
7.1 數據的統(tǒng)計計算 142
7.1.1 統(tǒng)計數據的和 142
7.1.2 統(tǒng)計數據的均值 144
7.1.3 統(tǒng)計數據的最大值/最小值 145
7.1.4 統(tǒng)計數據的中位數 146
7.1.5 統(tǒng)計數據的眾數 147
7.1.6 統(tǒng)計數據的方差和標準差 148
7.1.7 統(tǒng)計數據的分位數 149
任務實踐7-1:成績表數據的統(tǒng)計計算 150
7.2 數據的分組和聚合 152
7.2.1 數據的分組 152
7.2.2 數據的聚合 153
任務實踐7-2:學生成績數據的分組與聚合 155
7.3 數據的可視化 156
7.3.1 繪制折線圖 158
7.3.2 繪制條形圖 159
7.3.3 繪制餅圖 161
任務實踐7-3:學生期末考試成績的可視化 163
7.4 總結 166
拓展實訓:用戶職業(yè)數據描述 166
課后習題 167
單元8 綜合案例:網易云音樂數據預處理 169
8.1 數據讀取 170
8.2 數據合并 171
8.3 數據清洗 172
8.4 數據變換 174
8.5 數據描述 175
8.6 總結 180