Python 資料分析 (Python Data Analysis)
內容描述
<內容簡介>
作為一種高級程序設計語言,Python憑借其簡潔、易讀及可擴展性日漸成為程序設計領域備受推崇的語言。同時,Python語言的數據分析功能也逐漸為大眾所認可。
伊德裡斯所著的《Python數據分析》是一本介紹如何用Python進行數據分析的學習指南。全書共12章,從Python程序庫入門、NumPy數組、matplotlib和pandas開始,陸續介紹了數據加工、數據處理和數據可視化等內容。同時,本書還介紹了信號處理、數據庫、文本分析、機器學習、互操作性和性能優化等高級主題。在本書的結尾,還採用3個附錄的形式為讀者補充了一些重要概念、常用函數以及在線資源等重要內容。
本書示例豐富、簡單易懂,非常適合對Python語言感興趣或者想要使用Python語言進行數據分析的讀者參考閱讀。
<章節目錄>
第1章 Python程序庫入門
1.1 本書用到的軟件
1.1.1 軟件的安裝和設置
1.1.2 Windows平臺
1.1.3 Linux平臺
1.1.4 MacOSX平臺
1.2 從源代碼安裝NumPy、SciPy、matplotlib和IPython
1.3 用setuptools安裝
1.4 NumPy數組
1.5 一個簡單的應用
1.6 將IPython用作shell
1.7 學習手冊頁
1.8 IPythonnotebook
1.9 從何處尋求幫助和參考資料
1.10 小結
第2章 NumPy數組
2.1 NumPy數組對象
2.2 創建多維數組
2.3 選擇NumPy數組元素
2.4 NumPy的數值類型
2.4.1 數據類型對象
2.4.2 字符碼
2.4.3 Dtype構造函數
2.4.4 dtype屬性
2.5 一維數組的切片與索引
2.6 處理數組形狀
2.6.1 堆疊數組
2.6.2 拆分NumPy數組
2.6.3 NumPy數組的屬性
2.6.4 數組的轉換
2.7 創建數組的視圖和拷貝
2.8 花式索引
2.9 基於位置列表的索引方法
2.10 用布爾型變量索引NumPy數組
2.11 NumPy數組的廣播
2.12 小結
第3章 統計學與線性代數
3.1 Numpy和Scipy模塊
3.2 用NumPy進行簡單的描述性統計計算
3.3 用NumPy進行線性代數運算
3.3.1 用NumPy求矩陣的逆
3.3.2 用NumPy解線性方程組
3.4 用NumPy計算特徵值和特徵向量
3.5 NumPy隨機數
3.5.1 用二項式分佈進行博弈
3.5.2 正態分佈採樣
3.5.3 用SciPy進行正態檢驗
3.6 創建掩碼式NumPy數組
3.7 小結
第4章 pandas入門
4.1 pandas的安裝與概覽
4.2 pandas數據結構之DataFrame
4.3 pandas數據結構之Series
4.4 利用pandas查詢數據
4.5 利用pandas的DataFrame進行統計計算
4.6 利用pandas的DataFrame實現數據聚合
4.7 DataFrame的串聯與附加操作
4.8 連接DataFrames
4.9 處理缺失數據問題
4.10 處理日期數據
4.11 數據透視表
4.12 訪問遠程數據
4.13 小結
第5章 數據的檢索、加工與存儲
5.1 利用NumPy和pandas對CSV文件進行寫操作
5.2 NumPy.npy與pandasDataFrame
5.3 使用PyTables存儲數據
5.4 PandasDataFrame與HDF5倉庫之間的讀寫操作
5.5 使用pandas讀寫Excel文件
5.6 使用RESTWeb服務和JSON
5.7 使用pandas讀寫JSON
5.8 解析RSS和Atom訂閱
5.9 使用BeautifulSoup解析HTML
5.10 小結
第6章 數據可視化
6.1 matplotlib的子庫
6.2 matplotlib繪圖入門
6.3 對數圖
6.4 散點圖
6.5 圖例和註解
6.6 三維圖
6.7 pandas繪圖
6.8 時滯圖
6.9 自相關圖
6.10 Plot.ly
6.11 小結
第7章 信號處理與時間序列
7.1 statsmodels子庫
7.2 移動平均值
7.3 窗口函數
7.4 協整的定義
7.5 自相關
7.6 自回歸模型
7.7 ARMA模型
7.8 生成周期信號
7.9 傅里葉分析
7.10 譜分析
7.11 濾波
7.12 小結
第8章 應用數據庫
8.1 基於sqlite3的輕量級訪問
8.2 通過pandas訪問數據庫
8.3 SQLAlchemy
8.3.1 SQLAlchemy的安裝和配置
8.3.2 通過SQLAlchemy填充數據庫
8.3.3 通過SQLAlchemy查詢數據庫
8.4 PonyORM
8.5 Dataset:懶人數據庫
8.6 PyMongo與MongoDB
8.7 利用Redis存儲數據
8.8 ApacheCassandra
8.9 小結
第9章 分析文本數據和社交媒體
9.1 安裝NLTK
9.2 濾除停用字、姓名和數字
9.3 詞袋模型
9.4 詞頻分析
9.5 樸素貝葉斯分類
9.6 情感分析
9.7 創建詞雲
9.8 社交網絡分析
9.9 小結
第10章 預測性分析與機器學習
10.1 scikit-learn概貌
10.2 預處理
10.3 基於邏輯回歸的分類
10.4 基於支持向量機的分類
10.5 基於ElasticNetCV的回歸分析
10.6 支持向量回歸
10.7 基於相似性傳播演算法的聚類分析
10.8 均值漂移演算法
10.9 遺傳演算法
10.10 神經網絡
10.11 決策樹
10.12 小結
第11章 Python生態系統的外部環境和雲計算
11.1 與MATLAB/Octave交換信息
11.2 Installingrpy2安裝rpy2
11.3 連接R
11.4 為Java傳遞NumPy數組
11.5 集成SWIG和NumPy
11.6 集成Boost和Python
11.7 通過f2py使用Fortran代碼
11.8 配置谷歌應用引擎
11.9 在PythonAnywhere上運行程序
11.10 使用Wakari
11.11 小結
第12章 性能優化、性能分析與併發性
12.1 代碼的性能分析
12.2 安裝Cython
12.3 調用C代碼
12.4 利用multiprocessing創建進程池
12.5 通過Joblib提高for循環的併發性
12.6 比較Bottleneck函數與NumPy函數
12.7 通過Jug實現MapReduce
12.8 安裝MPIforPython
12.9 IPythonParallel
12.10 小結
附錄A 重要概念
附錄B 常用函數
附錄C 在線資源
<作者介紹>
(印尼)伊德裡斯|譯者:韓波
伊德裡斯,Ivan Idris擁有實驗物理學碩士學位,其畢業論文在《Applied Computer Science》上獲得重點推薦。畢業後,他曾在多家公司歷任Java開發工程師、數據倉庫開發工程師和QA分析師等職務,他的主要專業興趣是商業智能、大數據和雲計算。 Ivan Idris喜歡編寫乾淨、可測試的代碼以及有趣的技術文章。他是《NumPy Beginner's Guide,Second Edition》、《NumPy Cookbook》和《Learning NumPy Array》等PacktPubliShing所出版書籍的作者。