图灵程序设计丛书·Python数据分析基础教程:NumPy学习指南(第2版) [NumPy beginner’s guide,second edition]-so88
图灵程序设计丛书·Python数据分析基础教程:NumPy学习指南(第2版) [NumPy beginner’s guide,second edition] pdf epub mobi txt 电子书 下载 2022
图书介绍
☆☆☆☆☆
||
[印尼] Ivan Idris 著,张驭宇 译
出版社: 人民邮电出版社 ISBN:9787115339409 版次:2 商品编码:11383765 包装:平装 丛书名: 图灵程序设计丛书 外文名称:NumPy beginner’s guide,second edition 开本:16开 出版时间:2014-01-01 用纸:胶版纸 页数:226 正文语种:中文
产品特色
编辑推荐
罕见的NumPy中文入门教程,Python数据分析优选从基础的知识讲起,手把手带你进入大数据挖掘领域囊括大量具有启发性与实用价值的实战案例。
内容简介
《图灵程序设计丛书;Python数据分析基础教程:NumPy学习指南(第2版)》是NumPy的入门教程,主要介绍NumPy以及相关的Python科学计算库,如SciPy和Matplotlib。《图灵程序设计丛书;Python数据分析基础教程:NumPy学习指南(第2版)》内容涵盖NumPy安装、数组对象、常用函数、矩阵运算、线性代数、金融函数、窗函数、质量控制、Matplotlib绘图、SciPy简介以及Pygame等内容,涉及面较广。另外,Ivan Idris针对每个知识点给出了简短而明晰的示例,并为大部分示例给出了实用场景(如股票数据分析),在帮助初学者入门的同时,提高了本书可读性。《图灵程序设计丛书;Python数据分析基础教程:NumPy学习指南(第2版)》适合正在找寻高质量开源计算库的科学家、工程师、程序员和定量管理分析师阅读参考。
作者简介
Ivan Idris,实验物理学硕士,曾在多家公司从事Java开发、数据仓库开发和软件测试的工作,主要关注商务智能、大数据和云计算。Ivan喜欢写简洁的可测试代码,并乐于撰写有趣的技术文章,另著有《NumPy攻略:Python科学计算与数据分析》和Instant Pygame for Python Game Development How-to。内页插图
精彩书评
“本书介绍了大量常用技术,对于我的研究工作来说是本很好的参考书。不过,它绝不止是一本简单的学习指南,因为Ivan Idris很明显在全面而建设性地发掘NumPy的各种功能。……本书还很好地探讨了信息的图形化表示,并用整章篇幅来介绍Matplotlib绘图,及如何生成常用图形以促进工作中的有效沟通。……读者只需具备简单的Python语法知识,便可快速掌握本书知识,结合使用NumPy及其他Python科学计算库提高工作效率。”"本书文风简约而不失深度,深入浅出地讲解了NumPy的使用及相关知识。Ivan Idris不仅给出了大量示例及代码,而且为我们提供了丰富的趣味性练习。"
——读者评论
目录
第1章 NumPy快速入门
1.1 Python
1.2 动手实践:在不同的操作系统上安装Python
1.3 Windows
1.4 动手实践:在Windows上安装NumPy、Matplotlib、SciPy和IPython
1.5 Linux
1.6 动手实践:在Linux上安装NumPy、Matplotlib、SciPy和IPython
1.7 Mac OS X
1.8 动手实践:在Mac OS X上安装NumPy、Matplotlib和SciPy
1.9 动手实践:使用MacPorts或Fink安装NumPy、SciPy、Matplotlib和IPython
1.10 编译源代码
1.11 数组对象
1.12 动手实践:向量加法
1.13 IPython:一个交互式shell工具
1.14 在线资源和帮助
1.15 本章小结
第2章 NumPy基础
2.1 NumPy数组对象
2.2 动手实践:创建多维数组
2.2.1 选取数组元素
2.2.2 NumPy数据类型
2.2.3 数据类型对象
2.2.4 字符编码
2.2.5 自定义数据类型
2.2.6 dtype类的属性
2.3 动手实践:创建自定义数据类型
2.4 一维数组的索引和切片
2.5 动手实践:多维数组的切片和索引
2.6 动手实践:改变数组的维度
2.7 数组的组合
2.8 动手实践:组合数组
2.9 数组的分割
2.10 动手实践:分割数组
2.11 数组的属性
2.12 动手实践:数组的转换
2.13 本章小结
第3章 常用函数
3.1 文件读写
3.2 动手实践:读写文件
3.3 CSV文件
3.4 动手实践:读入CSV文件
3.5 成交量加权平均价格(VWAP)
3.6 动手实践:计算成交量加权平均价格
3.6.1 算术平均值函数
3.6.2 时间加权平均价格
3.7 取值范围
3.8 动手实践:找到最大值和最小值
3.9 统计分析
3.10 动手实践:简单统计分析
3.11 股票收益率
3.12 动手实践:分析股票收益率
3.13 日期分析
3.14 动手实践:分析日期数据
3.15 周汇总
3.16 动手实践:汇总数据
3.17 真实波动幅度均值(ATR)
3.18 动手实践:计算真实波动幅度均值
3.19 简单移动平均线
3.20 动手实践:计算简单移动平均线
3.21 指数移动平均线
3.22 动手实践:计算指数移动平均线
3.23 布林带
3.24 动手实践:绘制布林带
3.25 线性模型
3.26 动手实践:用线性模型预测价格
3.27 趋势线
3.28 动手实践:绘制趋势线
3.29 ndarray对象的方法
3.30 动手实践:数组的修剪和压缩
3.31 阶乘
3.32 动手实践:计算阶乘
3.33 本章小结
第4章 便捷函数
4.1 相关性
4.2 动手实践:股票相关性分析
4.3 多项式
4.4 动手实践:多项式拟合
4.5 净额成交量
4.6 动手实践:计算OBV
4.7 交易过程模拟
4.8 动手实践:避免使用循环
4.9 数据平滑
4.10 动手实践:使用hanning函数平滑数据
4.11 本章小结
第5章 矩阵和通用函数
5.1 矩阵
5.2 动手实践:创建矩阵
5.3 从已有矩阵创建新矩阵
5.4 动手实践:从已有矩阵创建新矩阵
5.5 通用函数
5.6 动手实践:创建通用函数
5.7 通用函数的方法
5.8 动手实践:在add上调用通用函数的方法
5.9 算术运算
5.10 动手实践:数组的除法运算
5.11 模运算
5.12 动手实践:模运算
5.13 斐波那契数列
5.14 动手实践:计算斐波那契数列
5.15 利萨茹曲线
5.16 动手实践:绘制利萨茹曲线
5.17 方波
5.18 动手实践:绘制方波
5.19 锯齿波和三角波
5.20 动手实践:绘制锯齿波和三角波
5.21 位操作函数和比较函数
5.22 动手实践:玩转二进制位
5.23 本章小结
第6章 深入学习NumPy模块
6.1 线性代数
6.2 动手实践:计算逆矩阵
6.3 求解线性方程组
6.4 动手实践:求解线性方程组
6.5 特征值和特征向量
6.6 动手实践:求解特征值和特征向量
6.7 奇异值分解
6.8 动手实践:分解矩阵
6.9 广义逆矩阵
6.10 动手实践:计算广义逆矩阵
6.11 行列式
6.12 动手实践:计算矩阵的行列式
6.13 快速傅里叶变换
6.14 动手实践:计算傅里叶变换
6.15 移频
6.16 动手实践:移频
6.17 随机数
6.18 动手实践:硬币赌博游戏
6.19 超几何分布
6.20 动手实践:模拟游戏秀节目
6.21 连续分布
6.22 动手实践:绘制正态分布
6.23 对数正态分布
6.24 动手实践:绘制对数正态分布
6.25 本章小结
第7章 专用函数
7.1 排序
7.2 动手实践:按字典序排序
7.3 复数
7.4 动手实践:对复数进行排序
7.5 搜索
7.6 动手实践:使用searchsorted函数
7.7 数组元素抽取
7.8 动手实践:从数组中抽取元素
7.9 金融函数
7.10 动手实践:计算终值
7.11 现值
7.12 动手实践:计算现值
7.13 净现值
7.14 动手实践:计算净现值
7.15 内部收益率
7.16 动手实践:计算内部收益率
7.17 分期付款
7.18 动手实践:计算分期付款
7.19 付款期数
7.20 动手实践:计算付款期数
7.21 利率
7.22 动手实践:计算利率
7.23 窗函数
7.24 动手实践:绘制巴特利特窗
7.25 布莱克曼窗
7.26 动手实践:使用布莱克曼窗平滑股价数据
7.27 汉明窗
7.28 动手实践:绘制汉明窗
7.29 凯泽窗
7.30 动手实践:绘制凯泽窗
7.31 专用数学函数
7.32 动手实践:绘制修正的贝塞尔函数
7.33 sinc函数
7.34 动手实践:绘制sinc函数
7.35 本章小结
第8章 质量控制
8.1 断言函数
8.2 动手实践:使用assert_almost_equal断言近似相等
8.3 近似相等
8.4 动手实践:使用assert_approx_equal断言近似相等
8.5 数组近似相等
8.6 动手实践:断言数组近似相等
8.7 数组相等
8.8 动手实践:比较数组
8.9 数组排序
8.10 动手实践:核对数组排序
8.11 对象比较
8.12 动手实践:比较对象
8.13 字符串比较
8.14 动手实践:比较字符串
8.15 浮点数比较
8.16 动手实践:使用assert_array_ almost_equal_nulp比较浮点数
8.17 多ULP的浮点数比较
8.18 动手实践:设置maxulp并比较浮点数
8.19 单元测试
8.20 动手实践:编写单元测试
8.21 nose和测试装饰器
8.22 动手实践:使用测试装饰器
8.23 文档字符串
8.24 动手实践:执行文档字符串测试
8.25 本章小结
第9章 使用Matplotlib绘图
9.1 简单绘图
9.2 动手实践:绘制多项式函数
9.3 格式字符串
9.4 动手实践:绘制多项式函数及其导函数
9.5 子图
9.6 动手实践:绘制多项式函数及其导函数
9.7 财经
9.8 动手实践:绘制全年股票价格
9.9 直方图
9.10 动手实践:绘制股价分布直方图
9.11 对数坐标图
9.12 动手实践:绘制股票成交量
9.13 散点图
9.14 动手实践:绘制股票收益率和成交量变化的散点图
9.15 着色
9.16 动手实践:根据条件进行着色
9.17 图例和注释
9.18 动手实践:使用图例和注释
9.19 三维绘图
9.20 动手实践:在三维空间中绘图
9.21 等高线图
9.22 动手实践:绘制色彩填充的等高线图
9.23 动画
9.24 动手实践:制作动画
9.25 本章小结
第10章 NumPy的扩展:SciPy
10.1 MATLAB和Octave
10.2 动手实践:保存和加载.mat文件
10.3 统计
10.4 动手实践:分析随机数
10.5 样本比对和SciKits
10.6 动手实践:比较股票对数收益率
10.7 信号处理
10.8 动手实践:检测QQQ股价的线性趋势
10.9 傅里叶分析
10.10 动手实践:对去除趋势后的信号进行滤波处理
10.11 数学优化
10.12 动手实践:拟合正弦波
10.13 数值积分
10.14 动手实践:计算高斯积分
10.15 插值
10.16 动手实践:一维插值
10.17 图像处理
10.18 动手实践:处理Lena图像
10.19 音频处理
10.20 动手实践:重复音频片段
10.21 本章小结
第11章 玩转Pygame
11.1 Pygame
11.2 动手实践:安装Pygame
11.3 Hello World
11.4 动手实践:制作简单游戏
11.5 动画
11.6 动手实践:使用NumPy和Pygame制作动画对象
11.7 Matplotlib
11.8 动手实践:在Pygame中使用Matplotlib
11.9 屏幕像素
11.10 动手实践:访问屏幕像素
11.11 人工智能
11.12 动手实践:数据点聚类
11.13 OpenGL和Pygame
11.14 动手实践:绘制谢尔宾斯基地毯
11.15 模拟游戏
11.16 动手实践:模拟生命
11.17 本章小结
突击测验答案
前言/序言
如今,科学家、工程师以及定量管理分析师面临着众多的挑战。数据科学家们希望能够用最小的编程代价在大数据集上进行数值分析,他们希望自己编写的代码可读性好、执行效率高、运行速度快,并尽可能地贴近他们熟悉的一系列数学概念。在科学计算领域,有很多符合这些要求的解决方案。在这方面,C、C++和Fortran等编程语言各有优势,但它们不是交互式语言,并且被很多人认为过于复杂。常见的商业产品还有Matlab、Maple和Mathematica。这些产品提供了强大的脚本语言,但和通用编程语言比起来,功能依然很有限。另外还有一些类似于Matlab的开源工具,如R、GNU Octave和Scilab。显然,作为编程语言,它们都不如Python强大。
Python是一种流行的通用编程语言,在科学领域被广泛使用。你很容易在Python代码中调用以前的C、Fortran或者R代码。Python是面向对象语言,比C和Fortran更加高级。使用Python可以写出易读、整洁并且缺陷最少的代码。然而,Python本身并不具有与Matlab等效的功能块,而这恰恰就是NumPy存在的意义。本书就是要介绍NumPy以及相关的Python科学计算库,如SciPy和Matplotlib。
NumPy是什么
NumPy(Numerical Python的缩写)是一个开源的Python科学计算库。使用NumPy,就可以很自然地使用数组和矩阵。NumPy包含很多实用的数学函数,涵盖线性代数运算、傅里叶变换和随机数生成等功能。如果你的系统中已经装有LAPACK,NumPy的线性代数模块会调用它,否则NumPy将使用自己实现的库函数。LAPACK是一个著名的数值计算库,最初是用Fortran写成的,Matlab同样也需要调用它。从某种意义上讲,NumPy可以取代Matlab和Mathematica的部分功能,并且允许用户进行快速的交互式原型设计。
在本书中,我们不会从程序开发者的角度来讨论NumPy,而是更多地立足于用户,从他们的角度来分析它。不过值得一提的是,NumPy是一个非常活跃的开源项目,拥有很多的贡献者,也许有一天你也能成为其中的一员!
NumPy的由来
NumPy的前身是Numeric。Numeric最早发布于1995年,如今已经废弃了。由于种种原因,不管是Numeric还是NumPy,都没能进入Python标准库,不过单独安装NumPy也很方便。关于NumPy的安装,我们将在第1章中详细介绍。
早在2001年,一些开发者受Numeric的启发共同开创了一个叫做SciPy的项目。SciPy是一个开源的Python科学计算库,提供了类似于Matlab、Maple和Mathematica的许多功能。那段时间,人们对于Numeric越来越不满。于是,Numarray作为Numeric的替代品问世了。Numarray在某些方面比Numeric更强大,但是它们的工作方式却截然不同。鉴于此,SciPy继续遵循Numeric的工作方式,并延续了对Numeric数组对象的支持。虽然人们总是倾向于使用“最新最好”的软件,但是Numarray依然催生出了一整套的系统,包括很多周边的实用工具软件。
2005年,SciPy的早期发起人之一Travis Oliphant决定改变这一状况,他开始将Numarray的一些特性整合到Numeric中。一整套的代码重构工作就此开始,并于2006年NumPy 1.0发布的时候全部完成。于是NumPy拥有了Numeric和Numarray的所有特性,并且还新增了一些功能。SciPy提供了一个升级工具,可以让用户方便地从Numeric和Numarray升级到NumPy。由于Numeric和Numarray均不再活跃更新,升级是必然的。
如上所述,最初的NumPy其实是SciPy的一部分,后来才从SciPy中分离出来。如今,SciPy在处理数组和矩阵时会调用NumPy。
为什么使用NumPy
对于同样的数值计算任务,使用NumPy要比直接编写Python代码便捷得多。这是因为NumPy能够直接对数组和矩阵进行操作,可以省略很多循环语句,其众多的数学函数也会让编写代码的工作轻松许多。NumPy的底层算法在设计时就有着优异的性能,并且经受住了时间的考验。
NumPy中数组的存储效率和输入输出性能均远远优于Python中等价的基本数据结构(如嵌套的list容器)。其能够提升的性能是与数组中元素的数目成比例的。对于大型数组的运算,使用NumPy的确很有优势。对于TB级的大文件,NumPy使用内存映射文件来处理,以达到最优的数据读写性能。不过,NumPy数组的通用性不及Python提供的list容器,这是其不足之处。因此在科学计算之外的领域,NumPy的优势也就不那么明显了。关于NumPy数组的技术细节,我们将在后面详细讨论。
NumPy的大部分代码都是用C语言写成的,这使得NumPy比纯Python代码高效得多。NumPy同样支持C语言的API,并且允许在C源代码上做更多的功能拓展。C API的内容不在本书讨论之列。最后要记往一点,NumPy是开源的,这意味着使用NumPy可以享受到开源带来的所有益处。价格低到了极限——免费。你再也不用担心每次有新成员加入团队时,就要面对软件授权 图灵程序设计丛书·Python数据分析基础教程:NumPy学习指南(第2版) [NumPy beginner’s guide,second edition] 电子书 下载 mobi epub pdf txt
电子书下载地址:
相关电子书推荐:
- 文件名
- 自信让我更快乐(6-12岁首选校园文学励志读本)/小学生校园励志系列
- 广西森林
- 探索学科科学奥秘丛书:有趣的生物 《探索学科科学奥秘丛书》编委会
- 正版图书 交响情人梦6 9787020078691 人民文学出版社 (日)二之宫知子 ,
- 小数与分数.算式计算-小牛顿数学王
- 鬼狐仙怪的传奇(3大字版)/蔡志忠古典漫画
- 快乐马戏团-魔法沙画
- 漫画达人技法圣经:美少女综合篇
- 图说科学百科 9787511223777
- 甜樱桃生产标准汇编(2014)
- 当代弗兰肯斯坦:误入歧途的现代科学
- 黄粉虫养殖与利用(第3版)
- 探秘百科 无限探索版:辉煌的古罗马
- LY/T 2042-2012 九叶青花椒丰产栽培技术规程
- 社科经典轻松读:《寂静的春天》导读