編輯推薦
Python擁有許多強大的程序庫,已經成為進行各種數據分析和預測建模任務的流行平颱。Python的應用範圍很廣,拓展性很大。本書介紹瞭眾多的Python模塊,例如Matplotlib、statsmodels、scikit-learn和NLTK。同時,本書還介紹瞭Python如何與外部環境(例如R、Fortran、C/C++和Boost庫)進行交互。
通過閱讀本書,你將學會如何使用Python處理和操作數據,並完成復雜的分析和建模。我們將藉助NumPy和Pandas來學習數據的各種操作。本書將介紹如何從各種數據源(例如SQL、NoSQL、CSV文件和HDF5)中存儲和檢索數據。此外,我們還將學習如何通過可視化庫實現數據的可視化,以及信號處理、時間序列、文本數據分析、機器學習和社交媒體分析等主題。
內容簡介
Python作為一種程序設計語言,憑藉其簡潔、易讀及可擴展性日漸成為程序設計領域備受推崇的語言。同時,Python語言的數據分析功能也逐漸為大眾所認可。
本書就是一本介紹如何用Python進行數據分析的學習指南。全書共12章,從Python程序庫入門、NumPy數組和Pandas入門開始,陸續介紹瞭數據的檢索、數據加工與存儲、數據可視化等內容。同時,本書還介紹瞭信號處理與時間序列、應用數據庫、分析文本數據與社交媒體、預測性分析與機器學習、Python生態係統的外部環境和雲計算、性能優化及分析、並發性等內容。在本書的最後,還采用3個附錄的形式為讀者補充瞭一些重要概念、常用函數以及在綫資源等重要內容。
本書延續瞭上一版示例豐富、簡單易懂的優點,非常適閤對Python語言感興趣或者想要使用Python語言進行數據分析的讀者參考閱讀。
作者簡介
Armando Fandango是Epic工程谘詢集團知名數據科學傢,負責與國防和政府機構有關的保密項目。Armando是一位技術精湛的技術人員,擁有全球創業公司和大型公司的工作經曆和管理經驗。他的工作涉及金融科技、證券交易所、銀行、生物信息學、基因組學、廣告技術、基礎設施、交通運輸、能源、人力資源和娛樂等多個領域。
Armando在預測分析、數據科學、機器學習、大數據、産品工程、高性能計算和雲基礎設施等項目中工作瞭十多年。他的研究興趣橫跨機器學習、深度學習和科學計算等領域。
目錄
第 1章 Python程序庫入門 1
1.1 安裝Python 3 3
1.1.1 安裝數據分析程序庫 3
1.1.2 Linux平颱或Mac OS X平颱 3
1.1.3 Windows平颱 4
1.2 將IPython用作shell 4
1.3 學習手冊頁 6
1.4 Jupyter Notebook 7
1.5 NumPy數組 8
1.6 一個簡單的應用 8
1.7 從何處尋求幫助和參考資料 11
1.8 查看Python庫中包含的模塊 12
1.9 通過Matplotlib實現數據的可視化 12
1.10 小結 14
第 2章 NumPy數組 15
2.1 NumPy數組對象 16
2.2 創建多維數組 17
2.3 選擇NumPy數組元素 17
2.4 NumPy的數值類型 18
2.4.1 數據類型對象 20
2.4.2 字符碼 20
2.4.3 dtype構造函數 21
2.4.4 dtype屬性 22
2.5 一維數組的切片與索引 23
2.6 處理數組形狀 23
2.6.1 堆疊數組 25
2.6.2 拆分NumPy數組 28
2.6.3 NumPy數組的屬性 30
2.6.4 數組的轉換 34
2.7 創建數組的視圖和拷貝 35
2.8 花式索引 36
2.9 基於位置列錶的索引方法 38
2.10 用布爾型變量索引NumPy數組 39
2.11 NumPy數組的廣播 41
2.12 小結 44
2.13 參考資料 44
第3章 Pandas入門 45
3.1 Pandas的安裝與概覽 46
3.2 Pandas數據結構之DataFrame 47
3.3 Pandas數據結構之Series 49
3.4 利用Pandas查詢數據 52
3.5 利用Pandas的DataFrame進行統計計算 56
3.6 利用Pandas的DataFrame實現
數據聚閤 58
3.7 DataFrame的串聯與附加
操作 62
3.8 連接DataFrames 63
3.9 處理缺失數據問題 65
3.10 處理日期數據 67
3.11 數據透視錶 70
3.12 小結 71
3.13 參考資料 71
第4章 統計學與綫性代數 72
4.1 用NumPy進行簡單的描述性統計計算 72
4.2 用NumPy進行綫性代數運算 75
4.2.1 用NumPy求矩陣的逆 75
4.2.2 用NumPy解綫性方程組 77
4.3 用NumPy計算特徵值和特徵嚮量 78
4.4 NumPy隨機數 80
4.4.1 用二項式分布進行博弈 81
4.4.2 正態分布采樣 83
4.4.3 用SciPy進行正態檢驗 84
4.5 創建掩碼式NumPy數組 86
4.6 忽略負值和極值 88
4.7 小結 91
第5章 數據的檢索、加工與存儲 92
5.1 利用NumPy和pandas對CSV文件進行寫操作 92
5.2 二進製.npy與pickle格式 94
5.3 使用PyTables存儲數據 97
5.4 Pandas DataFrame與HDF5倉庫之間的讀寫操作 99
5.5 使用Pandas讀寫Excel文件 102
5.6 使用REST Web服務和JSON 103
5.7 使用Pandas讀寫JSON 105
5.8 解析RSS和Atom訂閱 106
5.9 使用Beautiful Soup解析HTML 108
5.10 小結 114
5.11 參考資料 114
第6章 數據可視化 115
6.1 Matplotlib的子庫 116
6.2 Matplotlib繪圖入門 116
6.3 對數圖 118
6.4 散點圖 119
6.5 圖例和注解 121
6.6 三維圖 123
6.7 Pandas繪圖 125
6.8 時滯圖 127
6.9 自相關圖 129
6.10 Plot.ly 130
6.11 小結 132
第7章 信號處理與時間序列 133
7.1 statsmodels模塊 134
7.2 移動平均值 134
7.3 窗口函數 136
7.4 協整的定義 138
7.5 自相關 140
7.6 自迴歸模型 142
7.7 ARMA模型 145
7.8 生成周期信號 147
7.9 傅裏葉分析 149
7.10 譜分析 152
7.11 濾波 153
7.12 小結 155
第8章 應用數據庫 156
8.1 基於sqlite3的輕量級訪問 157
8.2 通過Pandas訪問數據庫 159
8.3 SQLAlchemy 161
8.3.1 SQLAlchemy的安裝和配置 161
8.3.2 通過SQLAlchemy填充數據庫 162
8.3.3 通過SQLAlchemy查詢數據庫 164
8.4 Pony ORM 166
8.5 Dataset:懶人數據庫 167
8.6 PyMongo與MongoDB 168
8.7 利用Redis存儲數據 170
8.8 利用memcache存儲數據 171
8.9 Apache Cassandra 172
8.10 小結 174
第9章 分析文本數據和社交媒體 176
9.1 安裝NLTK 177
9.2 NLTK簡介 177
9.3 濾除停用字、姓名和數字 178
9.4 詞袋模型 180
9.5 詞頻分析 181
9.6 樸素貝葉斯分類 183
9.7 情感分析 186
9.8 創建詞雲 189
9.9 社交網絡分析 193
9.10 小結 195
第 10章 預測性分析與機器學習 197
10.1 預處理 198
10.2 基於邏輯迴歸的分類 201
10.3 基於支持嚮量機的分類 202
10.4 基於ElasticNetCV的迴歸分析 205
10.5 支持嚮量迴歸 207
10.6 基於相似性傳播算法的聚類
分析 210
10.7 均值漂移算法 211
10.8 遺傳算法 213
10.9 神經網絡 217
10.10 決策樹 219
10.11 小結 222
第 11章 Python生態係統的外部環境和雲計算 223
11.1 與MATLAB/Octave交換
信息 224
11.2 安裝rpy2 225
11.3 連接R 225
11.4 為Java傳遞NumPy數組 228
11.5 集成SWIG和NumPy 229
11.6 集成Boost和Python 233
11.7 通過f2py使用Fortran代碼 235
11.8 PythonAnywhere雲 236
11.9 小結 238
第 12章 性能優化、性能分析與並發性 239
12.1 代碼的性能分析 240
12.2 安裝Cython 245
12.3 調用C代碼 248
12.4 利用multiprocessing創建進程池 252
12.5 通過Joblib提高for循環的並發性 254
12.6 比較Bottleneck函數與NumPy函數 255
12.7 通過Jug實現MapReduce 257
12.8 安裝MPI for Python 259
12.9 IPython Parallel 260
12.10 小結 263
附錄A 重要概念 264
附錄B 常用函數 269
Python數據分析 第2版 下載 mobi epub pdf txt 電子書 格式