重要的Python库?
摘录《利用Python进行数据分析》
NumPy(Numerical Python的简称)是Python科学计算的基础包。
本书大部分内容都基于NumPy以及构建于其上的库。它提供了以下功
能(不限于此):
快速高效的多维数组对象ndarray。
用于对数组执行元素级计算以及直接对数组执行数学运算的函
数。
用于读写硬盘上基于数组的数据集的工具。
线性代数运算、傅里叶变换,以及随机数生成。
用于将C、C++、Fortran代码集成到Python的工具。
除了为Python提供快速的数组处理能力,NumPy在数据分析方面
还有另外一个主要作用,即作为在算法之间传递数据的容器。对于数
值型数据,NumPy数组在存储和处理数据时要比内置的Python数据结
构高效得多。此外,由低级语言(比如C和Fortran)编写的库可以直接操
作NumPy数组中的数据,无需进行任何数据复制工作。
pandas提供了使我们能够快速便捷地处理结构化数据的大量数
据结构和函数。你很快就会发现,它是使Python成为强大而高效的数
据分析环境的重要因素之一。本书用得最多的pandas对象是DataFrame,它是一个面向列(column-oriented)的二维表结构,且含有行标和列标。
pandas兼具NumPy高性能的数组计算功能以及电子表格和关系
型数据库(如SQL)灵活的数据处理功能。它提供了复杂精细的索引功
能,以便更为便捷地完成重塑、切片和切块、聚合以及选取数据子集等
操作。
对于金融行业的用户,pandas提供了大量适用于金融数据的高性
能时间序列功能和工具。
pandas这个名字本身源自于panel data(面板数据,这是计量经济
学中关于多维结构化数据集的一个术语)以及Python data
analysis(Python数据分析)。
matplotlib是最流行的用于绘制数据图表的Python库。它最初由
John D.Hunter(JDH)创建,目前由一个庞大的开发人员团队维护。它
非常适合创建出版物上用的图表。它跟IPython(马上就会讲到)结合得
很好,因而提供了一种非常好用的交互式数据绘图环境。绘制的图表
也是交互式的,你可以利用绘图窗口中的工具栏放大图表中的某个区
域或对整个图表进行平移浏览。
IPython是Python科学计算标准工具集的组成部分,它将其他所有
的东西联系到了一起。它为交互式和探索式计算提供了一个强健而高
效的环境。它是一个增强的Python shell,目的是提高编写、测试、调试
Python代码的速度。它主要用于交互式数据处理和利用matplotlib对数
据进行可视化处理。
SciPy是一组专门解决科学计算中各种标准问题域的包的集合,
主要包括下面这些包:
scipy.integrate:数值积分例程和微分方程求解器。
scipy.linalg:扩展了由numpy.linalg提供的线性代数例程和矩阵
分解功能。
scipy.optimize:函数优化器(最小化器)以及根查找算法。
scipy.signal:信号处理工具。
scipy.sparse:稀疏矩阵和稀疏线性系统求解器。
scipy.special:SPECFUN(这是一个实现了许多常用数学函数(如
伽玛函数)的Fortran库)的包装器。
scipy.stats:标准连续和离散概率分布(如密度函数、采样器、连
续分布函数等)、各种统计检验方法,以及更好的描述统计法。
scipy.weave:利用内联C++代码加速数组计算的工具。
NumPy跟SciPy的有机结合完全可以替代MATLAB的计算功能
(包括其插件工具箱)。
登录后方可回帖