《NumPy攻略:Python科学计算与数据分析》详细介绍了70多种多样学习培训Python开源系统课堂教学库NumPy的趣味方式,教會用户怎样安裝和应用NumPy,并掌握别的某些有关定义,从而把握NumPy arrays以及通用性作用,书中的事例还涉及到Matplotlib、SciPy 等Python科学计算生态体系中的别的关键手机软件。除此之外,还详细介绍了NumPy 和第三方软件的互动、特性剖析和调节、软件测试和Cython等较为进阶的话题讨论。 《NumPy攻略:Python科学计算与数据分析》的总体目标用户是对Python和NumPy有基础掌握,而且期待自身的水准能更上一层的高新科技工作人员、技术工程师、程序猿和投资分析师。
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