Python高手修煉之道 數(shù)據(jù)處理與機器學習實戰(zhàn)
定 價:79 元
- 作者:許向武
- 出版時間:2020/11/1
- ISBN:9787115548061
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.561
- 頁碼:375
- 紙張:
- 版次:01
- 開本:16開
本書系統(tǒng)介紹了如何入門Python并利用Python進行數(shù)據(jù)處理與機器學習實戰(zhàn)。本書從Python的基礎安裝開始介紹,系統(tǒng)梳理了Python的入門語法知識,歸納介紹了圖像處理、數(shù)據(jù)文件讀寫、數(shù)據(jù)庫操作等Python基本技能;然后詳細講解了NumPy、Matplotlib、Pandas、Scipy、Scikit-learn等在數(shù)據(jù)處理、機器學習領域的應用。代碼實例涵蓋網(wǎng)絡爬蟲、數(shù)據(jù)處理、視覺識別、機器學習等應用領域。作者還精心創(chuàng)作了語感訓練100題、Python內置函數(shù)(類)手冊、從新手到高手的100個模塊等內容,以幫助讀者更好地學習并掌握Python這一工具。
構建從Python入門到數(shù)據(jù)分析到機器學習的路線圖,入門有章可循;
1.講解獨到,常見盲點趣解析
作者基于多年的經(jīng)驗積累,善于總結概括初學Python過程中的誤區(qū)。
2.內容全面,常用工具全涵蓋
書中介紹的Python工具包覆蓋Numpy、Matplotlib、Pandas、SciPy、Scikit-Learn,方便讀者拓展實用技能、掌握工作利器。
3.拓展訓練,重點知識有強化
語感訓練100題、Python內置函數(shù)(類)手冊、從新手到高手的100個模塊,強化知識點的掌握。
4.代碼完整,隨時動手可復現(xiàn)
本書提供了完整、可驗證的代碼,方便讀者動手練習并強化理解。
許向武,CSDN博客專家,2019 年度CSDN博客之星,個人主頁訪問量超百萬,資深程序員,使用Python 語言編程超過10年,長期從事數(shù)據(jù)處理工作,服務于多家科研機構和科研項目,曾參與過子午工程、風云系列氣象衛(wèi)星、空間探測衛(wèi)星等多個項目的數(shù)據(jù)處理,任山東遠思信息科技有限公司CEO。
前言 1
本書面向的讀者對象 3
代碼和命令的排版約定 3
閱讀和學習的方法 4
資源下載與技術交流 4
致謝 5
第 1章 零基礎必讀 1
1.1 安裝Python 1
1.1.1 Python的各種發(fā)行版 1
1.1.2 安裝與運行 2
1.1.3 重新安裝 4
1.2 以交互方式運行Python代碼 4
1.2.1 使用Python IDLE交互操作 4
1.2.2 使用IPython交互操作 5
1.3 以腳本方式運行Python程序 6
1.3.1 運行 6
1.3.2 調試 7
1.4 使用pip安裝和管理模塊 7
1.4.1 使用pip的兩種方式 7
1.4.2 安裝模塊 8
1.4.3 卸載模塊 9
1.4.4 查看模塊列表和模塊信息 9
第 2章 Python入門 11
2.1 基礎語法 11
2.1.1 一條絕對原則——縮進 11
2.1.2 兩個頂級定義——函數(shù)和類 12
2.1.3 三種語句結構——順序、分支和循環(huán) 14
2.1.4 四種數(shù)據(jù)類型——整型、浮點型、布爾型、字符串 16
2.1.5 五大內置類——列表、字典、元組、集合、字符串 18
2.1.6 十組最常用的內置函數(shù) 22
2.2 進階語法 30
2.2.1 函數(shù)的參數(shù) 30
2.2.2 異常捕獲與處理 32
2.2.3 三元表達式 34
2.2.4 列表推導式 34
2.2.5 斷言 35
2.2.6 with-as 36
2.2.7 lambda函數(shù) 36
2.2.8 迭代器和生成器 37
2.2.9 裝飾器 38
2.2.10 閉包 39
2.3 面向對象編程 40
2.3.1 類和對象 40
2.3.2 類的成員 41
2.3.3 靜態(tài)變量和實例變量 42
2.3.4 面向對象三要素 43
2.3.5 抽象類 46
2.3.6 單實例模式 47
2.4 編碼規(guī)范 47
2.4.1 編碼格式聲明 49
2.4.2 文檔字符串 49
2.4.3 導入模塊 50
2.4.4 常量和全局變量定義 50
2.4.5 當前腳本代碼執(zhí)行 50
2.4.6 命名規(guī)范 51
2.4.7 縮進 51
2.4.8 注釋 51
2.4.9 引號 52
2.4.10 空行和空格 52
2.5 語感訓練100題 53
第3章 Python基本技能 74
3.1 時間和日期處理 74
3.1.1 time模塊 74
3.1.2 datetime模塊 77
3.2 圖像處理 79
3.2.1 PIL和pillow模塊 79
3.2.2 PyOpenCV模塊 85
3.3 數(shù)據(jù)文件讀寫 87
3.3.1 讀寫Excel文件 88
3.3.2 讀寫CSV文件 91
3.3.3 讀寫hdf文件 92
3.3.4 讀寫netCDF文件 93
3.4 數(shù)據(jù)庫操作 95
3.4.1 使用SQLite數(shù)據(jù)庫 95
3.4.2 使用MySQL數(shù)據(jù)庫 98
3.4.3 使用MongoDB數(shù)據(jù)庫 99
3.5 數(shù)據(jù)抓取 101
3.5.1 urllib模塊 101
3.5.2 requests模塊 103
3.6 數(shù)據(jù)解析 106
3.6.1 使用Beautifulsoup解析html/xml數(shù)據(jù) 106
3.6.2 使用正則表達式解析文本數(shù)據(jù) 111
3.7 系統(tǒng)相關操作 115
3.7.1 os模塊 115
3.7.2 sys模塊 118
3.8 線程技術 120
3.8.1 戲說線程和進程 120
3.8.2 創(chuàng)建、啟動和管理線程 121
3.8.3 線程同步 123
3.8.4 線程池 129
3.9 進程技術 130
3.9.1 再論線程和進程 130
3.9.2 創(chuàng)建、啟動和管理進程 131
3.9.3 進程間通信 133
3.9.4 進程池 142
3.9.5 MapReduce模型 143
3.10 源碼打包 144
3.10.1 打包成可執(zhí)行文件 144
3.10.2 打包成模塊安裝文件 146
第4章 科學計算基礎軟件包NumPy 149
4.1 NumPy概覽 149
4.1.1 安裝和導入 150
4.1.2 列表VS數(shù)組 150
4.1.3 數(shù)組的數(shù)據(jù)類型 151
4.1.4 數(shù)組的屬性 152
4.1.5 數(shù)組的方法 153
4.1.6 維、秩、軸 153
4.1.7 廣播和矢量化 155
4.2 創(chuàng)建數(shù)組 156
4.2.1 蠻力構造法 156
4.2.2 特殊數(shù)值法 157
4.2.3 隨機數(shù)值法 158
4.2.4 定長分割法 160
4.2.5 重復構造法 161
4.2.6 網(wǎng)格構造法 162
4.2.7 自定義數(shù)據(jù)類型 163
4.3 操作數(shù)組 164
4.3.1 索引和切片 164
4.3.2 改變結構 166
4.3.3 合并 168
4.3.4 拆分 169
4.3.5 復制 169
4.3.6 排序 170
4.3.7 查找 171
4.3.8 篩選 172
4.3.9 數(shù)組I/O 174
4.4 常用函數(shù) 176
4.4.1 常量 176
4.4.2 命名空間 177
4.4.3 數(shù)學函數(shù) 178
4.4.4 統(tǒng)計函數(shù) 181
4.4.5 插值函數(shù) 183
4.4.6 多項式擬合函數(shù) 184
4.4.7 自定義廣播函數(shù) 186
4.5 掩碼數(shù)組 187
4.5.1 創(chuàng)建掩碼數(shù)組 188
4.5.2 訪問掩碼數(shù)組 190
4.6 矩陣對象 193
4.6.1 創(chuàng)建矩陣 193
4.6.2 矩陣特有屬性 194
4.6.3 矩陣乘法 195
4.7 隨機抽樣子模塊 197
4.7.1 隨機數(shù) 197
4.7.2 隨機抽樣 198
4.7.3 正態(tài)分布 198
4.7.4 偽隨機數(shù)的深度思考 199
第5章 應用最廣泛的繪圖庫Matplotlib 201
5.1 快速入門 201
5.1.1 畫布 202
5.1.2 子圖與子圖布局 202
5.1.3 坐標軸與刻度和名稱 204
5.1.4 圖例和文本標注 205
5.1.5 顯示和保存 206
5.1.6 兩種使用風格 207
5.2 豐富多樣的圖形 209
5.2.1 曲線圖 210
5.2.2 散點圖 212
5.2.3 等值線圖 213
5.2.4 矢量合成圖 214
5.2.5 直方圖 216
5.2.6 餅圖 217
5.2.7 箱線圖 218
5.2.8 繪制圖像 219
5.2.9 極坐標繪圖 221
5.3 風格和樣式 222
5.3.1 畫布設置 222
5.3.2 子圖布局 223
5.3.3 顏色 224
5.3.4 線條和點的樣式 225
5.3.5 坐標軸 227
5.3.6 刻度 230
5.3.7 文本 234
5.3.8 圖例 236
5.3.9 網(wǎng)格設置 237
5.4 Matplotlib擴展 237
5.4.1 使用Basemap繪制地圖 237
5.4.2 3D繪圖工具包 238
第6章 結構化數(shù)據(jù)分析工具Pandas 241
6.1 Pandas概覽 241
6.1.1 安裝和使用 241
6.1.2 Pandas的特點 242
6.2 Pandas的數(shù)據(jù)結構 243
6.2.1 索引數(shù)組Index 243
6.2.2 帶標簽的一維同構數(shù)組Series 244
6.2.3 帶標簽的二維異構表格DataFrame 245
6.3 基本操作 248
6.3.1 數(shù)據(jù)預覽 248
6.3.2 數(shù)據(jù)選擇 250
6.3.3 改變數(shù)據(jù)結構 252
6.3.4 改變數(shù)據(jù)類型 254
6.3.5 廣播與矢量化運算 254
6.3.6 行列級廣播函數(shù) 256
6.4 高級應用 257
6.4.1 分組 257
6.4.2 聚合 259
6.4.3 層次化索引 261
6.4.4 表級廣播函數(shù) 264
6.4.5 日期時間索引對象 265
6.4.6 數(shù)據(jù)可視化 266
6.4.7 數(shù)據(jù)I/O 269
6.5 Pandas擴展 272
6.5.1 統(tǒng)計擴展模塊Statsmodels 272
6.5.2 可視化擴展Seaborn 275
第7章 科學計算工具包SciPy 277
7.1 SciPy概覽 277
7.1.1 SciPy的組成 277
7.1.2 安裝和導入 278
7.2 數(shù)據(jù)插值 279
7.2.1 一維插值 279
7.2.2 二維插值 281
7.2.3 離散數(shù)據(jù)插值到網(wǎng)格 283
7.3 曲線擬合 286
7.3.1 最小二乘法擬合 286
7.3.2 使用curve_fit函數(shù)擬合 288
7.3.3 多項式擬合 290
7.4 傅里葉變換 292
7.4.1 時域-頻域的轉換 292
7.4.2 一維傅里葉變換的應用 296
7.4.3 二維傅里葉變換的應用 297
7.5 圖像處理 299
7.5.1 圖像卷積 300
7.5.2 邊緣檢測 301
7.5.3 侵蝕和膨脹 303
7.5.4 圖像測量 305
7.6 積分 306
7.6.1 對給定函數(shù)的定積分 306
7.6.2 對給定樣本的定積分 307
7.6.3 二重定積分 307
7.7 非線性方程求根 308
7.7.1 非線性方程 308
7.7.2 非線性方程組 309
7.8 線性代數(shù) 309
7.8.1 計算矩陣的行列式 310
7.8.2 求解逆矩陣 310
7.8.3 計算特征向量和特征值 311
7.8.4 矩陣的奇異值分解 311
7.8.5 求解線性方程組 312
7.9 聚類 313
7.9.1 K均值聚類 313
7.9.2 層次聚類 315
7.10 空間計算 316
7.10.1 空間旋轉的表述 317
7.10.2 三維旋轉 318
第8章 機器學習工具包Scikit-learn 321
8.1 Scikit-learn概覽 321
8.1.1 Scikit-learn的子模塊 321
8.1.2 安裝和導入 323
8.2 數(shù)據(jù)集 323
8.2.1 Scikit-learn自帶的數(shù)據(jù)集 323
8.2.2 樣本生成器 326
8.2.3 加載其他數(shù)據(jù)集 327
8.3 數(shù)據(jù)預處理 328
8.3.1 標準化 328
8.3.2 歸一化 330
8.3.3 正則化 330
8.3.4 離散化 331
8.3.5 特征編碼 332
8.3.6 缺失值補全 333
8.4 分類 334
8.4.1 k-近鄰分類 334
8.4.2 貝葉斯分類 335
8.4.3 決策樹分類 338
8.4.4 隨機森林分類 340
8.4.5 支持向量機分類 342
8.5 回歸 343
8.5.1 線性回歸 343
8.5.2 支持向量機回歸 346
8.5.3 k-近鄰回歸 350
8.5.4 決策樹回歸 352
8.5.5 隨機森林回歸 354
8.6 聚類 356
8.6.1 k均值聚類 356
8.6.2 均值漂移聚類 357
8.6.3 基于密度的空間聚類 359
8.6.4 譜聚類 361
8.6.5 層次聚類 363
8.7 成分分解與降維 365
8.7.1 主成分分析 366
8.7.2 因子分析 368
8.7.3 截斷奇異值分解 369
8.7.4 獨立成分分析(ICA) 370
8.8 模型評估與優(yōu)化 372
8.8.1 估計器得分 373
8.8.2 交叉驗證 374
8.8.3 評價指標 376
8.8.4 參數(shù)優(yōu)化 378
8.8.5 模型持久化 380
附錄A:Python內置函數(shù)(類)手冊 382
附錄B:從新手到高手的100個模塊 405