《NumPy攻略》是2013年人民郵電出版社出版的圖書,作者是印尼IvanIdris。本書帶領讀者了解熟悉當下最流行的科學計算庫NumPy的方方面面。
基本介紹
- 作者:印尼 Ivan Idris
- 譯者:張崇明
- ISBN:9787115329912
- 頁數:188
- 定價:49.00
- 出版社:人民郵電出版社
- 出版時間:2013-10
- 裝幀:平裝
- 副標題:Python科學計算與數據分析
- 原作名:NumPy Cookbook
內容介紹,作者介紹,作品目錄,
內容介紹
書中不僅介紹了NumPy的安裝、使用和各種相關概念,還介紹了如何利用這一最新的開源軟體庫,以儘可能接近傳統數學語言的方式,編寫可讀性好、實現效率高和運行速度快的代碼。最後還探究了幾個和NumPy相關的科學計算項目。此外,本書將為你掌握NumPy數組和通用函式打下堅實的基礎,也會通過實例教你用Matplotlib繪圖,並了解和SciPy相關的項目。
本書將幫助你:
· 學習高級索引技術和線性代數知識
· 了解數組形狀及圖像大小的調整
· 探察廣播機制和直方圖
· 分析NumPy代碼並用可視化的方式表示分析結果
· 用Cython為代碼提速
· 使用數組接口共享數據
· 使用通用函式和互操作功能
· 學習Matplotlib以及經常和NumPy同時使用的SciPy
作者介紹
作者簡介:
Ivan Idris
實驗物理學碩士。先後任職於多家公司,從事Java開發、數據倉庫開發和QA分析等工作。主要的興趣是商業智慧型、大數據和雲計算,喜歡編寫整潔、可測試的代碼,以及撰寫有趣的技術文章。另著有NumPy Beginner's Guide和Instant Pygame for Python Game Development How-to等書。可以訪問ivanidris.net獲取更多信息。
譯者簡介:
張崇明
本科及研究生畢業於天津大學精密儀器與光電子工程學院,博士畢業於復旦大學計算機科學技術學院。在中興通訊南京研發中心做過三年通信軟體的開發。目前在上海師範大學信息與機電工程學院從事教學和科研工作。
作品目錄
目 錄
第1章 使用IPython 1
1.1 引言 1
1.2 安裝IPython 2
1.2.1 具體步驟 2
1.2.2 攻略小結 3
1.3 使用IPython的shell 4
1.3.1 具體步驟 4
1.3.2 攻略小結 6
1.4 閱讀手冊頁 6
1.4.1 具體步驟 6
1.4.2 攻略小結 6
1.5 安裝Matplotlib 7
1.6 運行基於Web的notebook 8
1.6.1 準備工作 8
1.6.2 具體步驟 8
1.6.3 攻略小結 10
1.6.4 參考閱讀 10
1.7 導出基於Web的notebook 10
1.8 導入基於Web的notebook 12
1.9 配置notebook伺服器 14
1.9.1 具體步驟 15
1.9.2 攻略小結 16
1.10 初探SymPy配置 17
1.10.1 準備工作 17
1.10.2 具體步驟 17
第2章 高級索引和數組概念 19
2.1 引言 19
2.2 安裝SciPy 20
2.2.1 準備工作 20
2.2.2 具體步驟 20
2.2.3 攻略小結 21
2.3 安裝PIL 22
2.4 調整圖像大小 22
2.4.1 準備工作 23
2.4.2 具體步驟 23
2.4.3 攻略小結 25
2.4.4 參考閱讀 25
2.5 創建視圖和副本 25
2.5.1 準備工作 25
2.5.2 具體步驟 26
2.5.3 攻略小結 27
2.6 翻轉圖像 27
2.6.1 具體步驟 27
2.6.2 參考閱讀 29
2.7 高級索引 29
2.7.1 具體步驟 29
2.7.2 攻略小結 31
2.8 位置列表型索引 31
2.9 布爾型索引 32
2.9.1 具體步驟 33
2.9.2 攻略小結 34
2.9.3 參考閱讀 34
2.10 數獨遊戲中的跨度技巧 34
2.10.1 具體步驟 35
2.10.2 攻略小結 37
2.11 用廣播機制擴展數組 37
第3章 常用函式 40
3.1 引言 40
3.2 斐波那契數列求和 41
3.2.1 具體步驟 41
3.2.2 攻略小結 44
3.2.3 參考閱讀 44
3.3 尋找質因數 44
3.3.1 具體步驟 44
3.3.2 攻略小結 46
3.4 尋找迴文數 46
3.4.1 具體步驟 46
3.4.2 攻略小結 48
3.4.3 更多工作 48
3.5 確定穩態向量 48
3.5.1 具體步驟 48
3.5.2 攻略小結 52
3.5.3 參考閱讀 53
3.6 發現冪律分布 53
3.6.1 具體步驟 53
3.6.2 攻略小結 55
3.6.3 參考閱讀 55
3.7 定期在低點做交易 55
3.7.1 準備工作 56
3.7.2 具體步驟 56
3.7.3 攻略小結 58
3.7.4 參考閱讀 58
3.8 模擬在隨機時間點做交易 59
3.8.1 準備工作 59
3.8.2 具體步驟 59
3.8.3 攻略小結 61
3.8.4 參考閱讀 61
3.9 用埃氏篩篩選整數 61
第4章 NumPy與其他軟體的互動 63
4.1 引言 63
4.2 使用緩衝區協定 64
4.2.1 準備工作 64
4.2.2 具體步驟 64
4.2.3 攻略小結 66
4.2.4 參考閱讀 66
4.3 使用數組接口 66
4.3.1 準備工作 66
4.3.2 具體步驟 66
4.3.3 攻略小結 67
4.3.4 參考閱讀 68
4.4 與MATLAB和Octave交換數據 68
4.4.1 準備工作 68
4.4.2 具體步驟 68
4.4.3 參考閱讀 69
4.5 安裝RPy2 69
4.6 連線到R 69
4.6.1 準備工作 70
4.6.2 具體步驟 70
4.6.3 參考閱讀 71
4.7 安裝JPype 71
4.8 傳遞NumPy數組到JPype 71
4.8.1 具體步驟 72
4.8.2 攻略小結 73
4.8.3 參考閱讀 73
4.9 安裝谷歌應用程式引擎 73
4.10 在谷歌雲中部署NumPy代碼 74
4.10.1 具體步驟 75
4.10.2 攻略小結 76
4.11 在Python Anywhere的Web控制台中運行NumPy代碼 76
4.11.1 具體步驟 77
4.11.2 攻略小結 78
4.12 設定PiCloud 78
4.12.1 具體步驟 79
4.12.2 攻略小結 80
第5章 聲音和圖像處理 81
5.1 引言 81
5.2 載入圖像到記憶體映射區 81
5.2.1 準備工作 82
5.2.2 具體步驟 82
5.2.3 攻略小結 85
5.2.4 參考閱讀 85
5.3 合併圖像 85
5.3.1 準備工作 85
5.3.2 具體步驟 86
5.3.3 攻略小結 88
5.3.4 參考閱讀 88
5.4 圖像的模糊化處理 89
5.4.1 具體步驟 89
5.4.2 攻略小結 91
5.5 複製聲音片段 91
5.5.1 具體步驟 91
5.5.2 攻略小結 93
5.6 合成聲音 94
5.6.1 具體步驟 94
5.6.2 攻略小結 96
5.7 設計音頻濾波器 96
5.7.1 具體步驟 97
5.7.2 攻略小結 99
5.8 用索貝爾濾波器進行邊緣檢測 99
5.8.1 具體步驟 99
5.8.2 攻略小結 101
第6章 特殊類型數組與通用函式 102
6.1 引言 102
6.2 創建一個通用函式 102
6.2.1 具體步驟 102
6.2.2 攻略小結 103
6.3 尋找勾股數 103
6.3.1 具體步驟 103
6.3.2 攻略小結 105
6.4 用chararray做字元串操作 105
6.4.1 具體步驟 105
6.4.2 攻略小結 106
6.5 創建一個masked類型的數組 106
6.5.1 具體步驟 106
6.5.2 攻略小結 108
6.6 忽略負值和極值 108
6.6.1 具體步驟 108
6.6.2 攻略小結 111
6.7 用recarray創建評分表 111
6.7.1 具體步驟 112
6.7.2 攻略小結 114
第7章 性能分析與調試 115
7.1 引言 115
7.2 用timeit進行性能分析 115
7.2.1 具體步驟 115
7.2.2 攻略小結 118
7.3 用IPython進行性能分析 118
7.3.1 具體步驟 118
7.3.2 攻略小結 120
7.4 安裝line_profiler 120
7.4.1 準備工作 120
7.4.2 具體步驟 120
7.4.3 參考閱讀 121
7.5 用line_profiler分析代碼 121
7.5.1 具體步驟 121
7.5.2 攻略小結 122
7.6 用cProfile擴展模組分析代碼 122
7.7 用IPython進行調試 123
7.7.1 具體步驟 124
7.7.2 攻略小結 125
7.8 用pudb進行調試 126
第8章 質量保證 127
8.1 引言 127
8.2 安裝Pyflakes 127
8.2.1 準備工作 127
8.2.2 具體步驟 128
8.3 用Pyflakes進行靜態分析 128
8.3.1 具體步驟 128
8.3.2 攻略小結 129
8.4 用Pylint分析代碼 129
8.4.1 準備工作 129
8.4.2 具體步驟 130
8.4.3 攻略小結 130
8.4.4 參考閱讀 131
8.5 用Pychecker進行靜態分析 131
8.6 用docstrings測試代碼 132
8.6.1 具體步驟 132
8.6.2 攻略小結 134
8.7 編寫單元測試 134
8.7.1 具體步驟 134
8.7.2 攻略小結 136
8.8 用模擬對象測試代碼 137
8.8.1 具體步驟 137
8.8.2 攻略小結 139
8.9 基於BDD方式的測試 139
8.9.1 具體步驟 139
8.9.2 攻略小結 141
第9章 用Cython為代碼提速 142
9.1 引言 142
9.2 安裝Cython 142
9.3 構建Hello World程式 143
9.3.1 具體步驟 143
9.3.2 攻略小結 144
9.4 在Cython中使用NumPy 144
9.4.1 具體步驟 145
9.4.2 攻略小結 146
9.5 調用C語言函式 146
9.5.1 具體步驟 146
9.5.2 攻略小結 148
9.6 分析Cython代碼 148
9.6.1 具體步驟 148
9.6.2 攻略小結 150
9.7 用Cython求階乘的近似值 150
9.7.1 具體步驟 150
9.7.2 攻略小結 152
第10章 有趣的Scikits 153
10.1 引言 153
10.2 安裝scikits-learn 154
10.2.1 準備工作 154
10.2.2 具體步驟 154
10.3 載入範例數據集 155
10.4 用scikits-learn對道瓊斯成分股做聚類分析 155
10.4.1 具體步驟 156
10.4.2 攻略小結 158
10.5 安裝scikits-statsmodels 158
10.6 用scikits-statsmodels做正態性檢驗 159
10.6.1 具體步驟 159
10.6.2 攻略小結 160
10.7 安裝scikits-image 160
10.8 檢測角點 160
10.8.1 準備工作 161
10.8.2 具體步驟 161
10.8.3 攻略小結 162
10.9 檢測邊緣 162
10.10 安裝Pandas 163
10.11 用Pandas估計股票收益的相關性 164
10.11.1 具體步驟 164
10.11.2 攻略小結 166
10.12 從statsmodels載入數據到pandas對象 166
10.12.1 準備工作 166
10.12.2 具體步驟 167
10.12.3 攻略小結 168
10.13 重採樣時間序列數據 169
10.13.1 具體步驟 169
10.13.2 攻略小結 171
索引 172
第1章 使用IPython 1
1.1 引言 1
1.2 安裝IPython 2
1.2.1 具體步驟 2
1.2.2 攻略小結 3
1.3 使用IPython的shell 4
1.3.1 具體步驟 4
1.3.2 攻略小結 6
1.4 閱讀手冊頁 6
1.4.1 具體步驟 6
1.4.2 攻略小結 6
1.5 安裝Matplotlib 7
1.6 運行基於Web的notebook 8
1.6.1 準備工作 8
1.6.2 具體步驟 8
1.6.3 攻略小結 10
1.6.4 參考閱讀 10
1.7 導出基於Web的notebook 10
1.8 導入基於Web的notebook 12
1.9 配置notebook伺服器 14
1.9.1 具體步驟 15
1.9.2 攻略小結 16
1.10 初探SymPy配置 17
1.10.1 準備工作 17
1.10.2 具體步驟 17
第2章 高級索引和數組概念 19
2.1 引言 19
2.2 安裝SciPy 20
2.2.1 準備工作 20
2.2.2 具體步驟 20
2.2.3 攻略小結 21
2.3 安裝PIL 22
2.4 調整圖像大小 22
2.4.1 準備工作 23
2.4.2 具體步驟 23
2.4.3 攻略小結 25
2.4.4 參考閱讀 25
2.5 創建視圖和副本 25
2.5.1 準備工作 25
2.5.2 具體步驟 26
2.5.3 攻略小結 27
2.6 翻轉圖像 27
2.6.1 具體步驟 27
2.6.2 參考閱讀 29
2.7 高級索引 29
2.7.1 具體步驟 29
2.7.2 攻略小結 31
2.8 位置列表型索引 31
2.9 布爾型索引 32
2.9.1 具體步驟 33
2.9.2 攻略小結 34
2.9.3 參考閱讀 34
2.10 數獨遊戲中的跨度技巧 34
2.10.1 具體步驟 35
2.10.2 攻略小結 37
2.11 用廣播機制擴展數組 37
第3章 常用函式 40
3.1 引言 40
3.2 斐波那契數列求和 41
3.2.1 具體步驟 41
3.2.2 攻略小結 44
3.2.3 參考閱讀 44
3.3 尋找質因數 44
3.3.1 具體步驟 44
3.3.2 攻略小結 46
3.4 尋找迴文數 46
3.4.1 具體步驟 46
3.4.2 攻略小結 48
3.4.3 更多工作 48
3.5 確定穩態向量 48
3.5.1 具體步驟 48
3.5.2 攻略小結 52
3.5.3 參考閱讀 53
3.6 發現冪律分布 53
3.6.1 具體步驟 53
3.6.2 攻略小結 55
3.6.3 參考閱讀 55
3.7 定期在低點做交易 55
3.7.1 準備工作 56
3.7.2 具體步驟 56
3.7.3 攻略小結 58
3.7.4 參考閱讀 58
3.8 模擬在隨機時間點做交易 59
3.8.1 準備工作 59
3.8.2 具體步驟 59
3.8.3 攻略小結 61
3.8.4 參考閱讀 61
3.9 用埃氏篩篩選整數 61
第4章 NumPy與其他軟體的互動 63
4.1 引言 63
4.2 使用緩衝區協定 64
4.2.1 準備工作 64
4.2.2 具體步驟 64
4.2.3 攻略小結 66
4.2.4 參考閱讀 66
4.3 使用數組接口 66
4.3.1 準備工作 66
4.3.2 具體步驟 66
4.3.3 攻略小結 67
4.3.4 參考閱讀 68
4.4 與MATLAB和Octave交換數據 68
4.4.1 準備工作 68
4.4.2 具體步驟 68
4.4.3 參考閱讀 69
4.5 安裝RPy2 69
4.6 連線到R 69
4.6.1 準備工作 70
4.6.2 具體步驟 70
4.6.3 參考閱讀 71
4.7 安裝JPype 71
4.8 傳遞NumPy數組到JPype 71
4.8.1 具體步驟 72
4.8.2 攻略小結 73
4.8.3 參考閱讀 73
4.9 安裝谷歌應用程式引擎 73
4.10 在谷歌雲中部署NumPy代碼 74
4.10.1 具體步驟 75
4.10.2 攻略小結 76
4.11 在Python Anywhere的Web控制台中運行NumPy代碼 76
4.11.1 具體步驟 77
4.11.2 攻略小結 78
4.12 設定PiCloud 78
4.12.1 具體步驟 79
4.12.2 攻略小結 80
第5章 聲音和圖像處理 81
5.1 引言 81
5.2 載入圖像到記憶體映射區 81
5.2.1 準備工作 82
5.2.2 具體步驟 82
5.2.3 攻略小結 85
5.2.4 參考閱讀 85
5.3 合併圖像 85
5.3.1 準備工作 85
5.3.2 具體步驟 86
5.3.3 攻略小結 88
5.3.4 參考閱讀 88
5.4 圖像的模糊化處理 89
5.4.1 具體步驟 89
5.4.2 攻略小結 91
5.5 複製聲音片段 91
5.5.1 具體步驟 91
5.5.2 攻略小結 93
5.6 合成聲音 94
5.6.1 具體步驟 94
5.6.2 攻略小結 96
5.7 設計音頻濾波器 96
5.7.1 具體步驟 97
5.7.2 攻略小結 99
5.8 用索貝爾濾波器進行邊緣檢測 99
5.8.1 具體步驟 99
5.8.2 攻略小結 101
第6章 特殊類型數組與通用函式 102
6.1 引言 102
6.2 創建一個通用函式 102
6.2.1 具體步驟 102
6.2.2 攻略小結 103
6.3 尋找勾股數 103
6.3.1 具體步驟 103
6.3.2 攻略小結 105
6.4 用chararray做字元串操作 105
6.4.1 具體步驟 105
6.4.2 攻略小結 106
6.5 創建一個masked類型的數組 106
6.5.1 具體步驟 106
6.5.2 攻略小結 108
6.6 忽略負值和極值 108
6.6.1 具體步驟 108
6.6.2 攻略小結 111
6.7 用recarray創建評分表 111
6.7.1 具體步驟 112
6.7.2 攻略小結 114
第7章 性能分析與調試 115
7.1 引言 115
7.2 用timeit進行性能分析 115
7.2.1 具體步驟 115
7.2.2 攻略小結 118
7.3 用IPython進行性能分析 118
7.3.1 具體步驟 118
7.3.2 攻略小結 120
7.4 安裝line_profiler 120
7.4.1 準備工作 120
7.4.2 具體步驟 120
7.4.3 參考閱讀 121
7.5 用line_profiler分析代碼 121
7.5.1 具體步驟 121
7.5.2 攻略小結 122
7.6 用cProfile擴展模組分析代碼 122
7.7 用IPython進行調試 123
7.7.1 具體步驟 124
7.7.2 攻略小結 125
7.8 用pudb進行調試 126
第8章 質量保證 127
8.1 引言 127
8.2 安裝Pyflakes 127
8.2.1 準備工作 127
8.2.2 具體步驟 128
8.3 用Pyflakes進行靜態分析 128
8.3.1 具體步驟 128
8.3.2 攻略小結 129
8.4 用Pylint分析代碼 129
8.4.1 準備工作 129
8.4.2 具體步驟 130
8.4.3 攻略小結 130
8.4.4 參考閱讀 131
8.5 用Pychecker進行靜態分析 131
8.6 用docstrings測試代碼 132
8.6.1 具體步驟 132
8.6.2 攻略小結 134
8.7 編寫單元測試 134
8.7.1 具體步驟 134
8.7.2 攻略小結 136
8.8 用模擬對象測試代碼 137
8.8.1 具體步驟 137
8.8.2 攻略小結 139
8.9 基於BDD方式的測試 139
8.9.1 具體步驟 139
8.9.2 攻略小結 141
第9章 用Cython為代碼提速 142
9.1 引言 142
9.2 安裝Cython 142
9.3 構建Hello World程式 143
9.3.1 具體步驟 143
9.3.2 攻略小結 144
9.4 在Cython中使用NumPy 144
9.4.1 具體步驟 145
9.4.2 攻略小結 146
9.5 調用C語言函式 146
9.5.1 具體步驟 146
9.5.2 攻略小結 148
9.6 分析Cython代碼 148
9.6.1 具體步驟 148
9.6.2 攻略小結 150
9.7 用Cython求階乘的近似值 150
9.7.1 具體步驟 150
9.7.2 攻略小結 152
第10章 有趣的Scikits 153
10.1 引言 153
10.2 安裝scikits-learn 154
10.2.1 準備工作 154
10.2.2 具體步驟 154
10.3 載入範例數據集 155
10.4 用scikits-learn對道瓊斯成分股做聚類分析 155
10.4.1 具體步驟 156
10.4.2 攻略小結 158
10.5 安裝scikits-statsmodels 158
10.6 用scikits-statsmodels做正態性檢驗 159
10.6.1 具體步驟 159
10.6.2 攻略小結 160
10.7 安裝scikits-image 160
10.8 檢測角點 160
10.8.1 準備工作 161
10.8.2 具體步驟 161
10.8.3 攻略小結 162
10.9 檢測邊緣 162
10.10 安裝Pandas 163
10.11 用Pandas估計股票收益的相關性 164
10.11.1 具體步驟 164
10.11.2 攻略小結 166
10.12 從statsmodels載入數據到pandas對象 166
10.12.1 準備工作 166
10.12.2 具體步驟 167
10.12.3 攻略小結 168
10.13 重採樣時間序列數據 169
10.13.1 具體步驟 169
10.13.2 攻略小結 171
索引 172