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