盘点最重要的7个Python库

2023-05-29 0 425

盘点最重要的7个Python库

01 NumPy

http://numpy.org

盘点最重要的7个Python库

NumPy是Numerical Python的缩写,是Python值排序的终极目标。它提供更多多种不同排序机程序、演算法和绝大部分牵涉Python值排序所需的USB。NumPy还包括其它文本:

加速、高效率的布季夫字符串第一类ndarray如前所述原素的字符串排序或字符串间微积分操作方式表达式用作随机存取硬碟中如前所述字符串的统计数据集的辅助工具微积分分析操作方式、傅立叶转换和解释器聚合

成形的C词汇API,容许Python开拓和邻近地区的C或C++标识符出访NumPy的排序机程序和排序公共设施。

除NumPy突显Python的加速字符串处置潜能以外,NumPy的另一个目地是在演算法和库间做为统计数据传达的统计数据罐子。对数值统计数据,NumPy字符串能比Python内建排序机程序更加高效率地储存和操作方式统计数据。

除此之外,用下层词汇撰写的库,比如用C或Fortran撰写的库,能在NumPy字符串储存的统计数据上间接操作方式,一般不能将统计数据导入到其他缓存后段再操作方式。因而,很多Python的值排序辅助工具将NumPy字符串做为此基础排序机程序,或与NumPy展开点对点互操作性方式。

02 pandas

http://pandas.pydata.org

盘点最重要的7个Python库

pandas提供更多了高阶排序机程序和表达式,那些排序机程序和表达式的结构设计使借助形式化、表单化统计数据的组织工作加速、单纯、有感染力。它再次出现于2010年,协助Python正式成为强悍、高效率的统计数据挖掘自然环境。常见的pandas第一类是DataFrame,它是用作同时实现表单化、面向全国列、采用战团条码的排序机程序;和Series,一种一维条码字符串第一类。

pandas将表单和关系型统计数据库(比如SQL)的灵活统计数据操作方式潜能与NumPy的高性能字符串排序的理念相结合。它提供更多复杂的索引表达式,使统计数据的重组、切块、切片、聚合、子集选择更加单纯。由于统计数据操作方式、预处置、清洗在统计数据挖掘中是重要的技能,pandas将是重要主题。

介绍一点背景知识,早在2008年,我在一家量化投资企业——AQR资本管理公司供职时,便开始了pandas的开发。那时候,我有一些独特的需求是辅助工具清单上任何单个辅助工具无法满足的:

带有条码轴,支持自动化或显式统计数据对齐功能的排序机程序——这能防止未对齐统计数据和不同统计数据源的不同索引统计数据所引起的常见错误集成时间序列表达式功能能同时处置时间序列统计数据和非时间序列统计数据的统一排序机程序能保存元统计数据的算术操作方式和简化灵活处置缺失统计数据流行统计数据库(比如如前所述SQL的数据库)中的合并等关系型操作方式

我想将以上的组织工作在同一个地方完成,最好还能在一个拥有通用软件开发潜能的词汇中同时实现。Python就是一个很好的备选项,但是那时候并没有这类排序机程序的整合集,也没有能提供更多相关功能的辅助工具。结果就是pandas最初被开发出来用作解决金融和商业分析问题,pandas尤其擅长深度时间序列和处置商业进程中产生的时间索引统计数据。

采用R词汇展开统计排序的用户对DataFrame的名称会非常熟悉,因为这个第一类是根据相似的R data.frame第一类展开命名的。与Python不同的是,统计数据框在R词汇中是标准库中的文本。因而,pandas中的很多特征通常与R核心的同时实现或者R的附加库提供更多的功能一致。

03 matplotlib

http://matplotlib.org

盘点最重要的7个Python库

matplotlib是最流行的用作制图及其它二维统计数据可视化的Python库。它由John D. Hunter创建,目前由一个大型开发者团队维护。matplotlib被结构设计为适合出版的制图辅助工具。

对Python编程者来说也有其它可视化库,但matplotlib依然采用最为广泛,并且与生态系统的其它库良好整合。我认为将它做为默认可视化辅助工具是一个安全的选择。

关于matplotlib更详细讲解,请戳:纯干货:手把手教你用Python做统计数据可视化(附标识符)

04 IPython与Jupyter

http://ipython.org

http://jupyter.org

盘点最重要的7个Python库

IPython项目开始于2001年,由Fernando Pérez发起,旨在开发一个更具交互性的Python解释器。在过去的16年中,它正式成为Python统计数据技术栈中最重要的辅助工具之一。

尽管它本身并不提供更多任何排序或统计数据挖掘辅助工具,它的结构设计侧重于在交互排序和软件开发两方面将生产力最大化。它采用了一种执行-探索组织工作流来替代其它词汇中典型的编辑-编译-运行组织工作流。它还提供更多针对操作方式系统命令行和文件系统的易用USB。由于统计数据挖掘编码组织工作包含大量的探索、试验、试错和遍历,IPython能使你更加速地完成组织工作。

2014年,Fernando和IPython团队发布了Jupyter项目。Jupyter项目旨在结构设计一个适用作更多词汇的交互式排序辅助工具。IPython web notebook 则正式成为Jupyter notebook,能支持超过40种编程词汇。IPython系统目前能做为一个内核(一种编程词汇模式)用作在 Jupyter 中采用Python。

IPython自身已正式成为 Jupyter开源项目中的一个组件,后者提供更多交互性、探索性的高效率自然环境。IPtyhon最古老、最单纯的“模式”就是一个加强版的Python命令行,用作提高撰写、测试、调试Python标识符的速度。

你也能通过如前所述Web、支持多词汇的标识符“笔记本”——Jupyter Notebook来采用IPython系统。IPython命令行和 Jupyter notebook对统计数据探索和可视化非常有用。

Jupyter notebook系统容许你采用Markdown和HTML创建包含标识符和文本的富文档。其它编程词汇也针对Jupyter同时实现了内核,容许你在Jupyter中采用多种不同词汇而不仅仅是Python。

对我个人来说,IPython牵涉我组织工作的绝大部分文本,包括运行、调试、测试标识符。

05 SciPy

http://scipy.org

盘点最重要的7个Python库

SciPy是科学排序领域针对不同标准问题域的包集合。以下是SciPy中包含的一些包:

scipy.integrate

值积分例程和微分方程求解器scipy.linalg

微积分分析例程和如前所述numpy.linalg的矩阵分解scipy.optimize

表达式优化器(最小化器)和求根演算法scipy.signal

信号处置辅助工具scipy.sparse

稀疏矩阵与稀疏线性系统求解器scipy.special

SPECFUN的包装器。SPECFUN是Fortran词汇下同时实现通用统计数据表达式的包,比如gamma表达式。scipy.stats

标准的连续和离散概率分布(密度表达式、采样器、连续分布表达式)、各类统计测试、各类描述性统计。

SciPy与NumPy一起为很多传统科学排序应用提供更多了一个合理、完整、成形的排序此基础。

06 scikit-learn

http://scikit-learn.org

盘点最重要的7个Python库

scikit-learn项目诞生于2010年,目前已正式成为Python编程者首选的机器学习辅助工具包。仅仅七年,scikit-learn就拥有了全世界1 500位标识符贡献者。其中包含以下子模块。

分类:SVM、最近邻、随机森林、逻辑回归等回归:Lasso、岭回归等聚类:k-means、谱聚类等降维:PCA、特征选择、矩阵分解等模型选择:网格搜索、交叉验证、指标矩阵预处置:特征提取、正态化

scikit-learn与pandas、statsmodels、IPython一起使Python成了高效率的统计数据科学编程词汇。

07 statsmodels

http://statsmodels.org

盘点最重要的7个Python库

statsmodels是一个统计分析包。它源自斯坦福大学统计学教授Jonathan Taylor 借助R词汇同时实现的各类分析模型。Skipper Seabold 和 Josef Perktold早在2010年便创建了新的statsmodels项目。自那之后该项目迅速成长,拥有大量活跃用户和贡献者者。

Nathaniel Smith 开发了Patsy项目,为R词汇公式系统所驱动的statsmodels包提供更多公式、模型规范框架。

与scikit-learn相比,statsmodels包含经典的(高频词汇)统计学、经济学演算法。它所包含的模型如下。

回归模型:线性回归、通用线性模型、鲁棒线性模型、线性混合效应模型等方差分析(ANOVA )时间序列分析:AR、ARMA、ARIMA、VAR等模型非参数方法:核密度估计、核回归统计模型结果可视化

statsmodels更专注于统计推理,提供更多不确定性评价和p值参数。相反,scikit-learn更专注于预测。

关于作者:韦斯·麦金尼(Wes McKinney)是流行的Python开源统计数据挖掘库pandas的创始人。他是一名活跃的演讲者,也是Python统计数据社区和Apache软件基金会的Python/C++开源开发者。目前他在纽约从事软件架构师组织工作。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务