扫描右侧图片或微信搜索 “ Java技术分享屋
” ,回复 “ 验证码
” ,获取验证密码。
本资料仅供读者预览及学习交流使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版!
一.资料图片
二.资料简介
NumPy是一个优秀的科学计算库,提供了很多实用的数学函数、强大的多维数组对象和优异的计算性能,不仅可以取代Matlab和Mathematica的许多功能,而且业已成为Python科学计算生态系统的重要组成部分。但与这些商业产品不同,它是免费的开源软件。
本书从NumPy安装讲起,逐渐过渡到数组对象、常用函数、矩阵运算、线性代数、金融函数、窗函数、质量控制等内容,致力于向初中级Python编程人员全面讲述NumPy及其使用。另外,通过书中丰富的示例,你还将学会Matplotlib绘图,并结合使用其他Python科学计算库(如SciPy和Scikits),让工作更有成效,让代码更加简洁而高效。
主要内容:
在不同平台安装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