提交 f90891df 编写于 作者: W wizardforcel

2020-07-23 13:58:12

上级 64f5283c
# 前言
# 零、前言
无论您是科学/分析编程的新手还是经验丰富的专家,这本书都将为您提供成功创建,优化和分发 Python / NumPy 分析模块所需的技能。
......
# 第 1 章。NumPy 简介
# 一、NumPy 简介
|   | *“我宁愿使用通用语言进行数学运算,也不愿尝试使用数学语言进行通用编程。”* |   |
|   | - *John D Cook* |
......
# 第 10 章。进一步阅读
# 十、扩展阅读
NumPy 是 Python 中功能强大的科学模块; 希望在前九章中,我们已经向您展示了足以向您证明这一点的内容。 `ndarray`是所有其他 Python 科学模块的核心。 使用 NumPy 的最佳方法是使用`numpy.ndarray`作为基本数据格式,并将其与其他科学模块组合以进行预处理,分析,计算,导出等。 在本章中,我们的重点是向您介绍可以与 NumPy 一起使用的两个模块,并使您的工作/研究效率更高。
......
# 第 2 章。NumPy ndarray 对象
# 二、NumPy `ndarray`对象
面向数组的计算是计算科学的核心。 这是大多数 Python 程序员都不习惯的。 尽管列表或字典的理解是相对于数组的,有时与数组的用法类似,但是在性能和​​操作上,列表/字典和数组之间还是存在巨大差异。 本章介绍了 NumPy 中的基本数组对象。 它涵盖了可以从 NumPy 数组的固有特性中收集的信息,而无需对该数组执行任何外部操作。
......
# 第 3 章。使用 NumPy 数组
# 三、使用 NumPy 数组
NumPy 数组的优点在于您可以使用数组索引和切片来快速访问数据或执行计算,同时保持 C 数组的效率。 还支持许多数学运算。 在本章中,我们将深入研究使用 NumPy 数组。 在本章结束之后,您将对使用 NumPy 数组及其大部分功能感到满意。
......
# 第 4 章。NumPy Core 和 Libs 子模块
# 四、NumPy 核心和子模块
在上一章介绍了这么多 NumPy 函数之后,我希望您仍然记得 NumPy 的核心,即 ndarray 对象。 我们将完成 ndarray 的最后一个重要属性:步幅,它将为您提供完整的内存布局图。 另外,该向您展示 NumPy 数组不仅可以处理数字,还可以处理各种类型的数据; 我们将讨论记录数组和日期时间数组。 最后,我们将展示如何从文件中读取/写入 NumPy 数组,并开始使用 NumPy 进行一些实际的分析。
......
# 第 5 章。NumPy 中的线性代数
# 五、NumPy 中的线性代数
NumPy 专为数值计算而设计; 在引擎盖下,它仍然是功能强大的`ndarray`对象,但同时 NumPy 提供了不同类型的对象来解决数学问题。 在本章中,我们将介绍矩阵对象和多项式对象,以帮助您使用非 ndarray 方法解决问题。 同样,NumPy 提供了许多标准的数学算法并支持多维数据。 虽然矩阵无法执行三维数据,但更可取的是使用`ndarray`对象以及线性代数和多项式的 NumPy 函数(更广泛的 SciPy 库是线性代数的另一个不错的选择,但是 NumPy 是我们关注的重点) 书)。 现在让我们使用 NumPy 进行一些数学运算!
......
# 第 6 章.NumPy 中的傅立叶分析
# 六、NumPy 中的傅立叶分析
除其他事项外,傅立叶分析通常用于数字信号处理。 这要归功于它在将输入信号(时域)分离为以离散频率(频域)起作用的分量方面如此强大。 开发了另一种快速算法来计算 **离散傅里叶变换****DFT** ),这就是众所周知的 **Fast 傅里叶变换****FFT** ),它为分析及其应用提供了更多可能性。 NumPy 针对数字计算,也支持 FFT。 让我们尝试使用 NumPy 在应用程序上进行一些傅立叶分析! 注意,本章假定不熟悉信号处理或傅立叶方法。
......
# 第 7 章。构建和分发 NumPy 代码
# 七、构建和分发 NumPy 代码
在现实世界中,您将编写一个应用程序,以将其分发到 World 或在其他各种计算机上重用。 为此,您希望应用程序以标准方式打包,以便社区中的每个人都能理解和遵循。 正如您现在已经注意到的那样,Python 用户主要使用名为`pip`的程序包管理器来自动安装其他程序员创建的模块。 Python 具有一个称为 **PyPI****Python 软件包索引** )的打包平台,该平台是 50,000 多个 Python 软件包的官方中央存储库。 一旦在 PyPi(又名 *Cheese Shop* )中注册了软件包,世界各地的其他用户都可以在使用`pip`等软件包管理系统对其进行配置后进行安装。 Python 随附了许多解决方案,可帮助您构建代码以准备分发给 *Cheese Shop* ,并且在本章中,我们将重点介绍两个此类工具,`setuptools``Distutils` 除了这两个工具之外,我们还将研究 NumPy 提供的称为`numpy.distutils`的特定模块。 该模块使程序员更容易构建和分发特定于 NumPy 的代码。 该模块还提供了其他功能,例如用于编译 Fortran 代码,调用`f2py,`等的方法。 在本章中,我们将通过以下步骤来学习包装工作流程:
......
# 第 8 章。使用 Cython 加速 NumPy
# 八、使用 Cython 加速 NumPy
Python 与 NumPy 库相结合为用户提供了编写高度复杂的函数和分析的工具。 随着代码的大小和复杂性的增长,代码库中的低效率问题开始蔓延。一旦项目进入完成阶段,开发人员就应开始关注代码的性能并分析瓶颈。 Python 提供了许多工具和库来创建优化且性能更快的代码。
......
# 第 9 章.NumPy C-API 简介
# 九、NumPy C-API 简介
NumPy 是一个通用库,旨在满足科学应用程序开发人员的大多数需求。 但是,随着应用程序的代码库和覆盖范围的增加,计算也随之增加,有时用户需要更具体的操作和优化的代码段。 我们已经展示了 NumPy 和 Python 如何具有诸如 f2py 和 Cython 之类的工具来满足这些需求。 这些工具可能是将函数重写为本地编译代码以提高速度的绝佳选择。 但是在某些情况下(利用 C 库,例如 **NAG** 编写一些分析),您可能想做一些更根本的事情,例如专门创建新的数据结构 为您自己的图书馆。 这将要求您有权访问 Python 解释器中的低级控件。 在本章中,我们将研究如何使用 Python 及其扩展名 NumPy C-API 提供的 C-API 进行此操作。 C-API 本身是一个非常广泛的主题,可能需要一本书才能完全涵盖它。 在这里,我们将提供简短的介绍和示例,以帮助您开始使用 NumPy C-API。
......
# NumPy 基础知识
> 原文:[Numpy Essentials](https://b-ok.global/book/3630897/8b660d)
>
> 协议:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/)
>
> 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。
* [在线阅读](https://ds.apachecn.org)
* [ApacheCN 面试求职交流群 724187166](https://jq.qq.com/?_wv=1027&k=54ujcL3)
* [ApacheCN 学习资源](http://www.apachecn.org/)
## 贡献指南
本项目需要校对,欢迎大家提交 Pull Request。
> 请您勇敢地去翻译和改进翻译。虽然我们追求卓越,但我们并不要求您做到十全十美,因此请不要担心因为翻译上犯错——在大部分情况下,我们的服务器已经记录所有的翻译,因此您不必担心会因为您的失误遭到无法挽回的破坏。(改编自维基百科)
## 联系方式
### 负责人
* [飞龙](https://github.com/wizardforcel): 562826179
### 其他
* 在我们的 [apachecn/apachecn-ds-zh](https://github.com/apachecn/apachecn-ds-zh) github 上提 issue.
* 发邮件到 Email: `apachecn@163.com`.
* 在我们的 [组织学习交流群](http://www.apachecn.org/organization/348.html) 中联系群主/管理员即可.
## 赞助我们
![](https://imgconvert.csdnimg.cn/aHR0cDovL2hvbWUuYXBhY2hlY24ub3JnL2ltZy9hYm91dC9kb25hdGUuanBn?x-oss-process=image/format,png)
+ [NumPy 基础知识](README.md)
+ [零、前言](0.md)
+ [一、NumPy 简介](1.md)
+ [二、NumPy `ndarray`对象](2.md)
+ [三、使用 NumPy 数组](3.md)
+ [四、NumPy 核心和子模块](4.md)
+ [五、NumPy 中的线性代数](5.md)
+ [六、NumPy 中的傅立叶分析](6.md)
+ [七、构建和分发 NumPy 代码](7.md)
+ [八、使用 Cython 加速 NumPy](8.md)
+ [九、NumPy C-API 简介](9.md)
+ [十、扩展阅读](10.md)
......@@ -29,6 +29,18 @@
+ [附录 A:小测验答案](docs/numpy-beginners-guide-3e/ch12.md)
+ [附录 B:其他在线资源](docs/numpy-beginners-guide-3e/ch13.md)
+ [附录 C:NumPy 函数的参考](docs/numpy-beginners-guide-3e/ch14.md)
+ [NumPy 基础知识](docs/numpy-essentials/README.md)
+ [零、前言](docs/numpy-essentials/0.md)
+ [一、NumPy 简介](docs/numpy-essentials/1.md)
+ [二、NumPy `ndarray`对象](docs/numpy-essentials/2.md)
+ [三、使用 NumPy 数组](docs/numpy-essentials/3.md)
+ [四、NumPy 核心和子模块](docs/numpy-essentials/4.md)
+ [五、NumPy 中的线性代数](docs/numpy-essentials/5.md)
+ [六、NumPy 中的傅立叶分析](docs/numpy-essentials/6.md)
+ [七、构建和分发 NumPy 代码](docs/numpy-essentials/7.md)
+ [八、使用 Cython 加速 NumPy](docs/numpy-essentials/8.md)
+ [九、NumPy C-API 简介](docs/numpy-essentials/9.md)
+ [十、扩展阅读](docs/numpy-essentials/10.md)
+ [Pandas 秘籍](docs/pandas-cookbook/README.md)
+ [零、前言](docs/pandas-cookbook/ch00.md)
+ [一、Pandas 基础](docs/pandas-cookbook/ch01.md)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册