Python數據預處理 Hands-On Data Preprocessing in Python: Learn how to effectively prepare data for successful data analytics
[印]羅伊·賈法里 著 陳凱 譯
- 出版商: 清華大學
- 出版日期: 2023-11-01
- 定價: $954
- 售價: 8.5 折 $811
- 語言: 簡體中文
- 頁數: 496
- 裝訂: 平裝
- ISBN: 7302649073
- ISBN-13: 9787302649076
-
相關分類:
Python、程式語言
- 此書翻譯自: Hands-On Data Preprocessing in Python: Learn how to effectively prepare data for successful data analytics
立即出貨 (庫存 < 4)
買這商品的人也買了...
-
$403數據決策:企業數據的管理、分析與應用
-
$534$507 -
$505標簽類目體系:面向業務的數據資產設計方法論
-
$1,200$948 -
$780$616 -
$714$678 -
$534$507 -
$834$792 -
$888$844
相關主題
商品描述
《Python數據預處理》詳細闡述了與Python數據預處理相關的基本解決方案,主要包括NumPy和Pandas簡介、Matplotlib簡介、數據、數據庫、數據可視化、預測、分類、聚類分析、數據清洗、數據融合與數據集成、數據歸約、數據轉換等內容。此外,本書還提供了相應的示例、代碼,以幫助讀者進一步理解相關方案的實現過程。 本書適合作為高等院校電腦及相關專業的教材和教學參考書,也可作為相關開發人員的自學用書和參考手冊。
目錄大綱
目 錄
第1篇 技 術 基 礎
第1章 NumPy和Pandas簡介 3
1.1 技術要求 3
1.2 Jupyter Notebook概述 4
1.3 通過電腦編程進行數據分析的實質含義 6
1.4 NumPy基本函數概述 6
1.4.1 np.arange()函數 8
1.4.2 np.zeros()和np.ones()函數 8
1.4.3 示例—使用占位符來容納分析 9
1.4.4 np.linspace()函數 10
1.4.5 示例—使用np.linspace()求解 11
1.5 Pandas概述 12
1.6 Pandas數據訪問 15
1.6.1 Pandas DataFrame訪問 15
1.6.2 訪問DataFrame行 15
1.6.3 訪問DataFrame列 16
1.6.4 訪問DataFrame值 17
1.6.5 訪問Pandas Series 17
1.7 切片 18
1.7.1 對NumPy數組進行切片 18
1.7.2 對Pandas DataFrame進行切片 20
1.7.3 切片的實用示例 20
1.8 用於過濾DataFrame的布爾掩碼 22
1.8.1 使用布爾掩碼的分析示例1 23
1.8.2 使用布爾掩碼的分析示例2 24
1.9 用於探索DataFrame的Pandas函數 24
1.9.1 瞭解數據集的結構 25
1.9.2 使用.shape屬性 25
1.9.3 使用.columns屬性 25
1.9.4 使用.info()函數 26
1.9.5 瞭解數據集的值 26
1.9.6 使用.describe()函數 26
1.9.7 用於可視化數值列的直方圖和箱線圖 27
1.9.8 使用.unique()函數 28
1.9.9 使用.value_counts()函數 28
1.9.10 用於可視化數值列的條形圖 29
1.10 應用Pandas函數 29
1.10.1 將函數應用於Series 30
1.10.2 應用函數—分析示例1 30
1.10.3 應用Lambda函數 31
1.10.4 對DataFrame應用函數 31
1.10.5 應用函數—分析示例2 32
1.10.6 Pandas groupby函數 33
1.10.7 使用groupby的分析示例 34
1.10.8 Pandas多級索引 35
1.10.9 使用.unstack()函數 36
1.10.10 使用.stack()函數 38
1.10.11 多級訪問 39
1.10.12 Pandas .pivot()和.melt()函數 40
1.11 小結 43
1.12 練習 43
第2章 Matplotlib簡介 47
2.1 技術要求 47
2.2 在Matplotlib中繪圖 48
2.2.1 使用直方圖或箱線圖可視化數值特徵 48
2.2.2 使用折線圖觀察數據趨勢 49
2.2.3 使用散點圖關聯兩個數值屬性 50
2.3 修改繪圖的可視化效果 51
2.3.1 將標題添加到可視化對象並將標簽添加到軸 52
2.3.2 添加圖例 53
2.3.3 修改刻度 53
2.3.4 修改標記 55
2.4 繪制子圖 56
2.5 調整並保存結果 58
2.5.1 調整大小 58
2.5.2 保存 58
2.6 Matplotilb輔助進行數據預處理的示例 58
2.7 小結 59
2.8 練習 60
第3章 數據 61
3.1 技術要求 61
3.2 數據的定義 61
3.2.1 HLCU的意義 62
3.2.2 DIKW金字塔 63
3.2.3 機器學習和人工智能的DIKW更新 64
3.2.4 數據分析的DIKW更新 65
3.2.5 用於數據分析的數據預處理與用於機器學習的數據預處理 67
3.2.6 大數據的3個V 67
3.2.7 3個V對數據預處理的重要性 68
3.3 最通用的數據結構—表 68
3.3.1 數據對象 69
3.3.2 強調數據對象的重要性 69
3.3.3 數據特性 70
3.4 數據值的類型 70
3.4.1 從分析的角度看數據類型 70
3.4.2 標稱特性 71
3.4.3 序數特性 71
3.4.4 區間標度特性 72
3.4.5 比率標度特性 74
3.4.6 二元特性 74
3.4.7 理解特性類型的重要性 74
3.4.8 從編程的角度看數據類型 75
3.5 信息與模式 75
3.5.1 理解“信息”這個詞的日常用法 76
3.5.2 “信息”一詞的統計用途 76
3.5.3 分類特性的統計信息 77
3.5.4 數字特性的統計信息 77
3.5.5 數據冗餘—呈現相似信息的特性 78
3.5.6 通過相關系數調查數據冗餘情況 78
3.5.7 “模式”一詞的統計意義 79
3.5.8 查找和使用模式的示例 79
3.6 小結 82
3.7 練習 82
3.8 參考資料 85
第4章 數據庫 87
4.1 技術要求 87
4.2 數據庫的定義 87
4.2.1 從數據庫到數據集 87
4.2.2 理解數據庫和數據集之間的區別 88
4.3 數據庫類型 89
4.3.1 數據庫的差異化元素 90
4.3.2 數據結構化水平 90
4.3.3 存儲位置 92
4.3.4 權限 92
4.3.5 關系數據庫 92
4.3.6 非結構化數據庫 92
4.3.7 一個需要結合結構化和非結構化數據庫的實際示例 93
4.3.8 分佈式數據庫 93
4.3.9 區塊鏈 94
4.4 連接到數據庫並從中提取數據 94
4.4.1 直接連接 95
4.4.2 網頁連接 96
4.4.3 API連接 97
4.4.4 使用API連接和提取數據的示例 97
4.4.5 後續處理 99
4.4.6 綜合操作 100
4.4.7 請求連接 101
4.4.8 公開共享 101
4.5 小結 101
4.6 練習 102
第2篇 分 析 目 標
第5章 數據可視化 107
5.1 技術要求 107
5.2 總結數據的總體 107
5.2.1 總結數值特性的示例 108
5.2.2 總結分類特性的示例 109
5.3 比較數據的總體 111
5.3.1 使用箱線圖比較總體的示例 111
5.3.2 使用直方圖比較總體的示例 112
5.3.3 使用條形圖比較總體的示例 114
5.3.4 解決問題的第一種方法 114
5.3.5 解決問題的第二種方法 115
5.3.6 解決問題的第三種方法 115
5.3.7 解決問題的第四種方法 116
5.3.8 解決問題的第五種方法 117
5.3.9 解決問題的第六種方法 117
5.4 研究兩個特性之間的關系 118
5.4.1 可視化兩個數值特性之間的關系 118
5.4.2 使用散點圖研究數值特性之間關系的示例 118
5.4.3 可視化兩個分類特性之間的關系 120
5.4.4 使用列聯表檢查兩個二元分類特性之間關系的示例 121
5.4.5 使用列聯表檢查兩個非二元分類特性之間關系的示例 122
5.4.6 可視化數值特性和分類特性之間的關系 123
5.4.7 檢查分類特性和數值特性之間關系的示例 123
5.4.8 檢查分類特性和數值特性之間關系的另一個示例 125
5.5 添加可視化維度 127
5.5.1 五維散點圖示例 127
5.5.2 第四個維度 130
5.5.3 第五個維度 131
5.6 顯示和比較趨勢 133
5.6.1 時間序列數據和折線圖 133
5.6.2 可視化和比較趨勢的示例 134
5.7 小結 136
5.8 練習 137
第6章 預測 141
6.1 技術要求 141
6.2 預測模型 141
6.2.1 Forecast 142
6.2.2 使用Forecast來預測未來的示例 142
6.2.3 回歸分析 143
6.2.4 設計回歸分析以預測未來值的示例 144
6.3 線性回歸 145
6.3.1 應用線性回歸方法的示例 145
6.3.2 使用經過訓練的回歸公式進行預測 148
6.4 MLP 150
6.4.1 MLP的工作原理 151
6.4.2 反向傳播 152
6.4.3 應用MLP進行回歸分析的示例 152
6.4.4 MLP每次運行都會獲得不同的預測結果 153
6.4.5 MLP算法無法收斂 153
6.5 小結 154
6.6 練習 154
第7章 分類 157
7.1 技術要求 157
7.2 分類模型 157
7.2.1 分類模型的設計示例 158
7.2.2 分類算法 159
7.3 KNN 159
7.3.1 使用KNN進行分類的示例 159
7.3.2 數據歸一化 161
7.3.3 應用KNN算法 163
7.4 決策樹 165
7.4.1 使用決策樹進行分類的示例 165
7.4.2 預測結果比較 166
7.5 小結 167
7.6 練習 167
第8章 聚類分析 171
8.1 技術要求 171
8.2 聚類模型 171
8.2.1 使用二維數據集的聚類示例 172
8.2.2 使用三維數據集的聚類示例 175
8.3 k-means算法 176
8.3.1 使用k-means對二維數據集進行聚類 178
8.3.2 使用k-means對多於二維的數據集進行聚類 182
8.3.3 質心分析 183
8.4 小結 185
8.5 練習 185
第3篇 預 處 理
第9章 數據清洗1級—清洗表 189
9.1 技術要求 189
9.2 數據清洗的工具和目標 189
9.2.1 數據分析目標 190
9.2.2 數據分析工具 190
9.3 數據清洗級別 190
9.3.1 數據清洗1級—清洗表 191
9.3.2 數據清洗2級—重組和重製表 191
9.3.3 數據清洗3級—評估和糾正值 191
9.3.4 將分析的目標和工具映射到數據清洗級別 191
9.4 數據清洗1級—清洗表的示例 193
9.4.1 示例1—不明智的數據收集 193
9.4.2 示例2—重新索引 196
9.4.3 示例3—直觀但很長的列標題 198
9.5 小結 200
9.6 練習 200
第10章 數據清洗2級—解包、重組和重製表 203
10.1 技術要求 203
10.2 示例1—解包數據並重新構建表 203
10.2.1 解包FileName 204
10.2.2 解包Content 207
10.2.3 重制一個新表以進行可視化 208
10.2.4 可視化繪圖 211
10.3 示例2—重組表 211
10.4 示例3—執行1級和2級數據清洗 214
10.4.1 執行1級清洗 216
10.4.2 執行2級清洗 217
10.4.3 填充DA 218
10.4.4 填充IA1 219
10.4.5 填充IA2 220
10.4.6 填充IA3 222
10.4.7 進行分析—使用線性回歸創建預測模型 223
10.5 小結 224
10.6 練習 224
第11章 數據清洗3級—處理缺失值、異常值和誤差 227
11.1 技術要求 227
11.2 缺失值 228
11.2.1 檢測缺失值 229
11.2.2 檢測缺失值的示例 229
11.2.3 缺失值的原因 231
11.2.4 缺失值的類型 232
11.2.5 缺失值的診斷 232
11.2.6 診斷NO2_LOCATION_A中的缺失值 233
11.2.7 根據溫度診斷缺失值 233
11.2.8 根據所有數值特性診斷缺失值 236
11.2.9 根據周工作日診斷缺失值 237
11.2.10 根據所有分類特性診斷缺失值 240
11.2.11 診斷NO2_LOCATION_B中的缺失值 241
11.2.12 診斷NO2_LOCATION_C中的缺失值 244
11.3 處理缺失值 246
11.3.1 第一種方法—保持缺失值不變 246
11.3.2 第二種方法—刪除具有缺失值的數據對象 247
11.3.3 第三種方法—刪除具有缺失值的特性 247
11.3.4 第四種方法—估計和填補缺失值 248
11.3.5 選擇正確的方法處理缺失值 248
11.3.6 處理缺失值示例1 250
11.3.7 處理缺失值示例2 251
11.3.8 處理缺失值示例3 252
11.3.9 處理缺失值示例4 253
11.3.10 處理缺失值示例5 254
11.4 異常值 258
11.4.1 檢測異常值 258
11.4.2 單變量異常值檢測 258
11.4.3 單個數值特性異常值檢測示例 259
11.4.4 單個分類特性異常值檢測示例 262
11.4.5 雙變量異常值檢測 262
11.4.6 跨越兩個數值特性檢測異常值的示例 262
11.4.7 跨越兩個分類特性檢測異常值的示例 263
11.4.8 跨越數值-分類兩個特性檢測異常值的示例 264
11.4.9 多變量異常值檢測 266
11.4.10 使用聚類分析跨越4個特性檢測異常值的示例 266
11.4.11 時間序列異常值檢測 267
11.5 處理異常值 268
11.5.1 第一種方法—保持原樣 268
11.5.2 第二種方法—替換為上限或下限 269
11.5.3 第三種方法—執行對數變換 269
11.5.4 第四種方法—刪除具有異常值的數據對象 270
11.5.5 選擇處理異常值的恰當方法 270
11.5.6 處理異常值示例1 270
11.5.7 處理異常值示例2 272
11.5.8 處理異常值示例3 273
11.5.9 處理異常值示例4 281
11.5.10 處理異常值示例5 282
11.6 誤差 286
11.6.1 誤差類型 286
11.6.2 處理誤差 287
11.6.3 檢測系統誤差 287
11.6.4 系統誤差和正確異常值的示例 287
11.7 小結 291
11.8 練習 291
第12章 數據融合與數據集成 297
12.1 技術要求 297
12.2 關於數據融合和數據集成 297
12.2.1 數據融合與集成 298
12.2.2 數據集成示例 299
12.2.3 數據融合示例 299
12.2.4 數據集成方向 300
12.2.5 通過添加特性進行數據集成的示例 301
12.2.6 通過添加數據對象進行數據集成的示例 301
12.3 數據融合和集成方面的常見挑戰 301
12.3.1 挑戰1—實體識別 302
12.3.2 挑戰2—不明智的數據收集 302
12.3.3 挑戰3—索引格式不匹配 302
12.3.4 挑戰4—聚合不匹配 304
12.3.5 挑戰5—重復數據對象 304
12.3.6 挑戰6—數據冗餘 305
12.4 數據集成示例1(挑戰3和4) 306
12.5 數據集成示例2(挑戰2和3) 309
12.6 數據集成示例3(挑戰1、3、5和6) 314
12.6.1 檢查重復的數據對象 315
12.6.2 檢查billboard_df中的重復項 315
12.6.3 檢查songattributes_df中的重復項 316
12.6.4 檢查artist_df中的重復項 318
12.6.5 設計數據集成結果的結構 319
12.6.6 從billboard_df填充songIntegrate_df 322
12.6.7 從songAttribute_df填充songIntegrate_df 324
12.6.8 從artist_df填充songIntegrate_df 328
12.6.9 檢查數據冗餘 331
12.6.10 檢查數值特性之間的數據冗餘 331
12.6.11 檢查數值和分類特性之間的數據冗餘 332
12.6.12 分析 333
12.6.13 通過數據可視化方法尋找熱門歌曲的單變量模式 334
12.6.14 通過決策樹方法尋找熱門歌曲的多變量模式 335
12.6.15 示例總結 336
12.7 小結 337
12.8 練習 337
第13章 數據歸約 341
13.1 技術要求 341
13.2 數據歸約和數據冗餘之間的區別 341
13.3 數據歸約的目標 342
13.4 數據歸約的類型 343
13.5 執行數量上的數據歸約 344
13.5.1 隨機抽樣 344
13.5.2 示例—隨機抽樣以加快調優速度 344
13.5.3 分層抽樣 348
13.5.4 示例—不平衡數據集的分層抽樣 349
13.5.5 隨機過抽樣/欠抽樣 350
13.6 執行維度上的數據歸約 353
13.6.1 線性回歸降維方法 354
13.6.2 示例—使用線性回歸的降維 354
13.6.3 決策樹降維方法 358
13.6.4 隨機森林降維方法 359
13.6.5 示例—使用隨機森林進行降維 359
13.6.6 暴力計算降維 360
13.6.7 示例—為分類算法尋找自變量特性的最佳子集 361
13.6.8 主成分分析 364
13.6.9 示例—玩具數據集 364
13.6.10 示例—非參數降維 367
13.6.11 函數型數據分析 374
13.6.12 示例—參數化降維 375
13.6.13 用於FDA的函數 381
13.6.14 指數函數 382
13.6.15 傅里葉函數 383
13.6.16 正弦函數 384
13.6.17 高斯函數 385
13.6.18 關於FDA的說明 388
13.7 小結 388
13.8 練習 389
第14章 數據轉換 393
14.1 技術要求 393
14.2 數據轉換和按摩的原因 393
14.2.1 數據轉換的意義 394
14.2.2 數據轉換與數據按摩的區別 394
14.3 歸一化和標準化 395
14.4 二進制編碼、排序轉換和離散化 397
14.4.1 示例1—標稱特性的二進制編碼 399
14.4.2 示例2—序數特性的二進制編碼或排序轉換 402
14.4.3 示例3—數值特性的離散化 404
14.4.4 瞭解離散化的類型 406
14.4.5 離散化—分界點的數量 408
14.4.6 數值和分類的來回轉換 408
14.5 特性構造 409
14.5.1 瞭解與特性相關的背景知識 409
14.5.2 示例—從兩個特性構造一個轉換後的特性 409
14.6 特徵提取 412
14.6.1 示例1—從一個特性中提取出3個特性 412
14.6.2 示例2—形態特徵提取 413
14.6.3 前幾章的特徵提取示例 414
14.6.4 數據清洗和特徵提取示例 415
14.6.5 數據歸約和特徵提取的示例 415
14.7 對數轉換 416
14.7.1 手動轉換 417
14.7.2 通過模塊轉換 418
14.8 平滑、聚合和分箱 419
14.8.1 平滑 420
14.8.2 函數型數據平滑 421
14.8.3 滾動數據平滑 422
14.8.4 聚合 425
14.8.5 分箱 426
14.9 小結 428
14.10 練習 429
第4篇 案 例 研 究
第15章 案例研究1—科技公司中員工的心理健康問題 435
15.1 技術要求 435
15.2 科技公司中員工的心理健康問題案例研究簡介 435
15.2.1 分析結果的受眾 436
15.2.2 數據來源介紹 437
15.3 集成數據源 438
15.4 清洗數據 440
15.4.1 檢測和處理異常值和誤差 442
15.4.2 檢測和處理缺失值 444
15.4.3 從SupportQ1到AttitudeQ3特性的常見缺失值 445
15.4.4 Mental Illness特性中的缺失值 445
15.4.5 Age特性中的缺失值 445
15.5 分析數據 445
15.5.1 分析問題1—員工心理健康在性別特性上是否存在顯著差異 446
15.5.2 分析問題2—員工的心理健康在不同年齡特性之間是否存在
??顯著差異 447
15.5.3 分析問題3—對員工心理健康問題提供更多支持的公司是否擁有
??心理更健康的員工 449
15.5.4 分析問題4—個人對心理健康的態度是否會影響他們的心理健康
??和尋求治療 452
15.6 小結 454
第16章 案例研究2—新冠肺炎疫情住院病例預測 455
16.1 技術要求 455
16.2 本章案例研究簡介 455
16.3 數據來源簡介 457
16.4 預處理數據 458
16.4.1 設計數據集以支持預測 458
16.4.2 填充占位符數據集 460
16.4.3 有監督的降維 462
16.5 分析數據 464
16.6 小結 467
第17章 案例研究3—美國各地區聚類分析 469
17.1 技術要求 469
17.2 本章案例研究介紹 469
17.3 數據來源介紹 471
17.4 預處理數據 472
17.4.1 將election_df轉換為partisan_df 473
17.4.2 構造partisanism特性 473
17.4.3 通過FDA計算partisanism的均值和斜率 474
17.4.4 清洗edu_df、employ_df、pop_df和pov_df 475
17.4.5 數據集成 475
17.4.6 數據清洗3級—處理缺失值、異常值和誤差 476
17.4.7 檢查數據冗餘 476
17.5 分析數據 479
17.5.1 使用PCA可視化數據集 479
17.5.2 執行k-means聚類分析 480
17.6 小結 482
第18章 總結、實際案例研究和結論 483
18.1 本書內容總結 483
18.1.1 第1篇—技術基礎 483
18.1.2 第2篇—分析目標 483
18.1.3 第3篇—預處理 484
18.1.4 第4篇—案例研究 484
18.2 實際案例研究 485
18.2.1 谷歌新冠肺炎疫情移動數據集 485
18.2.2 美國警察殺人事件 486
18.2.3 美國交通事故 487
18.2.4 舊金山的犯罪數據 488
18.2.5 數據分析就業市場 489
18.2.6 FIFA 2018最佳球員 489
18.2.7 籃球熱手 490
18.2.8 加利福尼亞州的野火 491
18.2.9 硅谷多元化概況 492
18.2.10 識別虛假招聘信息 492
18.2.11 尋找更多實際案例研究 493
18.3 結論 493
18.3.1 數據可視化和講故事 494
18.3.2 算法分析 494
18.3.3 技術應用 495
18.3.4 數學研究 496
·XVI·
Python數據預處理
·XVII·
目 錄