內容簡介
你將學習以下內容:
圖書目錄
前言
第1章 Python可視化介紹:基礎和定製繪圖 1
1.1 本章介紹 1
1.2 使用pandasDataFrame處理數據 2
1.2.1 從檔案讀取數據 2
1.2.2 練習1:從檔案讀取數據 2
1.2.3 觀察和描述數據 3
1.2.4 練習2:觀察和描述數據 3
1.2.5 從DataFrame選擇列 6
1.2.6 為DataFrame增加新列 6
1.2.7 練習3:為DataFrame增加新列 6
1.2.8 在DataFrame列上套用函式 8
1.2.9 練習4:在DataFrame列上套用函式 8
1.2.10 練習5:對多列套用函式 11
1.2.11 從DataFrame刪除列 12
1.2.12 練習6:從DataFrame刪除列 12
1.2.13 將DataFrame寫至檔案 13
1.2.14 練習7:將DataFrame寫至檔案 13
1.3 使用pandas和seaborn繪圖 15
1.3.1 創建簡單圖可視化顯示變數分布 15
1.3.2 直方圖 15
1.3.3 練習8:繪製和分析直方圖 15
1.3.4 柱狀圖 18
1.3.5 練習9:創建柱狀圖並計算平均價格分布 18
1.3.6 練習10:創建按一個特定特徵分組的柱狀圖 21
1.4 調整繪圖參數 21
1.4.1 練習11:調整分組柱狀圖的繪圖參數 21
1.4.2 標註 23
1.4.3 練習12:標註一個柱狀圖 23
1.4.4 實踐活動1:分析不同場景並生成適當的可視化 25
1.5 小結 29
第2章 靜態可視化:全局模式和匯總統計 31
2.1 本章介紹 31
2.2 繪圖表示數據中的全局模式 31
2.2.1 散點圖 32
2.2.2 練習13:創建一個靜態散點圖 33
2.2.3 六邊形圖 33
2.2.4 練習14:創建一個靜態六邊形圖 33
2.2.5 等高線圖 34
2.2.6 練習15:創建靜態等高線圖 34
2.2.7 折線圖 35
2.2.8 練習16:創建一個靜態折線圖 36
2.2.9 練習17:用多個折線圖表示數據隨時間的變化 37
2.2.10 熱圖 39
2.2.11 練習18:創建和探索一個靜態熱圖 39
2.2.12 熱圖中連鎖的概念 43
2.2.13 練習19:在靜態熱圖中創建連鎖 43
2.3 繪圖表示數據的匯總統計 46
2.3.1 再談直方圖 46
2.3.2 示例1:再談直方圖 46
2.3.3 箱形圖 47
2.3.4 練習20:創建和探索靜態箱形圖 47
2.3.5 小提琴圖 49
2.3.6 練習21:創建一個靜態小提琴圖 49
2.3.7 實踐活動2:設計靜態可視化表示全局模式和匯總統計 51
2.4 小結 53
第3章 從靜態到互動式可視化 54
3.1 本章介紹 54
3.2 靜態與互動式可視化 55
3.3 互動式數據可視化的套用 58
3.4 互動式數據可視化入門 60
3.4.1 使用Bokeh創建互動式數據可視化 61
3.4.2 練習22:準備數據集 62
3.4.3 練習23:為互動式數據可視化創建基本靜態圖 65
3.4.4 練習24:為這個靜態圖增加一個滑動條 67
3.4.5 練習25:增加一個懸停提示工具 69
3.4.6 使用PlotlyExpress創建互動式數據可視化 72
3.4.7 練習26:創建一個互動式散點圖 72
3.4.8 實踐活動3:使用PlotlyExpress創建不同的互動式可視化 76
3.5 小結 78
第4章 基於層次的數據互動式可視化 79
4.1 本章介紹 79
4.2 互動式散點圖 80
4.2.1 練習27:為靜態散點圖增加放大縮小功能 81
4.2.2 練習28:為散點圖增加懸停和工具提示功能 84
4.2.3 練習29:探索散點圖上的選擇和突出顯示功能 86
4.2.4 練習30:生成一個提供選擇、縮放和懸停/工具提示功能的圖 88
4.2.5 跨多圖選擇 91
4.2.6 練習31:跨多圖選擇 92
4.2.7 基於特徵值的選擇 94
4.2.8 練習32:基於特徵值的選擇 95
4.3 altair中的其他互動式圖 98
4.3.1 練習33:在靜態柱狀圖上增加縮放特性並計算均值 98
4.3.2 練習34:在柱狀圖上表示均值的一個替代捷徑 102
4.3.3 練習35:在靜態熱圖上增加縮放特性 105
4.3.4 練習36:創建相鄰的柱狀圖和熱圖 107
4.3.5 練習37:動態連結一個柱狀圖和一個熱圖 110
4.3.6 實踐活動4:生成一個柱狀圖和一個熱圖表示GooglePlayStoreApps
數據集中的內容分級類型 113
4.4 小結 115
第5章 基於時間的數據互動式可視化 116
5.1 本章介紹 116
5.2 時態數據 117
5.3 時態數據類型 117
5.3.1 為什麼研究時態數據可視化? 118
5.4 理解時態數據和時間序列數據的關係 119
5.5 使用時態數據的領域示例 120
5.6 時態數據可視化 120
5.6.1 如何管理和可視化時間序列數據 123
5.6.2 pandas中的日期/時間處理 124
5.6.3 建立一個Datetime索引 125
5.7 為時態數據選擇正確的聚合等級 126
5.7.1 練習38:創建一個靜態柱狀圖並計算時態數據的均值和標準差 127
5.7.2 練習39:計算zscore查找時態數據中的異常值 130
5.8 時態數據中的重採樣 133
5.8.1 上採樣和下採樣的常見問題 134
5.8.2 練習40:時態數據的上採樣和下採樣 134
5.8.3 使用shift和tshift在時間序列數據中引入滯後 136
5.8.4 練習41:使用shift和tshift移動數據中的時間 137
5.8.5 時間序列中的自相關 139
5.9 互動式時態數據可視化 141
5.9.1 Bokeh基礎 141
5.9.2 使用Bokeh的優點 141
5.9.3 練習42:使用Bokeh為靜態折線圖增加互動性 142
5.9.4 練習43:改變折線圖中線的顏色和寬度 144
5.9.5 練習44:增加方框標註來找出數據集中的異常值 145
5.9.6 Bokeh中的互動性 147
5.9.7 實踐活動5:創建一個互動式時態數據可視化 148
5.10 小結 150
第6章 地理數據互動式可視化 151
6.1 本章介紹 151
6.2 等值線地圖 152
6.2.1 世界等值線地圖 152
6.2.2 練習45:創建一個世界等值線地圖 153
6.2.3 練習46:調整一個世界等值線地圖 155
6.2.4 練習47:為等值線地圖增加動畫 159
6.2.5 美國各州地圖 162
6.2.6 練習48:創建美國各州的等值線地圖 163
6.3 在地理地圖上繪圖 165
6.3.1 散點圖 166
6.3.2 練習49:在一個地理地圖上繪製散點圖 166
6.3.3 氣泡圖 168
6.3.4 練習50:在地理地圖上繪製氣泡圖 168
6.3.5 地理地圖上的折線圖 174
6.3.6 練習51:在地理地圖上繪製折線圖 174
6.3.7 實踐活動6:創建一個等值線地圖表示全世界可再生能源生產和
消費總量 179
6.4 小結 183
第7章 避免創建互動式可視化的常見陷阱 184
7.1 本章介紹 184
7.2 數據格式化和解釋 184
7.2.1 避免處理髒數據時常見的問題 185
7.2.2 異常值 185
7.2.3 練習52:使用箱形圖可視化表示數據集中的異常值 186
7.2.4 練習53:處理異常值 189
7.2.5 缺失數據 191
7.2.6 練習54:處理缺失值 191
7.2.7 重複實例和/或特徵 193
7.2.8 不好的特徵選擇 194
7.2.9 實踐活動7:確定在一個散點圖上可視化哪些特徵 195
7.3 數據可視化 197
7.3.1 選擇可視化 197
7.3.2 可視化數據時的常見陷阱 199
7.3.3 練習55:創建一個讓人困惑的可視化 199
7.3.4 實踐活動8:創建一個柱狀圖改善可視化 202
7.4 可視化過程速查表 203
7.5 小結 205
第8章 附錄 207
8.1 第1章:Python可視化介紹:基礎和定製繪圖 207
8.1.1 實踐活動1:分析不同場景並生成適當的可視化 207
8.2 第2章:靜態可視化:全局模式和匯總統計 212
8.2.1 實踐活動2:設計靜態可視化表示全局模式和匯總統計 212
8.3 第3章:從靜態到互動式可視化 215
8.3.1 實踐活動3:使用PlotlyExpress創建不同的互動式可視化 215
8.4 第4章:基於層次的數據互動式可視化 219
8.4.1 實踐活動4:生成一個柱狀圖和一個熱圖表示GooglePlayStoreApps
數據集中的內容分級類型 219
8.5 第5章:基於時間的數據互動式可視化 223
8.5.1 實踐活動5:創建一個互動式時態數據可視化 223
8.6 第6章:地理數據互動式可視化 227
8.6.1 實踐活動6:創建一個等值線地圖表示全世界可再生能源生產和
消費總量 227
8.7 第7章:避免創建互動式可視化的常見陷阱 232
8.7.1 實踐活動7:確定在一個散點圖上可視化哪些特徵 232
8.7.2 實踐活動8:創建一個柱狀圖改善可視化 236
作者簡介
Abha Belorkar是計算機科學領域的一位教育工作者和研究人員。她在印度彼拉尼的博拉理工學院獲得計算機科學學士學位,並在新加坡國立大學獲得博士學位。目前她的研究工作包括開發基於統計學、機器學習和數據可視化技術的方法,研究神經退行性疾病的異構基因組數據。
Sharath Chandra Guntuku是自然語言處理和多媒體計算領域的一位研究人員。他在印度彼拉尼的博拉理工學院獲得計算機科學學士學位,在新加坡南洋理工大學獲得博士學位。他的研究目標是利用大規模的社交媒體圖片和文本數據來模擬社會健康水平和心理特徵。他使用機器學習、統計分析、自然語言處理和計算機視覺來回答有關個人和社區健康和心理的問題。
Shubhangi Hora是一位Python開發人員、人工智慧愛好者、數據科學家和作者。她擁有計算機科學和心理學背景,尤其熱衷於心理健康相關的人工智慧。除此之外,她還對表演藝術感興趣,是一名訓練有素的音樂家。
Anshu Kumar是一位數據科學家,在解決自然語言處理和推薦系統中的複雜問題方面有超過5年的經驗。他擁有印度理工學院馬德拉斯分校計算機科學專業工學碩士學位。他也是SpringBoard項目的導師。他目前的興趣是為大規模多語言數據集實現語義搜尋、文本摘要和內容推薦。