內容簡介
《圖靈程式設計叢書Python數據分析基礎教程:NumPy學習指南(第2版)》是NumPy的入門教程,主要介紹NumPy以及相關的Python科學計算庫,如SciPy和Matplotlib。《圖靈程式設計叢書Python數據分析基礎教程:NumPy學習指南(第2版)》內容涵蓋NumPy安裝、數組對象、常用函式、矩陣運算、線性代數、金融函式、窗函式、質量控制、Matplotlib繪圖、SciPy簡介以及Pygame等內容,涉及面較廣。另外,Ivan Idris針對每個知識點給出了簡短而明晰的示例,並為大部分示例給出了實用場景(如股票數據分析),在幫助初學者入門的同時,提高了本書可讀性。
《圖靈程式設計叢書Python數據分析基礎教程:NumPy學習指南(第2版)》適合正在找尋高質量開源計算庫的科學家、工程師、程式設計師和定量管理分析師閱讀參考。
圖書目錄
第1章 NumPy快速入門
1.1 Python
1.2 動手實踐:在不同的作業系統上安裝Python
1.3 Windows
1.4 動手實踐:在Windows上安裝NumPy、Matplotlib、SciPy和IPython
1.5 Linux
1.6 動手實踐:在Linux上安裝NumPy、Matplotlib、SciPy和IPython
1.7 Mac OS X
1.8 動手實踐:在Mac OS X上安裝NumPy、Matplotlib和SciPy
1.9 動手實踐:使用MacPorts或Fink安裝NumPy、SciPy、Matplotlib和IPython
1.10 編譯原始碼
1.11 數組對象
1.12 動手實踐:向量加法
1.13 IPython:一個互動式shell工具
1.14 線上資源和幫助
1.15 本章小結
第2章 NumPy基礎
2.1 NumPy數組對象
2.2 動手實踐:創建多維數組
2.2.1 選取數組元素
2.2.2 NumPy數據類型
2.2.3 數據類型對象
2.2.4 字元編碼
2.2.5 自定義數據類型
2.2.6 dtype類的屬性
2.3 動手實踐:創建自定義數據類型
2.4 一維數組的索引和切片
2.5 動手實踐:多維數組的切片和索引
2.6 動手實踐:改變數組的維度
2.7 數組的組合
2.8 動手實踐:組合數組
2.9 數組的分割
2.10 動手實踐:分割數組
2.11 數組的屬性
2.12 動手實踐:數組的轉換
2.13 本章小結
第3章 常用函式
3.1 檔案讀寫
3.2 動手實踐:讀寫檔案
3.3 CSV檔案
3.4 動手實踐:讀入CSV檔案
3.5 成交量加權平均價格(VWAP)
3.6 動手實踐:計算成交量加權平均價格
3.6.1 算術平均值函式
3.6.2 時間加權平均價格
3.7 取值範圍
3.8 動手實踐:找到值和小值
3.9 統計分析
3.10 動手實踐:簡單統計分析
3.11 股票收益率
3.12 動手實踐:分析股票收益率
3.13 日期分析
3.14 動手實踐:分析日期數據
3.15 周匯總
3.16 動手實踐:匯總數據
3.17 真實波動幅度均值(ATR)
3.18 動手實踐:計算真實波動幅度均值
3.19 簡單移動平均線
3.20 動手實踐:計算簡單移動平均線
3.21 指數移動平均線
3.22 動手實踐:計算指數移動平均線
3.23 布林帶
3.24 動手實踐:繪製布林帶
3.25 線性模型
3.26 動手實踐:用線性模型預測價格
3.27 趨勢線
3.28 動手實踐:繪製趨勢線
3.29 ndarray對象的方法
3.30 動手實踐:數組的修剪和壓縮
3.31 階乘
3.32 動手實踐:計算階乘
3.33 本章小結
第4章 便捷函式
4.1 相關性
4.2 動手實踐:股票相關性分析
4.3 多項式
4.4 動手實踐:多項式擬合
4.5 淨額成交量
4.6 動手實踐:計算OBV
4.7 交易過程模擬
4.8 動手實踐:避免使用循環
4.9 數據平滑
4.10 動手實踐:使用hanning函式平滑數據
4.11 本章小結
第5章 矩陣和通用函式
5.1 矩陣
5.2 動手實踐:創建矩陣
5.3 從已有矩陣創建新矩陣
5.4 動手實踐:從已有矩陣創建新矩陣
5.5 通用函式
5.6 動手實踐:創建通用函式
5.7 通用函式的方法
5.8 動手實踐:在add上調用通用函式的方法
5.9 算術運算
5.10 動手實踐:數組的除法運算
5.11 模運算
5.12 動手實踐:模運算
5.13 斐波那契數列
5.14 動手實踐:計算斐波那契數列
5.15 利薩茹曲線
5.16 動手實踐:繪製利薩茹曲線
5.17 方波
5.18 動手實踐:繪製方波
5.19 鋸齒波和三角波
5.20 動手實踐:繪製鋸齒波和三角波
5.21 位操作函式和比較函式
5.22 動手實踐:玩轉二進制位
5.23 本章小結
第6章 深入學習NumPy模組
6.1 線性代數
6.2 動手實踐:計算逆矩陣
6.3 求解線性方程組
6.4 動手實踐:求解線性方程組
6.5 特徵值和特徵向量
6.6 動手實踐:求解特徵值和特徵向量
6.7 奇異值分解
6.8 動手實踐:分解矩陣
6.9 廣義逆矩陣
6.10 動手實踐:計算廣義逆矩陣
6.11 行列式
6.12 動手實踐:計算矩陣的行列式
6.13 快速傅立葉變換
6.14 動手實踐:計算傅立葉變換
6.15 移頻
6.16 動手實踐:移頻
6.17 隨機數
6.18 動手實踐:硬幣賭博遊戲
6.19 超幾何分布
6.20 動手實踐:模擬遊戲秀節目
6.21 連續分布
6.22 動手實踐:繪製常態分配
6.23 對數常態分配
6.24 動手實踐:繪製對數常態分配
6.25 本章小結
第7章 專用函式
7.1 排序
7.2 動手實踐:按字典序排序
7.3 複數
7.4 動手實踐:對複數進行排序
7.5 搜尋
7.6 動手實踐:使用searchsorted函式
7.7 數組元素抽取
7.8 動手實踐:從數組中抽取元素
7.9 金融函式
7.10 動手實踐:計算終值
7.11 現值
7.12 動手實踐:計算現值
7.13 淨現值
7.14 動手實踐:計算淨現值
7.15 內部收益率
7.16 動手實踐:計算內部收益率
7.17 分期付款
7.18 動手實踐:計算分期付款
7.19 付款期數
7.20 動手實踐:計算付款期數
7.21 利率
7.22 動手實踐:計算利率
7.23 窗函式
7.24 動手實踐:繪製巴特利特窗
7.25 布萊克曼窗
7.26 動手實踐:使用布萊克曼窗平滑股價數據
7.27 漢明窗
7.28 動手實踐:繪製漢明窗
7.29 凱澤窗
7.30 動手實踐:繪製凱澤窗
7.31 專用數學函式
7.32 動手實踐:繪製修正的貝塞爾函式
7.33 sinc函式
7.34 動手實踐:繪製sinc函式
7.35 本章小結
第8章 質量控制
8.1 斷言函式
8.2 動手實踐:使用assert_almost_equal斷言近似相等
8.3 近似相等
8.4 動手實踐:使用assert_approx_equal斷言近似相等
8.5 數組近似相等
8.6 動手實踐:斷言數組近似相等
8.7 數組相等
8.8 動手實踐:比較數組
8.9 數組排序
8.10 動手實踐:核對數組排序
8.11 對象比較
8.12 動手實踐:比較對象
8.13 字元串比較
8.14 動手實踐:比較字元串
8.15 浮點數比較
8.16 動手實踐:使用assert_array_ almost_equal_nulp比較浮點數
8.17 多ULP的浮點數比較
8.18 動手實踐:設定maxulp並比較浮點數
8.19 單元測試
8.20 動手實踐:編寫單元測試
8.21 nose和測試裝飾器
8.22 動手實踐:使用測試裝飾器
8.23 文檔字元串
8.24 動手實踐:執行文檔字元串測試
8.25 本章小結
第9章 使用Matplotlib繪圖
9.1 簡單繪圖
9.2 動手實踐:繪製多項式函式
9.3 格式字元串
9.4 動手實踐:繪製多項式函式及其導函式
9.5 子圖
9.6 動手實踐:繪製多項式函式及其導函式
9.7 財經
9.8 動手實踐:繪製全年股票價格
9.9 直方圖
9.10 動手實踐:繪製股價分布直方圖
9.11 對數坐標圖
9.12 動手實踐:繪製股票成交量
9.13 散點圖
9.14 動手實踐:繪製股票收益率和成交量變化的散點圖
9.15 著色
9.16 動手實踐:根據條件進行著色
9.17 圖例和注釋
9.18 動手實踐:使用圖例和注釋
9.19 三維繪圖
9.20 動手實踐:在三維空間中繪圖
9.21 等高線圖
9.22 動手實踐:繪製色彩填充的等高線圖
9.23 動畫
9.24 動手實踐:製作動畫
9.25 本章小結
第10章 NumPy的擴展:SciPy
10.1 MATLAB和Octave
10.2 動手實踐:保存和載入.mat檔案
10.3 統計
10.4 動手實踐:分析隨機數
10.5 樣本比對和SciKits
10.6 動手實踐:比較股票對數收益率
10.7 信號處理
10.8 動手實踐:檢測QQQ股價的線性趨勢
10.9 傅立葉分析
10.10 動手實踐:對去除趨勢後的信號進行濾波處理
10.11 數學最佳化
10.12 動手實踐:擬合正弦波
10.13 數值積分
10.14 動手實踐:計算高斯積分
10.15 插值
10.16 動手實踐:一維插值
10.17 圖像處理
10.18 動手實踐:處理Lena圖像
10.19 音頻處理
10.20 動手實踐:重複音頻片段
10.21 本章小結
第11章 玩轉Pygame
11.1 Pygame
11.2 動手實踐:安裝Pygame
11.3 Hello World
11.4 動手實踐:製作簡單遊戲
11.5 動畫
11.6 動手實踐:使用NumPy和Pygame製作動畫對象
11.7 Matplotlib
11.8 動手實踐:在Pygame中使用Matplotlib
11.9 螢幕像素
11.10 動手實踐:訪問螢幕像素
11.11 人工智慧
11.12 動手實踐:數據點聚類
11.13 OpenGL和Pygame
11.14 動手實踐:繪製謝爾賓斯基地毯
11.15 模擬遊戲
11.16 動手實踐:模擬生命
11.17 本章小結
突擊測驗答案
作者簡介
Ivan Idris,實驗物理學碩士,曾在多家公司從事Java開發、數據倉庫開發和軟體測試的工作,主要關注商務智慧型、大數據和雲計算。Ivan喜歡寫簡潔的可測試代碼,並樂於撰寫有趣的技術文章,另著有《NumPy攻略:Python科學計算與數據分析》和Instant Pygame for Python Game Development How-to。