书籍详情
NumPy攻略:Python科学计算与数据分析
作者:(印尼)Ivan Idris 著,张崇明 译
出版社:人民邮电出版社
出版时间:2013-10-01
ISBN:9787115329912
定价:¥49.00
购买这本书可以去
内容简介
《NumPy攻略:Python科学计算与数据分析》带领读者了解熟悉当下最流行的科学计算库NumPy的方方面面。书中不仅介绍了NumPy的安装、使用和各种相关概念,还介绍了如何利用这一最新的开源软件库,以尽可能接近传统数学语言的方式,编写可读性好、实现效率高和运行速度快的代码。最后还探究了几个和NumPy相关的科学计算项目。此外,本书将为你掌握NumPy数组和通用函数打下坚实的基础,也会通过实例教你用Matplotlib绘图,并了解和SciPy相关的项目。《NumPy攻略:Python科学计算与数据分析》将帮助你:·学习高级索引技术和线性代数知识·了解数组形状及图像大小的调整·探察广播机制和直方图·分析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
猜您喜欢