Python數(shù)據(jù)可視化編程實戰(zhàn) 第2版
定 價:69 元
- 作者:[愛爾蘭] 伊戈爾·米洛瓦諾維奇(Igor Milovanovi?) [法]迪米
- 出版時間:2018/9/1
- ISBN:9787115488428
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.561
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書是一本使用Python實現(xiàn)數(shù)據(jù)可視化編程的實戰(zhàn)指南,介紹了如何使用Python流行的庫,通過70余種方法創(chuàng)建美觀的數(shù)據(jù)可視化效果。
全書共9章,分別介紹了準備工作環(huán)境、了解數(shù)據(jù)、繪制并定制化圖表、學習更多圖表和定制化、創(chuàng)建3D可視化圖表、用圖像和地圖繪制圖表、使用正確的圖表理解數(shù)據(jù)、更多的matplotlib知識以及使用Plot.ly進行云端可視化。
本書適合那些對Python編程有一定基礎的開發(fā)人員閱讀,可以幫助讀者從頭開始了解數(shù)據(jù)、數(shù)據(jù)格式、數(shù)據(jù)可視化,并學會使用Python可視化數(shù)據(jù)。
本書主要介紹如何通過Python來實現(xiàn)數(shù)據(jù)可視化。本書包含了一系列實用的示例,旨在幫助讀者熟悉運用Python及其流行的可視化庫和數(shù)據(jù)操作庫,牢固地掌握數(shù)據(jù)可視化的知識。
本書從安裝和搭建Python數(shù)據(jù)操作和可視化環(huán)境講起,循序漸進,直到讀者掌握使用Python庫繪制3D動畫等技能。另外,本書還講解了如何配置matplotlib及相關庫,如何在不同的環(huán)境(如文字排版系統(tǒng)或LaTeX)中使用matplotlib,以及如何使用Python創(chuàng)建甘特圖等實用技能。通過本書,讀者能更好地理解數(shù)據(jù)可視化的概念和技術。
本書包括以下內(nèi)容:
·搭建工作環(huán)境所需的工具;
·使用標準的Python數(shù)據(jù)處理庫和Pandas庫處理數(shù)據(jù);
·繪制并定制化圖表;
·使用流行的Python數(shù)據(jù)可視化庫;
·使用mplot3d繪制3D圖表;
·使用圖像和地圖繪制圖表;
·使用恰當?shù)膱D表描述數(shù)據(jù);
·更多matplotlib的高級內(nèi)容;
·使用Plot.ly在線分享可視化圖表。
本書特色:
·簡單、易懂且統(tǒng)一的組織形式;
·一系列非常有用的任務和難題;
·精心組織的說明以便高效地解決問題;
·清晰的操作步驟講解;
·可用于解決實際問題的方案;
·常見問題的快速解答。
Igor Milovanovi是一個在Linux系統(tǒng)和軟件工程領域有深厚背景的經(jīng)驗豐富的開發(fā)人員。具備創(chuàng)建可擴展數(shù)據(jù)驅動分布式富軟件系統(tǒng)的技術。
身為一個高性能系統(tǒng)設計的布道者,他對軟件架構和軟件開發(fā)方法論有著濃厚的興趣。他一直堅持倡導促進高質量軟件的方法論,如測試驅動開發(fā)、一鍵部署和持續(xù)集成。
他也擁有堅實的產(chǎn)品開發(fā)知識。擁有領域經(jīng)驗知識,并參加過官方培訓,他能夠在業(yè)務和開發(fā)人員之間很好地傳遞業(yè)務知識和業(yè)務流程。
Igor非常感謝他的女友允許他把大量的時間花費在本書的寫作上而沒有陪伴她,并在他無休止地談論本書時甘愿做一個熱心的聽眾。他感謝他的哥哥這個他一直以來最堅強的后盾。他還要感謝他的父母,給予他自由的發(fā)展空間,讓他成為今天的自己。
Dimitry Foures 是一個擁有應用數(shù)學和理論物理背景的數(shù)據(jù)科學家。在里昂高等師范學校(法國)完成他的物理專業(yè)的本科學業(yè)后,他繼續(xù)在巴黎綜合理工學院學習流體力學,并獲得了一等碩士學位。他擁有劍橋大學應用數(shù)學專業(yè)博士學位。他目前在劍橋的一家智能能源初創(chuàng)公司擔任數(shù)據(jù)科學家一職,與劍橋大學有著非常密切的合作。
Giuseppe Vettigli是一名數(shù)據(jù)科學家,他在產(chǎn)業(yè)界和學術界從事過多年的研究工作。他的工作關注于從結構化及非結構化數(shù)據(jù)中提取信息進行機器學習模型的開發(fā)和應用。他經(jīng)常發(fā)表利用Python進行科學計算和數(shù)據(jù)可視化的文章。
目錄
第 1章 準備工作環(huán)境 1
1.1 介紹 1
1.2 安裝matplotlib、Numpy和Scipy庫 2
1.2.1 準備工作 2
1.2.2 操作步驟 3
1.2.3 工作原理 4
1.2.4 補充說明 4
1.3 安裝virtualenv和virtualenvwrapper 4
1.3.1 準備工作 5
1.3.2 操作步驟 5
1.4 在Mac OS X上安裝matplotlib 7
1.4.1 準備工作 7
1.4.2 操作步驟 7
1.5 在Windows上安裝matplotlib 8
1.5.1 準備工作 8
1.5.2 操作步驟 9
1.5.3 補充說明 9
1.6 安裝圖像處理工具:Python圖像庫(PIL) 10
1.6.1 操作步驟 10
1.6.2 安裝過程說明 10
1.6.3 補充說明 10
1.7 安裝requests模塊 11
1.7.1 操作步驟 11
1.7.2 requests使用說明 11
1.8 在代碼中配置matplotlib參數(shù) 12
1.8.1 準備工作 12
1.8.2 操作步驟 12
1.8.3 代碼解析 13
1.9 為項目設置matplotlib參數(shù) 13
1.9.1 準備工作 13
1.9.2 操作步驟 14
1.9.3 配置過程說明 14
1.9.4 補充說明 15
第 2章 了解數(shù)據(jù) 16
2.1 簡介 17
2.2 從CSV文件導入數(shù)據(jù) 17
2.2.1 準備工作 17
2.2.2 操作步驟 17
2.2.3 工作原理 18
2.2.4 補充說明 19
2.3 從Microsoft Excel文件中導入數(shù)據(jù) 19
2.3.1 準備工作 20
2.3.2 操作步驟 20
2.3.3 工作原理 21
2.3.4 補充說明 22
2.4 從定寬數(shù)據(jù)文件導入數(shù)據(jù) 22
2.4.1 準備工作 22
2.4.2 操作步驟 22
2.4.3 工作原理 23
2.5 從制表符分隔的文件中讀取數(shù)據(jù) 24
2.5.1 準備工作 24
2.5.2 操作步驟 24
2.5.3 工作原理 25
2.5.4 補充說明 25
2.6 從JSON數(shù)據(jù)源導入數(shù)據(jù) 26
2.6.1 準備工作 26
2.6.2 操作步驟 26
2.6.3 工作原理 27
2.6.4 補充說明 27
2.7 導出數(shù)據(jù)到JSON、CSV和Excel 28
2.7.1 準備工作 28
2.7.2 操作步驟 28
2.7.3 工作原理 31
2.7.4 補充說明 32
2.8 用Pandas導入和操作數(shù)據(jù) 32
2.8.1 準備工作 33
2.8.2 操作步驟 33
2.8.3 工作原理 33
2.8.4 補充說明 33
2.9 從數(shù)據(jù)庫導入數(shù)據(jù) 34
2.9.1 準備工作 34
2.9.2 操作步驟 35
2.9.3 工作原理 37
2.9.4 補充說明 37
2.10 清理異常值 38
2.10.1 準備工作 38
2.10.2 操作步驟 38
2.10.3 補充說明 43
2.11 讀取大塊數(shù)據(jù)文件 43
2.11.1 操作步驟 43
2.11.2 工作原理 44
2.11.3 補充說明 45
2.12 讀取流數(shù)據(jù)源 45
2.12.1 操作步驟 45
2.12.2 工作原理 46
2.12.3 補充說明 46
2.13 導入圖像數(shù)據(jù)到NumPy數(shù)組 47
2.13.1 準備工作 47
2.13.2 操作步驟 47
2.13.3 工作原理 50
2.13.4 補充說明 52
2.14 生成可控的隨機數(shù)據(jù)集合 53
2.14.1 準備工作 53
2.14.2 操作步驟 54
2.15 真實數(shù)據(jù)的噪聲平滑處理 60
2.15.1 準備工作 60
2.15.2 操作步驟 60
2.15.3 工作原理 60
2.15.4 補充說明 65
第3章 繪制并定制化圖表 67
3.1 簡介 68
3.2 定義圖表類型柱狀圖、線形圖和堆積柱狀圖 68
3.2.1 準備工作 68
3.2.2 操作步驟 68
3.2.3 工作原理 72
3.2.4 補充說明 73
3.3 簡單的正弦圖和余弦圖 74
3.3.1 準備工作 74
3.3.2 操作步驟 74
3.4 設置坐標軸長度和范圍 77
3.4.1 準備工作 77
3.4.2 操作步驟 77
3.4.3 工作原理 78
3.4.4 補充說明 79
3.5 設置圖表的線型、屬性和格式化字符串 80
3.5.1 準備工作 80
3.5.2 操作步驟 80
3.5.3 工作原理 81
3.6 設置刻度、刻度標簽和網(wǎng)格 84
3.6.1 準備工作 84
3.6.2 操作步驟 84
3.7 添加圖例和注解 87
3.7.1 準備工作 87
3.7.2 操作步驟 88
3.7.3 工作原理 89
3.8 移動軸線到圖中央 90
3.8.1 操作步驟 90
3.8.2 工作原理 91
3.8.3 補充說明 91
3.9 繪制直方圖 91
3.9.1 準備工作 92
3.9.2 操作步驟 92
3.9.3 工作原理 93
3.10 繪制誤差條形圖 94
3.10.1 準備工作 94
3.10.2 操作步驟 94
3.10.3 工作原理 95
3.10.4 補充說明 97
3.11 繪制餅圖 97
3.11.1 準備工作 97
3.11.2 操作步驟 97
3.12 繪制帶填充區(qū)域的圖表 99
3.12.1 準備工作 99
3.12.2 操作步驟 99
3.12.3 工作原理 100
3.12.4 補充說明 100
3.13 繪制堆積圖 101
3.13.1 準備工作 101
3.13.2 操作步驟 101
3.13.3 工作原理 103
3.14 繪制帶彩色標記的散點圖 103
3.14.1 準備工作 103
3.14.2 操作步驟 103
3.13.3 工作原理 104
第4章 學習更多圖表和定制化 105
4.1 簡介 105
4.2 設置坐標軸標簽的透明度和大小 106
4.2.1 準備工作 106
4.2.2 操作步驟 106
4.2.3 工作原理 107
4.2.4 補充說明 108
4.3 為圖表線條添加陰影 109
4.3.1 準備工作 109
4.3.2 操作步驟 110
4.3.3 工作原理 111
4.3.4 補充說明 111
4.4 向圖表添加數(shù)據(jù)表 112
4.4.1 準備工作 112
4.4.2 操作步驟 112
4.4.3 工作原理 113
4.4.4 補充說明 113
4.5 使用subplots(子區(qū)) 114
4.5.1 準備工作 114
4.5.2 操作步驟 114
4.5.3 工作原理 116
4.5.4 補充說明 116
4.6 定制化網(wǎng)格 116
4.6.1 準備工作 116
4.6.2 操作步驟 118
4.6.3 工作原理 120
4.7 創(chuàng)建等高線圖 120
4.7.1 準備工作 120
4.7.2 操作步驟 122
4.7.3 工作原理 123
4.8 填充圖表底層區(qū)域 123
4.8.1 準備工作 124
4.8.2 操作步驟 124
4.8.3 工作原理 126
4.9 繪制極線圖 127
4.9.1 準備工作 127
4.9.2 操作步驟 127
4.9.3 工作原理 128
4.10 使用極線條可視化文件系統(tǒng)樹 129
4.10.1 準備工作 129
4.10.2 操作步驟 129
4.10.3 工作原理 132
4.11 定制matplotlib繪圖風格 133
4.11.1 準備工作 133
4.11.2 操作步驟 133
4.11.3 工作原理 134
第5章 創(chuàng)建3D可視化圖表 135
5.1 簡介 135
5.2 創(chuàng)建3D柱狀圖 135
5.2.1 準備工作 136
5.2.2 操作步驟 136
5.2.3 工作原理 138
5.2.4 補充說明 138
5.3 創(chuàng)建3D直方圖 139
5.3.1 準備工作 140
5.3.2 操作步驟 140
5.3.3 工作原理 142
5.4 在matplotlib中創(chuàng)建動畫 142
5.4.1 準備工作 142
5.4.2 操作步驟 143
5.4.3 工作原理 144
5.4.4 補充說明 145
5.5 用OpenGL制作動畫 146
5.5.1 準備工作 146
5.5.2 操作步驟 147
5.5.3 工作原理 148
5.5.4 補充說明 149
第6章 用圖像和地圖繪制圖表 150
6.1 簡介 150
6.2 用PIL做圖像處理 151
6.2.1 準備工作 151
6.2.2 操作步驟 154
6.2.3 工作原理 156
6.2.4 補充說明 156
6.3 繪制帶圖像的圖表 157
6.3.1 準備工作 157
6.3.2 操作步驟 157
6.3.3 工作原理 160
6.4 在具有其他圖形的圖表中顯示圖像 161
6.4.1 準備工作 161
6.4.2 操作步驟 162
6.4.3 工作原理 164
6.4.4 補充說明 165
6.5 使用Basemap在地圖上繪制數(shù)據(jù) 165
6.5.1 準備工作 165
6.5.2 操作步驟 166
6.5.3 工作原理 168
6.5.4 補充說明 170
6.6 生成CAPTCHA圖像 170
6.6.1 準備工作 171
6.6.2 操作步驟 171
6.6.3 工作原理 174
6.6.4 補充說明 175
第7章 使用正確的圖表理解數(shù)據(jù) 176
7.1 簡介 176
7.2 理解對數(shù)圖 177
7.2.1 準備工作 177
7.2.2 操作步驟 177
7.2.3 工作原理 179
7.3 理解頻譜圖 180
7.3.1 準備工作 180
7.3.2 操作步驟 181
7.3.3 工作原理 183
7.3.4 補充說明 183
7.4 創(chuàng)建火柴桿圖 184
7.4.1 準備工作 185
7.4.2 操作步驟 185
7.4.3 工作原理 187
7.5 繪制矢量場流線圖 188
7.5.1 準備工作 188
7.5.2 操作步驟 188
7.5.3 工作原理 190
7.5.4 補充說明 191
7.6 使用顏色表 191
7.6.1 準備工作 192
7.6.2 操作步驟 193
7.6.3 工作原理 195
7.6.4 補充說明 196
7.7 使用散點圖和直方圖 197
7.7.1 準備工作 197
7.7.2 操作步驟 198
7.7.3 工作原理 201
7.7.4 補充說明 201
7.8 繪制兩個變量間的互相關圖形 204
7.8.1 準備工作 204
7.8.2 操作步驟 205
7.8.3 工作原理 206
7.9 自相關的重要性 207
7.9.1 準備工作 207
7.9.2 操作步驟 208
7.9.3 工作原理 210
7.9.4 補充說明 210
第8章 更多的matplotlib知識 211
8.1 簡介 211
8.2 繪制風桿(barbs) 211
8.2.1 準備工作 212
8.2.2 操作步驟 213
8.2.3 工作原理 214
8.2.4 補充說明 215
8.3 繪制箱線圖 215
8.3.1 準備工作 215
8.3.2 操作步驟 216
8.3.3 工作原理 218
8.4 繪制甘特圖 218
8.4.1 準備工作 218
8.4.2 操作步驟 219
8.4.3 工作原理 223
8.5 繪制誤差條 223
8.5.1 準備工作 223
8.5.2 操作步驟 224
8.5.3 工作原理 225
8.5.4 補充說明 226
8.6 使用文本和字體屬性 226
8.6.1 準備工作 226
8.6.2 操作步驟 229
8.6.3 工作原理 232
8.7 用LaTeX渲染文本 232
8.7.1 準備工作 233
8.7.2 操作步驟 234
8.7.3 工作原理 236
8.7.4 補充說明 237
8.8 理解pyplot和OO API的不同 237
8.8.1 準備工作 237
8.8.2 操作步驟 239
8.8.3 工作原理 241
8.8.4 補充說明 242
第9章 使用Plot.ly進行云端可視化 243
9.1 簡介 243
9.2 創(chuàng)建線形圖 244
9.2.1 準備工作 244
9.2.2 操作步驟 244
9.2.3 工作原理 245
9.2.4 補充說明 246
9.3 創(chuàng)建柱狀圖 248
9.3.1 準備工作 248
8.3.2 操作步驟 248
9.3.3 工作原理 249
9.3.4 補充說明 250
9.4 繪制3D三葉結 250
9.4.1 操作步驟 251
9.4.2 工作原理 251