産品特色
編輯推薦
“學習pandas和matplotlib的很好的專業入門材料。”
“書如其名,內容充實、實用,例子有趣吸引人。如果你想利用Python進行數據分析的話,這本書很閤適。”
瞭解Python在信息處理、管理和檢索方麵的強大功能
學會如何利用Python及其衍生工具處理、分析數據
詳盡探究三個真實Python數據分析案例,將理論付諸實踐
內容簡介
Python 簡單易學,擁有豐富的庫,並且具有極強的包容性。本書展示瞭如何利用Python 語言的強大功能,以小的編程代價進行數據的提取、處理和分析,主要內容包括:數據分析和Python 的基本介紹,NumPy 庫,pandas 庫,如何使用pandas 讀寫和提取數據,用matplotlib 庫和scikit-learn 庫分彆實現數據可視化和機器學習,以實例演示如何從原始數據獲得信息、D3 庫嵌入和手寫體數字的識彆。
作者簡介
作者簡介
Fabio Nelli
IRBM科學園IT科學應用專傢,曾為IBM、EDS等企業提供谘詢。目前正在開發Java應用,對接科學儀器和Oracle數據庫,生成數據和Web服務器應用,為研究人員提供實時分析結果。他還是Meccanismo Complesso社區(www.meccanismocomplesso.org)的項目協調人。
譯者簡介
杜春曉
英語語言文學學士,軟件工程碩士。其他譯著有《電子達人——我的**本Raspberry Pi入門手冊》和《Python數據挖掘入門與實踐》。新浪微博:@宜_生。
目錄
目錄
緻謝
譯者序
第1 章 數據分析簡介 1
1.1 數據分析 1
1.2 數據分析師的知識範疇 2
1.2.1 計算機科學 2
1.2.2 數學和統計學 3
1.2.3 機器學習和人工智能 3
1.2.4 數據來源領域 3
1.3 理解數據的性質 4
1.3.1 數據到信息的轉變 4
1.3.2 信息到知識的轉變 4
1.3.3 數據的類型 4
1.4 數據分析過程 4
1.4.1 問題定義 5
1.4.2 數據抽取 6
1.4.3 數據準備 6
1.4.4 數據探索和可視化 7
1.4.5 預測模型 7
1.4.6 模型評估 8
1.4.7 部署 8
1.5 定量和定性數據分析 9
1.6 開放數據 9
1.7 Python 和數據分析 11
1.8 結論 11
第2 章 Python 世界簡介 12
2.1 Python——編程語言 12
2.2 Python——解釋器 13
2.2.1 Cython 14
2.2.2 Jython 14
2.2.3 PyPy 14
2.3 Python 2 和Python 3 14
2.4 安裝Python 15
2.5 Python 發行版 15
2.5.1 Anaconda 15
2.5.2 Enthought Canopy 16
2.5.3 Python(x,y) 17
2.6 使用Python 17
2.6.1 Python shell 17
2.6.2 運行完整的Python 程序 17
2.6.3 使用IDE 編寫代碼 18
2.6.4 跟Python 交互 18
2.7 編寫Python 代碼 18
2.7.1 數學運算 18
2.7.2 導入新的庫和函數 19
2.7.3 函數式編程 21
2.7.4 縮進 22
2.8 IPython 23
2.8.1 IPython shell 23
2.8.2 IPython Qt-Console 24
2.9 PyPI 倉庫——Python 包索引 25
2.10 多種Python IDE 26
2.10.1 IDLE 26
2.10.2 Spyder 27
2.10.3 Eclipse(pyDev) 27
2.10.4 Sublime 28
2.10.5 Liclipse 29
2.10.6 NinjaIDE 29
2.10.7 Komodo IDE 29
2.11 SciPy 30
2.11.1 NumPy 30
2.11.2 pandas 30
2.11.3 matplotlib 31
2.12 小結 31
第3 章 NumPy 庫 32
3.1 NumPy 簡史 32
3.2 NumPy 安裝 32
3.3 ndarray:NumPy 庫的心髒 33
3.3.1 創建數組 34
3.3.2 數據類型 34
3.3.3 dtype 選項 35
3.3.4 自帶的數組創建方法 36
3.4 基本操作 37
3.4.1 算術運算符 37
3.4.2 矩陣積 38
3.4.3 自增和自減運算符 39
3.4.4 通用函數 40
3.4.5 聚閤函數 40
3.5 索引機製、切片和迭代方法 41
3.5.1 索引機製 41
3.5.2 切片操作 42
3.5.3 數組迭代 43
3.6 條件和布爾數組 45
3.7 形狀變換 45
3.8 數組操作 46
3.8.1 連接數組 46
3.8.2 數組切分 47
3.9 常用概念 49
3.9.1 對象的副本或視圖 49
3.9.2 嚮量化 50
3.9.3 廣播機製 50
3.10 結構化數組 52
3.11 數組數據文件的讀寫 53
3.11.1 二進製文件的讀寫 54
3.11.2 讀取文件中的列錶形式數據 54
3.12 小結 55
第4 章 pandas 庫簡介 56
4.1 pandas:Python 數據分析庫 56
4.2 安裝 57
4.2.1 用Anaconda 安裝 57
4.2.2 用PyPI 安裝 58
4.2.3 在Linux 係統的安裝方法 58
4.2.4 用源代碼安裝 58
4.2.5 Windows 模塊倉庫 59
4.3 測試pandas 是否安裝成功 59
4.4 開始pandas 之旅 59
4.5 pandas 數據結構簡介 60
4.5.1 Series 對象 60
4.5.2 DataFrame 對象 66
4.5.3 Index 對象 72
4.6 索引對象的其他功能 74
4.6.1 更換索引 74
4.6.2 刪除 75
4.6.3 算術和數據對齊 77
4.7 數據結構之間的運算 78
4.7.1 靈活的算術運算方法 78
4.7.2 DataFrame 和Series 對象之間的運算 78
4.8 函數應用和映射 79
4.8.1 操作元素的函數 79
4.8.2 按行或列執行操作的函數 80
4.8.3 統計函數 81
4.9 排序和排位次 81
4.10 相關性和協方差 84
4.11 NaN 數據 85
4.11.1 為元素賦NaN 值 85
4.11.2 過濾NaN 86
4.11.3 為NaN 元素填充其他值 86
4.12 等級索引和分級 87
4.12.1 重新調整順序和為層級排序 89
4.12.2 按層級統計數據 89
4.13 小結 90
第5 章 pandas:數據讀寫 91
5.1 I/O API 工具 91
5.2 CSV 和文本文件 92
5.3 讀取CSV 或文本文件中的數據 92
5.3.1 用RegExp 解析TXT 文件 94
5.3.2 從TXT 文件讀取部分數據 96
5.3.3 往CSV 文件寫入數據 97
5.4 讀寫HTML 文件 98
5.4.1 寫入數據到HTML 文件 99
5.4.2 從HTML 文件讀取數據 100
5.5 從XML 讀取數據 101
5.6 讀寫Microsoft Excel 文件 103
5.7 JSON 數據 105
5.8 HDF5 格式 107
5.9 pickle——Python 對象序列化 108
5.9.1 用cPickle 實現Python 對象序列化 109
5.9.2 用pandas 實現對象序列化 109
5.10 對接數據庫 110
5.10.1 SQLite3 數據讀寫 111
5.10.2 PostgreSQL 數據讀寫 112
5.11 NoSQL 數據庫MongoDB 數據讀寫 114
5.12 小結 116
第6 章 深入pandas:數據處理 117
6.1 數據準備 117
6.2 拼接 122
6.2.1 組閤 124
6.2.2 軸嚮鏇轉 125
6.2.3 刪除 127
6.3 數據轉換 128
6.3.1 刪除重復元素 128
6.3.2 映射 129
6.4 離散化和麵元劃分 132
6.5 排序 136
6.6 字符串處理 137
6.6.1 內置的字符串處理方法 137
6.6.2 正則錶達式 139
6.7 數據聚閤 140
6.7.1 GroupBy 141
6.7.2 實例 141
6.7.3 等級分組 142
6.8 組迭代 143
6.8.1 鏈式轉換 144
6.8.2 分組函數 145
6.9 高級數據聚閤 145
6.10 小結 148
第7 章 用matplotlib 實現數據可視化 149
7.1 matplotlib 庫 149
7.2 安裝 150
7.3 IPython 和IPython QtConsole 150
7.4 matplotlib 架構 151
7.4.1 Backend 層 152
7.4.2 Artist 層 152
7.4.3 Scripting 層(pyplot) 153
7.4.4 pylab 和pyplot 153
7.5 pyplot 154
7.5.1 生成一幅簡單的交互式圖錶 154
7.5.2 設置圖形的屬性 156
7.5.3 matplotlib 和NumPy 158
7.6 使用kwargs 160
7.7 為圖錶添加更多元素 162
7.7.1 添加文本 162
7.7.2 添加網格 165
7.7.3 添加圖例 166
7.8 保存圖錶 168
7.8.1 保存代碼 169
7.8.2 將會話轉換為HTML 文件 170
7.8.3 將圖錶直接保存為圖片 171
7.9 處理日期值 171
7.10 圖錶類型 173
7.11 綫性圖 173
7.12 直方圖 180
7.13 條狀圖 181
7.13.1 水平條狀圖 183
7.13.2 多序列條狀圖 184
7.13.3 為pandas DataFrame 生成多序列條狀圖 185
7.13.4 多序列堆積條狀圖 186
7.13.5 為pandas DataFrame 繪製堆積條狀圖 189
7.13.6 其他條狀圖 190
7.14 餅圖 190
7.15 高級圖錶 193
7.15.1 等值綫圖 193
7.15.2 極區圖 195
7.16 mplot3d 197
7.16.1 3D 麯麵 197
7.16.2 3D 散點圖 198
7.16.3 3D 條狀圖 199
7.17 多麵闆圖形 200
7.17.1 在其他子圖中顯示子圖 200
7.17.2 子圖網格 202
7.18 小結 204
第8 章 用scikit-learn 庫實現機器學習 205
8.1 scikit-learn 庫 205
8.2 機器學習 205
8.2.1 有監督和無監督學習 205
8.2.2 訓練集和測試集 206
8.3 用scikit-learn 實現有監督學習 206
8.4 Iris 數據集 206
8.5 K-近鄰分類器 211
8.6 Diabetes 數據集 214
8.7 綫性迴歸:最小平方迴歸 215
8.8 支持嚮量機 219
8.8.1 支持嚮量分類 219
8.8.2 非綫性SVC 223
8.8.3 繪製SVM 分類器對Iris 數據集的分類效果圖 225
8.8.4 支持嚮量迴歸 227
8.9 小結 229
第9 章 數據分析實例——氣象數據 230
9.1 待檢驗的假設:靠海對氣候的影響 230
9.2 數據源 233
9.3 用IPython Notebook 做數據分析 234
9.4 風嚮頻率玫瑰圖 246
9.5 小結 251
第10 章 IPython Notebook 內嵌JavaScript 庫D3 252
10.1 開放的人口數據源 252
10.2 JavaScript 庫D3 255
10.3 繪製簇狀條狀圖 259
10.4 地區分布圖 262
10.5 2014 年美國人口地區分布圖 266
10.6 小結 270
第11 章 識彆手寫體數字 271
11.1 手寫體識彆 271
11.2 用scikit-learn 識彆手寫體數字 271
11.3 Digits 數據集 272
11.4 學習和預測 274
11.5 小結 276
附錄A 用LaTeX 編寫數學錶達式 277
附錄B 開放數據源 287
Python數據分析實戰 下載 mobi epub pdf txt 電子書 格式