本書以“零基礎”為起點,系統地介紹了Python在數據處理與可視化分析方面的應用。全書共分3篇12章內容,具體安排如下。
第1篇:基礎篇,包括第1-4章。第1章 先來認識一下大蟒:Python入門。第2章 磨好利牙,子彈上膛:準備好工作環(huán)境。第3章 大蟒的基本技能之一:Python語言基礎。第4章 大蟒的基本技能之二:Python語言進階。
第2篇:應用篇,包括第5-11章。第5章 給大蟒找食:Python的數據存取操作。第6章 洗干凈了再吃:使用Python預處理數據。第7章 什么食物有營養(yǎng):大數據分析及可視化基礎知識。第8章 大蟒神通之一:使用matplotlib繪制基礎圖形。第9章 大蟒神通之二:使用matplotlib美化和修飾圖形。第10章 大蟒神通之三:數據可視化之3D圖形應用。第11章 大蟒神通之四:使用圖像和地圖繪制圖表。
第3篇:實戰(zhàn)篇,第12章 綜合案例:全國縣級市天氣預報數據可視化分析。以抓取中國天氣網相關數據存入MySQL數據庫,并繪制相應圖形為主線,綜合本書各章知識點介紹了數據采集、清理、保存以及繪制可視化圖形的基本步驟和方法。
本書既適合希望從事Python數據處理與可視化的用戶學習,也適合廣大職業(yè)院校作為相關專業(yè)教材,還可作為社會培訓班的參考用書。
高博,高級工程師,IT雜家。主要研究方向為云計算與大數據、數據可視化等,熟悉.Net、PHP、Python,DevOps,MySQL、SQLServer等技術和工具。作為第一作者編寫了《Discuz!社區(qū)管理員實用教程》《代碼的力量——Discuz!源碼分析與插件開發(fā)實例進階》《PHP+MySQL+AJAX Web開發(fā)給力起飛》,參與編寫了《Web 2.0社區(qū)網站實用寶典》《ASP.NET 4.0 MVC敏捷開發(fā)給力起飛》《Java Web應用開發(fā)給力起飛》等書籍。主持省部級縱向課題3項,參與縱向、橫向課題16項,獲得軟件著作權12項。
劉冰,博士研究生,重慶郵電大學計算機科學與技術學院/人工智能學院教師,先后翻譯出版程序設計、圖像處理、計算機視覺等領域著作4部,編寫教材5部,獲發(fā)明專利2項,發(fā)表SCI/EI論文4篇,參與國家級、省部級項目3項。榮獲重慶郵電大學優(yōu)秀班主任、優(yōu)秀班導師、優(yōu)秀青年教師等榮譽稱號。
李力,畢業(yè)于西安交通大學計算機學院,現工作于教育考試招生戰(zhàn)線,曾長期在國防軍工單位從事網絡戰(zhàn)、信息戰(zhàn)研究,擅長需求分析與設計,參與縱、橫向課題12項,獲得軟件著作權4項。
第1篇 基礎篇
第1章 認識大蟒:Python快速入門 2
1.1 什么是大蟒(Python) 3
1.2 Python是位“年輕的老同志” 3
1.3 Python語言有什么特點 5
1.4 Python語言的應用領域 7
★新手問答★ 8
本章小結 8
第2章 磨好利牙,子彈上膛:準備好工作環(huán)境 9
2.1 版本的比較與選擇 10
2.2 在Windows上安裝Python 14
2.2.1 下載安裝程序 15
2.2.2 圖解安裝步驟 17
2.3 在macOS上安裝Python 19
2.3.1 版本選擇 20
2.3.2 下載安裝程序 20
2.3.3 圖解安裝步驟 22
2.4 選擇合適的開發(fā)工具 26
2.4.1 Anaconda 26
2.4.2 Visual Studio 27
2.4.3 PyCharm 27
2.4.4 Eclipse 28
2.4.5 Komodo 29
2.4.6 Visual Studio Code/Sublime/EditPlus/UltraEdit 30
2.5 安裝所需的第三方組件(庫) 30
2.5.1 安裝Matplotlib、NumPy和SciPy 31
2.5.2 安裝Python Imaging Library(Pillow) 34
2.5.3 安裝Requests 35
2.5.4 安裝BeautifulSoup 36
2.5.5 安裝Pandas 37
2.5.6 安裝Basemap 39
2.5.7 安裝SQLAlchemy 40
★新手問答★ 42
★小試牛刀★ 42
本章小結 44
第3章 大蟒的基本技能之一:Python語言基礎 45
3.1 基本概念 46
3.1.1 變量 46
3.1.2 保留字 47
3.1.3 注釋 48
3.1.4 行與縮進 49
3.2 數據類型 50
3.2.1 Number 50
3.2.2 Bool 54
3.2.3 String 55
3.2.4 正則表達式 58
3.2.5 List 63
3.2.6 Tuple 69
3.2.7 Set 70
3.2.8 Dictionary 73
3.3 運算符 74
3.3.1 算術運算符 74
3.3.2 比較(關系)運算符 74
3.3.3 賦值運算符 75
3.3.4 邏輯運算符 76
3.3.5 位運算符 77
3.3.6 成員運算符 78
3.3.7 身份運算符 78
3.3.8 運算符優(yōu)先級 79
★新手問答★ 79
★小試牛刀★ 80
本章小結 80
第4章 大蟒的基本技能之二:Python語言進階 81
4.1 流程控制 82
4.1.1 條件語句 82
4.1.2 循環(huán)語句 85
4.1.3 break、continue和pass 87
4.2 異常處理 89
4.3 函數 92
4.3.1 函數的基本概念 92
4.3.2 變量作用域 99
4.3.3 迭代器和生成器 100
4.3.4 裝飾器 105
4.4 面向對象編程 107
4.4.1 類和對象 108
4.4.2 魔術方法 114
4.5 文件操作 116
★新手問答★ 119
★小試牛刀★ 119
本章小結 120
第2篇 應用篇
第5章 給大蟒找食:Python的數據存取操作 122
5.1 餐前小食:文本文件的數據存取 123
5.1.1 基于分隔符的文本數據文件 123
5.1.2 基于JSON格式的文本文件 129
5.2 開胃菜:Excel文件的數據存取 132
5.2.1 Excel的模塊和庫 132
5.2.2 讀取Excel文件 133
5.2.3 生成Excel文件并寫入數據 135
5.3 主菜:寫一個爬蟲來收集網頁數據 136
5.3.1 爬蟲的概念 136
5.3.2 寫一個簡單的爬蟲 137
5.3.3 保存爬取到的數據 140
5.4 主菜:操作MySQL數據庫 141
5.4.1 MySQL數據庫是什么 142
5.4.2 選擇并安裝MySQL數據庫連接組件 142
5.4.3 連接到MySQL數據庫 143
5.4.4 把數據放進去 145
5.4.5 把數據拿出來 149
5.4.6 刪除和更新數據 151
5.5 甜點:ORM框架 153
★新手問答★ 159
★小試牛刀★ 160
本章小結 162
第6章 洗干凈了再吃:使用Python預處理數據 163
6.1 清洗和預處理數據的原因及方法 164
6.1.1 數據清洗和預處理的意義及原則 164
6.1.2 臟數據清洗方法 165
6.2 使用Pandas預處理數據 167
6.2.1 Pandas數據結構 167
6.2.2 預處理數據 171
★新手問答★ 177
★小試牛刀★ 177
本章小結 182
第7章 有營養(yǎng)的食物:大數據分析及可視化基礎知識 183
7.1 大數據的概念 184
7.2 大數據分析 186
7.2.1 數據收集 186
7.2.2 數據存儲 186
7.2.3 資源管理與服務協調 187
7.2.4 計算引擎 187
7.2.5 數據分析 188
7.2.6 數據可視化 188
7.3 使用NumPy和SciPy快速處理數據 188
7.3.1 使用NumPy處理多維數組 188
7.3.2 使用SciPy完成高級數學計算 195
★新手問答★ 202
★小試牛刀★ 202
本章小結 206
第8章 大蟒神通之一:使用Matplotlib繪制基礎圖形 207
8.1 繪制簡單圖形 208
8.1.1 使用plot()繪制折線圖 208
8.1.2 使用bar()繪制柱狀圖 210
8.1.3 使用barh()繪制條形圖 214
8.1.4 使用hist()繪制直方圖 215
8.1.5 使用pie()繪制餅圖 218
8.1.6 使用polar()繪制雷達圖 220
8.1.7 使用scatter()繪制散點圖 221
8.1.8 使用stem()繪制棉棒圖 222
8.1.9 使用boxplot()繪制箱線圖 223
8.1.10 使用errorbar()繪制誤差棒圖 225
8.1.11 使用stackplot()繪制堆積折線圖 227
8.1.12 使用broken_barh()繪制間斷條形圖 228
8.1.13 使用step()繪制階梯圖 229
8.2 繪制高級圖形 231
8.2.1 對數圖 231
8.2.2 頻譜圖 232
8.2.3 矢量場流線圖 233
8.2.4 繪制兩個變量間的互相關圖形 234
★新手問答★ 235
★小試牛刀★ 236
本章小結 238
第9章 大蟒神通之二:使用Matplotlib美化和修飾圖形 239
9.1 調整坐標軸和刻度 240
9.1.1 設置坐標軸刻度 240
9.1.2 設置坐標軸的標簽文本 241
9.1.3 繪制刻度線的網格線 243
9.1.4 移動坐標軸的位置 244
9.2 添加標題、圖例和注釋文本 245
9.2.1 設置標題的展示樣式 246
9.2.2 設置圖例的展示樣式 248
9.2.3 添加注釋文本 249
9.3 設置線形和文本字體 251
9.3.1 設置線形樣式 251
9.3.2 設置文本屬性和字體屬性 253
9.4 使用顏色 258
9.4.1 使用顏色參數 258
9.4.2 使用色彩映射和添加顏色標尺 259
9.5 劃分畫布 262
★新手問答★ 263
★小試牛刀★ 264
本章小結 266
第10章 大蟒神通之三:數據可視化之3D圖形應用 267
10.1 創(chuàng)建3D可視化圖表 268
10.1.1 3D柱狀圖和3D直方圖 268
10.1.2 3D線框圖、3D曲面圖和3D三翼面圖 270
10.2 使用Matplotlib創(chuàng)建動畫 273
★新手問答★ 275
★小試牛刀★ 276
本章小結 278
第11章 大蟒神通之四:圖像處理 279
11.1 使用Python Imaging Library處理圖像 280
11.2 生成CAPTCHA圖像 283
★新手問答★ 286
★小試牛刀★ 286
本章小結 288
第3篇 實戰(zhàn)篇
第12章 綜合案例:全國縣級市天氣預報的數據可視化分析 290
12.1 目標與計劃 291
12.1.1 具體目標 291
12.1.2 工作計劃 293
12.2 確定目標數據 293
12.3 試驗抓取數據 297
12.4 保存數據入庫 299
12.5 檢查清理數據 310
12.5.1 檢查數據完整性與合法性 310
12.5.2 清理或預處理數據 311
12.6 繪制圖形圖表 311
本章小結 314
附錄 315
附錄A Python命令行參數處理模塊argparse簡介 316
附錄B Python編程代碼的風格 319
附錄C Python常見面試題精選 321