百度雲盤:Python數據分析基礎教程:NumPy學習指南(第2版)PDF高清完整版免費下載shell
提取碼:rznu編程
內容簡介
NumPy是一個優秀的科學計算庫,提供了不少實用的數學函數、強大的多維數組對象和優異的計算性能,不只能夠取代Matlab和Mathematica的許多功能,並且業已成爲Python科學計算生態系統的重要組成部分。但與這些商業產品不一樣,它是免費的開源軟件。數組
本書從NumPy安裝講起,逐漸過渡到數組對象、經常使用函數、矩陣運算、線性代數、金融函數、窗函數、質量控制等內容,致力於向初中級Python編程人員全面講述NumPy及其使用。另外,經過書中豐富的示例,你還將學會Matplotlib繪圖,並結合使用其餘Python科學計算庫(如SciPy和Scikits),讓工做更有成效,讓代碼更加簡潔而高效。app
主要內容:函數
在不一樣平臺安裝NumPy;工具
用簡潔高效的NumPy代碼實現高性能計算;性能
使用功能強大的通用函數;單元測試
使用NumPy數組和矩陣;學習
用NumPy模塊輕鬆執行復雜的數值計算;測試
Matplotlib繪圖;
NumPy代碼測試。
做者簡介
Ivan Idris
實驗物理學碩士,曾在多家公司從事Java開發、數據倉庫開發和軟件測試的工做,主要關注商務智能、大數據和雲計算。Ivan喜歡寫簡潔的可測試代碼,並樂於撰寫有趣的技術文章,另著有《NumPy攻略:Python科學計算與數據分析》和Instant Pygame for Python Game Development How-to。我的博客:ivanidris.net。
目錄
第1章 NumPy快速入門 1 1.1 Python 1 1.2 動手實踐:在不一樣的操做系統上安裝Python 1 1.3 Windows 2 1.4 動手實踐:在Windows上安裝NumPy、Matplotlib、SciPy和IPython 2 1.5 Linux 4 1.6 動手實踐:在Linux上安裝NumPy、Matplotlib、SciPy和IPython 5 1.7 Mac OS X 5 1.8 動手實踐:在Mac OS X上安裝NumPy、Matplotlib和SciPy 5 1.9 動手實踐:使用MacPorts或Fink安裝NumPy、SciPy、Matplotlib和IPython 7 1.10 編譯源代碼 8 1.11 數組對象 8 1.12 動手實踐:向量加法 8 1.13 IPython:一個交互式shell工具 11 1.14 在線資源和幫助 14 1.15 本章小結 15 第2章 NumPy基礎 16 2.1 NumPy數組對象 16 2.2 動手實踐:建立多維數組 17 2.2.1 選取數組元素 18 2.2.2 NumPy數據類型 19 2.2.3 數據類型對象 20 2.2.4 字符編碼 20 2.2.5 自定義數據類型 21 2.2.6 dtype類的屬性 22 2.3 動手實踐:建立自定義數據類型 22 2.4 一維數組的索引和切片 23 2.5 動手實踐:多維數組的切片和索引 23 2.6 動手實踐:改變數組的維度 26 2.7 數組的組合 27 2.8 動手實踐:組合數組 27 2.9 數組的分割 30 2.10 動手實踐:分割數組 30 2.11 數組的屬性 32 2.12 動手實踐:數組的轉換 34 2.13 本章小結 35 第3章 經常使用函數 36 3.1 文件讀寫 36 3.2 動手實踐:讀寫文件 36 3.3 CSV文件 37 3.4 動手實踐:讀入CSV文件 37 3.5 成交量加權平均價格(VWAP) 38 3.6 動手實踐:計算成交量加權平均價格 38 3.6.1 算術平均值函數 38 3.6.2 時間加權平均價格 39 3.7 取值範圍 39 3.8 動手實踐:找到最大值和最小值 40 3.9 統計分析 41 3.10 動手實踐:簡單統計分析 41 3.11 股票收益率 43 3.12 動手實踐:分析股票收益率 43 3.13 日期分析 45 3.14 動手實踐:分析日期數據 45 3.15 周彙總 48 3.16 動手實踐:彙總數據 48 3.17 真實波動幅度均值(ATR) 52 3.18 動手實踐:計算真實波動幅度均值 52 3.19 簡單移動平均線 54 3.20 動手實踐:計算簡單移動平均線 54 3.21 指數移動平均線 56 3.22 動手實踐:計算指數移動平均線 56 3.23 布林帶 58 3.24 動手實踐:繪製布林帶 58 3.25 線性模型 61 3.26 動手實踐:用線性模型預測價格 61 3.27 趨勢線 63 3.28 動手實踐:繪製趨勢線 63 3.29 ndarray對象的方法 66 3.30 動手實踐:數組的修剪和壓縮 67 3.31 階乘 67 3.32 動手實踐:計算階乘 67 3.33 本章小結 68 第4章 便捷函數 70 4.1 相關性 70 4.2 動手實踐:股票相關性分析 71 4.3 多項式 74 4.4 動手實踐:多項式擬合 74 4.5 淨額成交量 77 4.6 動手實踐:計算OBV 78 4.7 交易過程模擬 79 4.8 動手實踐:避免使用循環 80 4.9 數據平滑 82 4.10 動手實踐:使用hanning函數平滑數據 82 4.11 本章小結 85 第5章 矩陣和通用函數 86 5.1 矩陣 86 5.2 動手實踐:建立矩陣 86 5.3 從已有矩陣建立新矩陣 88 5.4 動手實踐:從已有矩陣建立新矩陣 88 5.5 通用函數 89 5.6 動手實踐:建立通用函數 89 5.7 通用函數的方法 90 5.8 動手實踐:在add上調用通用函數的方法 91 5.9 算術運算 93 5.10 動手實踐:數組的除法運算 93 5.11 模運算 95 5.12 動手實踐:模運算 95 5.13 斐波那契數列 96 5.14 動手實踐:計算斐波那契數列 96 5.15 利薩茹曲線 97 5.16 動手實踐:繪製利薩茹曲線 97 5.17 方波 99 5.18 動手實踐:繪製方波 99 5.19 鋸齒波和三角波 100 5.20 動手實踐:繪製鋸齒波和三角波 101 5.21 位操做函數和比較函數 102 5.22 動手實踐:玩轉二進制位 102 5.23 本章小結 104 第6章 深刻學習NumPy模塊 105 6.1 線性代數 105 6.2 動手實踐:計算逆矩陣 105 6.3 求解線性方程組 107 6.4 動手實踐:求解線性方程組 107 6.5 特徵值和特徵向量 108 6.6 動手實踐:求解特徵值和特徵向量 108 6.7 奇異值分解 110 6.8 動手實踐:分解矩陣 110 6.9 廣義逆矩陣 112 6.10 動手實踐:計算廣義逆矩陣 112 6.11 行列式 113 6.12 動手實踐:計算矩陣的行列式 113 6.13 快速傅里葉變換 114 6.14 動手實踐:計算傅里葉變換 114 6.15 移頻 115 6.16 動手實踐:移頻 116 6.17 隨機數 117 6.18 動手實踐:硬幣賭博遊戲 117 6.19 超幾何分佈 119 6.20 動手實踐:模擬遊戲秀節目 119 6.21 連續分佈 121 6.22 動手實踐:繪製正態分佈 121 6.23 對數正態分佈 122 6.24 動手實踐:繪製對數正態分佈 122 6.25 本章小結 123 第7章 專用函數 124 7.1 排序 124 7.2 動手實踐:按字典序排序 124 7.3 複數 126 7.4 動手實踐:對複數進行排序 126 7.5 搜索 127 7.6 動手實踐:使用searchsorted函數 127 7.7 數組元素抽取 128 7.8 動手實踐:從數組中抽取元素 128 7.9 金融函數 129 7.10 動手實踐:計算終值 130 7.11 現值 131 7.12 動手實踐:計算現值 131 7.13 淨現值 131 7.14 動手實踐:計算淨現值 132 7.15 內部收益率 132 7.16 動手實踐:計算內部收益率 132 7.17 分期付款 133 7.18 動手實踐:計算分期付款 133 7.19 付款期數 133 7.20 動手實踐:計算付款期數 134 7.21 利率 134 7.22 動手實踐:計算利率 134 7.23 窗函數 134 7.24 動手實踐:繪製巴特利特窗 135 7.25 布萊克曼窗 135 7.26 動手實踐:使用布萊克曼窗平滑股價數據 136 7.27 漢明窗 137 7.28 動手實踐:繪製漢明窗 137 7.29 凱澤窗 138 7.30 動手實踐:繪製凱澤窗 138 7.31 專用數學函數 139 7.32 動手實踐:繪製修正的貝塞爾函數 139 7.33 sinc函數 140 7.34 動手實踐:繪製sinc函數 140 7.35 本章小結 142 第8章 質量控制 143 8.1 斷言函數 143 8.2 動手實踐:使用assert_almost_equal斷言近似相等 144 8.3 近似相等 145 8.4 動手實踐:使用assert_approx_equal斷言近似相等 145 8.5 數組近似相等 146 8.6 動手實踐:斷言數組近似相等 146 8.7 數組相等 147 8.8 動手實踐:比較數組 147 8.9 數組排序 148 8.10 動手實踐:覈對數組排序 148 8.11 對象比較 149 8.12 動手實踐:比較對象 149 8.13 字符串比較 149 8.14 動手實踐:比較字符串 150 8.15 浮點數比較 150 8.16 動手實踐:使用assert_array_ almost_equal_nulp比較浮點數 151 8.17 多ULP的浮點數比較 151 8.18 動手實踐:設置maxulp並比較浮點數 151 8.19 單元測試 152 8.20 動手實踐:編寫單元測試 152 8.21 nose和測試裝飾器 154 8.22 動手實踐:使用測試裝飾器 155 8.23 文檔字符串 157 8.24 動手實踐:執行文檔字符串測試 157 8.25 本章小結 158 第9章 使用Matplotlib繪圖 159 9.1 簡單繪圖 159 9.2 動手實踐:繪製多項式函數 159 9.3 格式字符串 161 9.4 動手實踐:繪製多項式函數及其導函數 161 9.5 子圖 163 9.6 動手實踐:繪製多項式函數及其導函數 163 9.7 財經 165 9.8 動手實踐:繪製整年股票價格 165 9.9 直方圖 167 9.10 動手實踐:繪製股價分佈直方圖 167 9.11 對數座標圖 169 9.12 動手實踐:繪製股票成交量 169 9.13 散點圖 171 9.14 動手實踐:繪製股票收益率和成交量變化的散點圖 171 9.15 着色 173 9.16 動手實踐:根據條件進行着色 173 9.17 圖例和註釋 175 9.18 動手實踐:使用圖例和註釋 175 9.19 三維繪圖 177 9.20 動手實踐:在三維空間中繪圖 178 9.21 等高線圖 179 9.22 動手實踐:繪製色彩填充的等高線圖 179 9.23 動畫 180 9.24 動手實踐:製做動畫 180 9.25 本章小結 182 第10章 NumPy的擴展:SciPy 183 10.1 MATLAB和Octave 183 10.2 動手實踐:保存和加載.mat文件 183 10.3 統計 184 10.4 動手實踐:分析隨機數 185 10.5 樣本比對和SciKits 187 10.6 動手實踐:比較股票對數收益率 187 10.7 信號處理 190 10.8 動手實踐:檢測QQQ股價的線性趨勢 190 10.9 傅里葉分析 192 10.10 動手實踐:對去除趨勢後的信號進行濾波處理 192 10.11 數學優化 194 10.12 動手實踐:擬合正弦波 195 10.13 數值積分 197 10.14 動手實踐:計算高斯積分 198 10.15 插值 198 10.16 動手實踐:一維插值 198 10.17 圖像處理 200 10.18 動手實踐:處理Lena圖像 200 10.19 音頻處理 202 10.20 動手實踐:重複音頻片斷 202 10.21 本章小結 204 第11章 玩轉Pygame 205 11.1 Pygame 205 11.2 動手實踐:安裝Pygame 205 11.3 Hello World 206 11.4 動手實踐:製做簡單遊戲 206 11.5 動畫 208 11.6 動手實踐:使用NumPy和Pygame製做動畫對象 208 11.7 Matplotlib 211 11.8 動手實踐:在Pygame中使用Matplotlib 211 11.9 屏幕像素 214 11.10 動手實踐:訪問屏幕像素 214 11.11 人工智能 216 11.12 動手實踐:數據點聚類 216 11.13 OpenGL和Pygame 218 11.14 動手實踐:繪製謝爾賓斯基地毯 218 11.15 模擬遊戲 221 11.16 動手實踐:模擬生命 221 11.17 本章小結 224 突擊測驗答案 225