6.11. 科学应用

未匹配的标注

file

背景#

Python 常用于开发高性能的科学应用。它被广泛应用于学术和科学项目中,因为它易于编写和执行。

由于它的高性能,Python 中的科学计算经常使用扩展库,通常用更快的语言编写 (比如 C 语言,或者用于矩阵操作的 FORTRAN) 。主要使用的库由 NumPySciPy 和 Matplotlib 。详细讨论这些库超出了 Python 最佳实践指南的范围。然而,对 Python 科学计算的生态系统的全面介绍可以在 Python Scientific Lecture Notes 中找到。

Tools#

IPython#

IPython 是增强版的 Python 解释器,为科学计算提供了极大的便利。inline mode 允许在终端显示图形和绘图(基于 Qt 版本)。 此外, notebook 模式支持有文字的编程和可复制的科学的产生一个基于 web 的 Python 笔记本。 它能够允许你存储大量的 Python 代码及其运行结果还有附加的注释 (HTML , LaTeX , Markdown) 。 也可以以各种文件格式共享和导出。

#

NumPy#

NumPy 是用 C (和 FORTRAN )编写的用于高等数学函数的库。NumPy 巧妙地运用多维数组和对数组的操作函数的方法克服了在 Python 中运行速度较慢的算法问题。 任何算法都可以表示为处理数组的一个函数,允许算法快速进行。

NumPy 是 SciPy 项目的一部分且作为一个独立的库发布,因此对那些只需要用到基础功能的人来说可以不用安装其他 SciPy。

NumPy 兼容 Python 2.4 到 2.7.2 和 3.1+ 。

Numba#

Numba 是一种 NumPy 感知的 Python 编译器 (just-in-time (JIT) specializing compiler) ,通过特殊的装饰器将注释的 Python ( 和 NumPy) 代码编译为 LLVM (低级别虚拟机) 。 简单讲, Numba 使用一个用 LLVM 来编译 Python 代码系统,且编译成可在运行时本地执行的代码。

SciPy#

SciPy 是一个使用 NumPy 实现更多数学函数的库。 SciPy 使用 NumPy 数组作为基本数据结构, 实现了各种科学计算中常用的模块,包括现行代数、积分(微积分)、常微分方程求解和信号处理。

Matplotlib#

Matplotlib 是一个灵活的绘图库,用于创建交互式的 2D 和 3D 图,这些图也可以保存为手稿质量的数据。该 API 在许多方面非常类似 MATLAB ,这样 MATLAB 用户转换为 Python 就很简单了。 许多例子,以及使用源码重构的都可以在 matplotlib gallery 中找到。

Pandas#

Pandas 是基于 Numpy 的数据操作库,它为访问、索引、合并和数据分组提供了许多有用的方法和功能且易于使用。主数据结构 (DataFrame) 接近于 R 统计软件包;也就是说,带索引的异构数据表,时间序列操作和数据自动对齐等功能它都支持。

Rpy2#

Rpy2 一个使 Python 能够使用 R 语言的数据统计包的库,允许 Python 执行 R 的函数并在两者间传递数据。 Rpy2 是 Rpy 面向对象的实现。

PsychoPy#

PsychoPy 是一个专为认知科学家而设计的库,允许建立认知心理学和神经科学实验。该库可以处理激励的表示,实验设计和数据收集的脚本。

资源#

安装 Python 科学计算包的过程可能会麻烦多多,因为很多包都是以 Python 的 C 语言扩展模块的形式实现的,这意味着我们得去编译它们。我们在这一小节列出了各种所谓的 Python 科学计算发行版,它们都提供了诸多预编译好的且安装简单的 Python 科学计算包。

面向 Python 扩展包的非官方 Windows 平台二进制库#

很多人在 Windows 平台上进行科学计算,然而在 Windows 平台上,很多科学计算包的构建和安装都复杂得令人发指。不过,Christoph Gohlke 已经为很多有用的 Python 包编译了 Windows 平台上的二进制库。他编译的包的规模不断增长,从主要是科学计算 Python 包的资源规模拓展成为了如今更加广泛的资源规模。如果你使用的是 Windows 平台,可以来瞧一瞧。

Anaconda#

Continuum Analytics 推出了 Anaconda Python 发行版,这一发行版囊括了几乎所有常用的 Python 科学计算包以及与数据分析和大数据方面相关的包。Anaconda 本身是免费的,不过 Continuum 公司也销售着大量的专有插件。针对出于学术和研究目的的用户,这些插件也提供了免费使用许可。

Canopy#

Canopy 是另一套 Python 科学计算发行版,由 Enthought 推出。功能上有所受限的 Canopy Express 版本是可以免费使用的,而完整版要收费。针对出于学术用途的用户,Canopy 也提供了免费使用许可。

本文章首发在 LearnKu.com 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/python-guide/20...

译文地址:https://learnku.com/docs/python-guide/20...

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~