定 價:¥79.00
作 者: | 許向武 著 |
出版社: | 人民郵電出版社 |
叢編項: | |
標(biāo) 簽: | 暫缺 |
ISBN: | 9787115548061 | 出版時間: | 2020-11-01 | 包裝: | 平裝 |
開本: | 16開 | 頁數(shù): | 392 | 字?jǐn)?shù): |
前言 1
本書面向的讀者對象 3
代碼和命令的排版約定 3
閱讀和學(xué)習(xí)的方法 4
資源下載與技術(shù)交流 4
致謝 5
第 1章零基礎(chǔ)必讀 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 使用PythonIDLE交互操作 4
1.2.2 使用IPython交互操作 5
1.3 以腳本方式運行Python程序 6
1.3.1 運行 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入門 11
2.1 基礎(chǔ)語法 11
2.1.1 一條絕對原則——縮進 11
2.1.2 兩個頂級定義——函數(shù)和類 12
2.1.3 三種語句結(jié)構(gòu)——順序、分支和循環(huán) 14
2.1.4 四種數(shù)據(jù)類型——整型、浮點型、布爾型、字符串 16
2.1.5 五大內(nèi)置類——列表、字典、元組、集合、字符串 18
2.1.6 十組最常用的內(nèi)置函數(shù) 22
2.2 進階語法 30
2.2.1 函數(shù)的參數(shù) 30
2.2.2 異常捕獲與處理 32
2.2.3 三元表達式 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 類和對象 40
2.3.2 類的成員 41
2.3.3 靜態(tài)變量和實例變量 42
2.3.4 面向?qū)ο笕亍?3
2.3.5 抽象類 46
2.3.6 單實例模式 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 縮進 51
2.4.8 注釋 51
2.4.9 引號 52
2.4.10 空行和空格 52
2.5 語感訓(xùn)練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)相關(guān)操作 115
3.7.1 os模塊 115
3.7.2 sys模塊 118
3.8 線程技術(shù) 120
3.8.1 戲說線程和進程 120
3.8.2 創(chuàng)建、啟動和管理線程 121
3.8.3 線程同步 123
3.8.4 線程池 129
3.9 進程技術(shù) 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章 科學(xué)計算基礎(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ù)類型 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 隨機數(shù)值法 158
4.2.4 定長分割法 160
4.2.5 重復(fù)構(gòu)造法 161
4.2.6 網(wǎng)格構(gòu)造法 162
4.2.7 自定義數(shù)據(jù)類型 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)計函數(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章 應(yīng)用最廣泛的繪圖庫Matplotlib 201
5.1 快速入門 201
5.1.1 畫布 202
5.1.2 子圖與子圖布局 202
5.1.3 坐標(biāo)軸與刻度和名稱 204
5.1.4 圖例和文本標(biāo)注 205
5.1.5 顯示和保存 206
5.1.6 兩種使用風(fēng)格 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 極坐標(biāo)繪圖 221
5.3 風(fēng)格和樣式 222
5.3.1 畫布設(shè)置 222
5.3.2 子圖布局 223
5.3.3 顏色 224
5.3.4 線條和點的樣式 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擴展 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的特點 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ù)類型 254
6.3.5 廣播與矢量化運算 254
6.3.6 行列級廣播函數(shù) 256
6.4 高級應(yīng)用 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章 科學(xué)計算工具包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 曲線擬合 286
7.3.1 最小二乘法擬合 286
7.3.2 使用curve_fit函數(shù)擬合 288
7.3.3 多項式擬合 290
7.4 傅里葉變換 292
7.4.1 時域-頻域的轉(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 邊緣檢測 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 空間旋轉(zhuǎn)的表述 317
7.10.2 三維旋轉(zhuǎn) 318
第8章 機器學(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 缺失值補全 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 評價指標(biāo) 376
8.8.4 參數(shù)優(yōu)化 378
8.8.5 模型持久化 380
附錄A:Python內(nèi)置函數(shù)(類)手冊 382
附錄B:從新手到高手的100個模塊 405