|
|
Python作为一种编程语言近年来越来越受欢迎,它为什么这么火?其中一个重要原因就是因为Python的库丰富——Python语言提供超过15万个第三方库,Python库之间广泛联系、逐层封装。几乎覆盖信息技术所有领域,下面简单介绍下数据分析与可视化、网络爬虫、自动化、WEB开发、机器学习常用的一些第三方库。9 Z) C6 Z4 Y; z3 n h1 Z, n
8 U2 L6 e) z- n, j" \( p
一、数据分析和可视化
2 h: C- \/ [0 T7 S; U1 P1.matplotlib Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。Matplotlib 可用于 Python 脚本,Python 和 IPython shell(例如 MATLAB 或 Mathematica)。
5 s$ t: Y1 G; R8 R" T/ K$ K0 R2.numpy NumPy是Python科学计算的基础工具包,包括统计学、线性代数、矩阵数学、金融操作等等很多Python数据计算工作库都依赖它。支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。0 x/ }4 `, p; V& t, h, T
3.pyecharts Pyecharts是一个用于生成 Echarts 图表的类库。
$ E8 a2 k$ B; z1 q- m! K6 X4.pandas Pandas是一个用于Python数据分析的库,它的主要作用是进行数据分析。Pandas提供用于进行结构化数据分析的二维的表格型数据结构DataFrame,类似于R中的数据框,能提供类似于数据库中的切片、切块、聚合、选择子集等精细化操作,为数据分析提供了便捷。
# r' E* v) b. O$ G" I5.scipy Scipy是一组专门解决科学和工程计算不同场景的主题工具包,它用于有效计算Numpy矩阵,使Numpy和Scipy协同工作,高效解决问题。7 V, Q( Q% {9 m- ?0 e2 ^' {
6.plotly Plotly一个开源的、交互式的、基于浏览器的 Python 图形库,支持散点图、3D图等众多图形。
% _) O9 E( D7 u) g7.statsmodels Statsmodels是Python的统计建模和计量经济学工具包,包括一些描述性统计、统计模型估计和统计测试,集成了多种线性回归模型、广义线性回归模型、离散数据分布模型、时间序列分析模型、非参数估计、生存分析、主成分分析、核密度估计以及广泛的统计测试和绘图等功能。
4 B, G/ A; J2 D& r, W二、网络爬虫 ( r1 C! ^! _4 H& |# g3 Q. f
1.requests 网络请求库,提供多种网络请求方法并可定义复杂的发送信息,对HTTP协议进行高度封装,支持非常丰富的链接访问功能。7 d3 O6 o* ], f- t7 L" \) R$ i
2.bs4 BS4全称是Beatiful Soup,它提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。
7 D; ?/ y4 Y8 I/ H3.scrapy 分布式爬虫框架,可用于模拟用户发送、侦听和解析并伪装网络报文,常用于大型网络数据爬取。. Z7 ^7 S' ?5 A* V8 C+ ^& r
4.portia Portia是scrapyhub开源的一款可视化的爬虫规则编写工具。它提供可视化的Web页面,你只需要通过点击标注页面上你需要抽取的数据,不需要任何编程知识即可完成规则的开发。; _, t2 F L$ {/ ~9 ]5 J4 ?
5.cola Cola是一个分布式的爬虫框架,用户只需编写几个特定的函数,而无需关注分布式运行的细节。任务会自动分配到多台机器上,整个过程对用户是透明的。7 m4 ?; j9 ~0 k6 x5 \' z" k6 {1 w4 E! i
三、自动化
% t% r: V3 a8 p" m1.selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE,Mozilla Firefox,Safari,Google Chrome,Opera,Edge等。, f- v9 h5 ]1 Z# {
2.pymysql 是Python操作MySQL数据库 。 l! X% w @4 w4 S9 U
3.pymongo 是Python中用来操作MongoDB的一个库。而MongoDB是一个基于分布式文件存储的数据库,旨在为WEB应用提供可扩展的高性能数据存储解决方案。
' H2 Y2 g; w" N& `; ~4.splinter Splinter 是一个用 Python 编写的 Web 应用程序进行验收测试的工具。
/ s( Y. R+ @5 n6 y N' Z5.openpyxl 一个处理Microsoft Excel文档的Python第三方库,它支持读写Excel的xls、xlsx、xlsm、xltx、xltm。
9 U/ x7 C! k n2 o. R6. python-docx 一个处理Microsoft Word文档的Python第三方库,它支持读取、查询以及修改doc、docx等格式文件,并能够对四、Web开发 / x8 @2 u5 D$ A9 X7 r$ v; y
1.Django Django是一个开放源代码的Web应用框架,由Python开发。采用了MTV的框架模式,即模型M,视图V和模版T。
- b5 m9 F% \# }) s* L0 V2.Pyramid 是一个通用、开源的Python Web应用程序开发框架。它主要的目的是让Python开发者更简单的创建Web应用,相比Django,Pyramid是一个 相对小巧、快速、灵活 的开源Python Web框架。; n! k+ n% S% J8 q
3.Tornado 一种 Web 服务器软件的开源版本。Tornado和现在的主流Web服务器框架(包括大多数Python的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快
* @# e% v6 j; y3 t4.Flask 是轻量级Web应用框架,相比Django和Pyramid,它也被称为微框架 。使用Flask开发Web应用十分方便,甚至几行代码即可建立一个小型网站。Flask核心十分简单,并不直接包含诸如数据库访问等的抽象访问层,而是通过扩展模块形式来支持。
/ n3 m# U% }. `# @) ]) q9 t五、机器学习
. l$ ^# S8 N5 X& G% W% v' \1.Scikit-learn Scikit-learn是机器学习的核心程序库,依托于上面的几种工具包,封装了大量经典以及最新的机器学习模型。
' m$ O7 x% `0 n, \; v- c j2 ~3 `2.NLTK NLTK,全称Natural Language Toolkit,自然语言处理工具包,这是一个开源项目,包含数据集、Python模块、教程等。: D9 \" A2 e; i% C, ~7 T
3.Keras 是一个由Python编写的开源人工神经网络库,可以作为Tensorflow、Microsoft-CNTK和Theano的高阶应用程序接口,进行深度学习模型的设计、调试、评估、应用和可视化。
: ]3 m* T* N& j0 z+ {' h4.Caffe 是一个兼具表达性、速度和思维模块化的深度学习框架。主要用于计算机视觉,它对图像识别的分类具有很好的应用效果。
" L4 E5 p% ], @0 q5.theano 是一个 Python 库,用来定义、优化和模拟数学表达式计算,用于高效的解决多维数组的计算问题。% u8 x& k) q4 U8 C8 L# T. e- F
( ?* {+ [5 s+ g4 l |
|