快捷搜索:  test  as

常用Python库有那些38个常用Python库的详细概述

Python作为一个设计优秀的法度榜样说话,现在已广泛利用于各类领域,寄托其强大年夜的第三方类库,Python在各个领域都能发挥伟大年夜的感化。

01 数值谋略

数值谋略是数据掘客、机械进修的根基。Python供给多种强大年夜的扩展库用于数值谋略,常用的数值谋略库如下所示。

1. NumPy

支持多维数组与矩阵运算,也针对数组运算供给大年夜量的数学函数库。平日与SciPy和Matplotlib一路应用,支持比Python更多种类的数值类型,此中定义的最紧张的工具是称为ndarray的n维数组类型,用于描述相同类型的元素聚拢,可以应用基于0的索引造访聚拢中元素。

2. SciPy

在NumPy库的根基上增添了浩繁的数学、科学及工程谋略中常用的库函数,如线性代数、常微分方程数值求解、旌旗灯号处置惩罚、图像处置惩罚、稀疏矩阵等,可进行插值处置惩罚、旌旗灯号滤波,以及应用C说话加速计算。

3. Pandas

基于NumPy的一种对象,为办理数据阐发义务而生。纳入大年夜量库和一些标准的数据模型,供给高效地操作大年夜型数据集所需的对象及大年夜量的能快速便捷处置惩罚数据的函数和措施,为光阴序列阐发供给很好的支持,供给多种数据布局,如Series、Time-Series、DataFrame和Panel。

02 数据可视化

数据可视化是展示数据、理解数据的有效手段,常用的Python数据可视化库如下所示。

4. Matplotlib

第一个Python可视化库,有许多其余法度榜样库都是建立在其根基上或者直接调用该库,可以很方便地获得数据的大年夜致信息,功能异常强大年夜,但也异常繁杂。

5. Seaborn

使用了Matplotlib,用简洁的代码来制作好看的图表。与Matplotlib最大年夜的差别为默认绘图风格和色彩搭配都具有今世美感。

6. ggplot

基于R的一个作图库ggplot2,同时使用了源于《图像语法》(The Grammar of Graphics)中的观点,容许叠加不合的图层来完成一幅图,并不适用于制作异常个性化的图像,为操作的简洁度而就义了图像的繁杂度。

7. Bokeh

跟ggplot一样,Bokeh也基于《图形语法》的观点。与ggplot不合之处为它完全基于Python而不是从R处引用。长处在于能用于制作可交互、可直接用于收集的图表。图表可以输出为JSON工具、HTML文档或者可交互的收集利用。

Bokeh也支持数据流和实时数据,为不合的用户供给了3种节制水平:

最高的节制水平用于快速制图,主要用于制作常用图像;

中等节制水平与Matplotlib一样容许开拓职员节制图像的基础元素(例如散播图中的点);

最低的节制水平主要面向开拓职员和软件工程师。没有默认值,必要定义图表的每一个元素。

8. Plotly

可以经由过程Python notebook应用,与Bokeh一样致力于交互图表的制作,但供给在其余库中险些没有的几种图表类型,如等值线图、树形图和三维图表。

9. pygal

与Bokeh和Plotly一样,供给可直接嵌入收集浏览器的可交互图像。与其他两者的主要差别在于可将图表输出为SVG款式,所有的图表都被封装成措施,且默认的风格也很漂亮,用几行代码就可以很轻易地制作出漂亮的图表。

10. geoplotlib

用于制作舆图和地舆相关数据的对象箱。可用来制作多种舆图,比如等值区域图、热度图、点密度图。必须安装Pyglet(一个面向工具编程接口)方可应用。

11. missingno

用图像的要领快速评估数据缺掉的环境,可根据数据的完备度对数据进行排序或过滤,或者根据热度图或树状图对数据进行修正。

03 Web开拓

Web利用开拓可以说是今朝软件开拓中最紧张的部分。Python供给各类Web开拓框架,赞助应用者快速实现功能开拓。常用的Python收集开拓类库如下所示。

12. Django

一个高档的Python Web框架,支持快速开拓,供给从模板引擎到ORM所需的统统器械,应用该库构建App时,必须遵照Django的要领。

13. Socket

一个套接字通讯底层库,用于在办事器和客户端间建立TCP或UDP连接,经由过程连接发送哀求与相应。

14. Flask

一个基于Werkzeug、Jinja 2的Python轻量级框架(microframework),默认配备Jinja模板引擎,也包孕其他模板引擎或ORM供选择,得当用来编写API办事(RESTful rervices)。

15. Twisted

一个应用Python实现的基于事故驱动的收集引擎框架,建立在deferred object之上,一个经由过程异步架构实现的高机能的引擎,不适用于编写老例的Web Apps,更适用于底层收集。

16. Tornado

04 数据库治理

数据库是企业用于寄放数据的主要对象,数据库治理包括了数据定义、数据操作、数据库运行治理、数据组织、数据库库保护、数据库掩护等。Python供给了所有主流关系数据库治理接口,常用的Python MySQL连接库及其简介如下所示。

17. MySQL-python

又称MySQLdb,是Python连接MySQL最盛行的一个驱动,很多框架也基于此库进行开拓。只支持Python 2.x,且安装时有许多前置前提。因为该库基于C说话开拓,在Windows平台上的安装异常不友好,常常呈现掉败的环境,现在基础不保举应用,取代品为衍生版本。

18. mysqlclient

完全兼容MySQLdb,同时支持Python 3.x,是Django ORM的依附对象,可应用原生SQL来操作数据库,安装要领与MySQLdb同等。

19. PyMySQL

纯Python实现的驱动,速率比MySQLdb慢,最大年夜的特征为安装要领简洁,同时也兼容MySQL-python。

20. SQLAlchemy

一种既支持原生SQL,又支持ORM的对象。ORM是Python工具与数据库关系表的一种映射关系,可有效前进写代码的速率,同时兼容多种数据库系统,如SQLite、MySQL、PostgreSQL,价值为机能上的一些丧掉。

05 自动化运维

运维的主要内容包括保障营业经久稳定运行、保障数据安然靠得住、自动化完成支配义务。Python能够满意绝大年夜部分自动化运维的需求,今朝在Linux运维中已用Python实现的利用如下所示。

21. jumpsever跳板机

一种由Python编写的开源跳板机(碉堡机)系统,实现了跳板机的基础功能,包孕认证、授权和审计,集成了Ansible、批量敕令等。

支持WebTerminal Bootstrap编写,界面美不雅,自动网络硬件信息,支持录像回放、敕令搜索、实时监控、批量上传下载等功能,基于SSH协议进行治理,客户端无须安装agent。主要用于办理可视化安然治理,因完全开源,轻易再次开拓。

22. Magedu散播式监控系统

一种用Python开拓的自动化监控系统,可监控常用系统办事、利用、收集设备,可在一台主机上监控多个不合办事,不合办事的监控距离可以不合,同一个办事在不合主机上的监控距离、报警阈值可以不合,并供给数据可视化界面。

23. Magedu的CMDB

一种用Python开拓的硬件治理系统,包孕采集硬件数据、API、页面治理3部分功能,主要用于自动化治理条记本、路由器等常见设备的日常应用。由办事器的客户端采集硬件数据,将硬件信息发送至API,API认真将获取的数据保存至数据库中,后台治理法度榜样认真对办事器信息进行设置设置设备摆设摆设和展示。

24. 义务调整系统

一种由Python开拓的义务调整系统,主要用于自动化地将一个办事进程散播到其他多个机械的多个进程中,一个办事进程可作为调整者寄托收集通信完成这一事情。

25. Python运维流程系统

一种应用Python说话编写的调整和监控事情流的平台,内部用于创建、监控和调剂数据管道。容许事情流开拓职员轻松创建、掩护和周期性地调整运行事情流,包括了如数据存储、增长阐发、Email发送、A/B测试等诸多跨多部门的用例。

06 GUI编程

GUI(Graphical User Interface,图形用户界面)是指采纳图形要领显示的谋略机操感化户界面。Python供给多个图形开拓界面的库用于GUI编程,常用Python GUI库如下所示。

26. Tkinter

一个Python的标准GUI库,可以快速地创建GUI利用法度榜样,可以在大年夜多半的UNIX平台下应用,同样可以利用在Windows和Macintosh系统中,Tkinter 8.0的后续版本可以实现本地窗口风格,并优越地运行在绝大年夜多半平台中。

27. wxPython

一款开源软件跨平台GUI库wxWidgets的Python封装和Python模块,是Python说话的一套优秀的GUI图形库,容许法度榜样员很方便地创建完备的、功能健全的GUI用户界面。

28. PyQt

一个创建GUI利用法度榜样的对象库,是Python编程说话和Qt的成功交融,可以运行在所有主要操作系统上,包括UNIX、Windows和Mac。PyQt采纳双许可证,开拓职员可以选择GPL和商业许可,从PyQt的版本4开始,GPL许可证可用于所有支持的平台。

29. PySide

一个跨平台的利用程式框架Qt的Python绑定版本,供给与PyQt类似的功能,并相容API,但与PyQt不合处为其应用LGPL授权。

07 机械进修

Python作为一门抱负的集成说话,将各类技巧绑定在一路,除了为用户供给更方便的功能之外,照样一个抱负的粘合平台,在开拓职员与外部库的低层次集成职员之间搭建连接,以便用C++/C++实现更高效的算法。

对付钻研职员者而言,应用Python编程可以快速迁移代码并进行篡改,而无须花费过多的精力在改动代码与代码规范上。开拓者在Python中封装了很多优秀的依附库,此中NumPy和SciPy库供给了今朝办理机械进修问题所需的标准设置设置设备摆设摆设。

Python今朝集成了大年夜量的机械进修框架,此中常用机械进修库如下所示。

30. Scikit-Learn

Scikit-Learn基于NumPy和SciPy,是专门为机械进修建造的一个Python模块,供给了大年夜量用于数据掘客和阐发的对象,包括数据预处置惩罚、交叉验证、算法与可视化算法等一系列接口。

Sklearn的基础功能可分为6个部分:

分类

回归

聚类

数据降维

模型选择

数据预处置惩罚

此中集成了大年夜量分类、回归和聚类的算法,包括支持向量机、逻辑回归、质朴贝叶斯、随机森林、Gradient Boosting、K-means和DBSCAN等。

31. Orange3

Orange3是一个基于组件的数据掘客和机械进修软件套装,支持Python进行脚本开拓。它包孕一系列的数据可视化、检索、预处置惩罚和建模技巧,具有一个优越的用户界面,同时也可以作为Python的一个模块应用。

用户可经由过程数据可视化进行数据阐发,包括统计散播图、柱状图、散点图,以及更深层次的决策树、分层聚簇、热点图、MDS(多维度阐发)、线性猜测等,并可应用Orange自带的种种附加功能组件进行NLP、文本掘客、构建收集阐发、揣摸高频数据集和关联规则数据阐发。

32. XGBoost

XGBoost是专注于梯度提升算法的机械进修函数库,因其精良的进修效果及高效的练习速率而得到广泛的关注。XGBoost支持并行处置惩罚,比起同样实现了梯度提升算法的Scikit-Learn库,其机能提升10倍以上。XGBoost可以处置惩罚回归、分类和排序等多种义务。

33. NuPIC

NuPIC是专注于光阴序列的一个机械进修平台,其核心算法为HTM算法,比拟于深度进修,其更为靠近人类大年夜脑的运行布局。HTM算法的理论依据主如果人脑中处置惩罚高档认知功能的新皮质部分的运作道理。NuPIC可用于猜测及非常检测,适用面异常广,仅要求输入光阴序列即可。

34. Milk

Milk(Machine Learning Toolkit)是Python中的一个机械进修对象包。

Milk重视提升运行速率与低落内存占用,是以大年夜部分对机能敏感的代码都是应用C++编写的,为了便利性在此根基上供给Python接口。重点供给监督分类措施,如SVMs、KNN、随机森林和决策树,也支持无监督进修算法,如K-means和亲昵关系传播。

08 深度进修

深度进修作为机械进修的分支,绽放了刺眼的光线。因为Python的易用性与可扩展性,浩繁深度进修框架供给了Python接口,此中较为盛行的深度进修库如下所示。

35. Caffe

Caffe(Convolutional Architecture for Fast Feature Embedding)是一个以表达式、速率和模块化为核心的深度进修框架,具备清晰、可读性高和快速的特点,在视频、图像处置惩罚方面利用较多。

Caffe中的收集布局与优化都以设置设置设备摆设摆设文件形式定义,轻易上手,无须经由过程代码构建收集;收集练习速率快,能够练习大年夜型数据集与State-of-the-art的模型;模块化的组件可以方便地拓展到新的模型与进修义务上。

36. Theano

Theano出生于2008年,是一个高机能的符号谋略及深度进修库,被觉得是深度进修库的鼻祖之一,也被觉得是深度进修钻研和利用的紧张标准之一。其核心是一个数学表达式的编译器,专门为处置惩罚大年夜规模神经收集练习的谋略而设计。

Theano很好地整合了NumPy,可以直接应用NumPy的ndarray,使得API接口进修资源大年夜为低落;其谋略稳定性好,可以精准地谋略输出值很小的函数,如log(1+x);可动态地天生C或者CUDA代码,用来编译成高效的机械代码。

37. TensorFlow

TensorFlow是相对高阶的机械进修库,其核心代码应用C++编写,并支持自动求导,使得用户可以方便地设计神经收集布局,不必要亲身编写C++或CUDA代码,也无须经由过程反向传播求解梯度。因为底层应用C++说话编写,运行效率获得了包管,并简化了线上支配的繁杂度。

除了核心代码的C++接口以外,TensorFlow还有官方的Python、Go和Java接口以外,用户可以在一个硬件设置设置设备摆设摆设较好的机械顶用Python进行实验,并在资本对照首要的嵌入式情况或必要低延迟的情况顶用C++支配模型。

TensorFlow不光局限于神经收集,其数据流式图还支持异常自由的算法表达,也可以轻松实现深度进修以外的机械进修算法。

38. Keras

Keras是一个高度模块化的神经收集库,应用Python实现,并可以同时运行在TensorFlow和Theano上。

Keras专精于深度进修,其供给了到今朝为止最方便的API,用户仅需将高档的模块拼在一路便可设计神经收集,大年夜大年夜低落了编程开销(code overhead)与理解开销(cognitive overhead)。

Keras同时支持卷积收集和轮回收集,支持级联的模型或随意率性的图布局的模型,从CPU上谋略切换到GPU加速无须任何代码的篡改。简化了编程的繁杂度的同时,在机能上丝绝不减色于TensorFlow和Theano。

您可能还会对下面的文章感兴趣: