python常用库汇总(上)

本文涉及的产品
NLP自然语言处理_高级版,每接口累计50万次
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
NLP自然语言处理_基础版,每接口每天50万次
简介: python常用库汇总(上)

Chardet→字符编码探测器,可以自动检测文本、网页、xml的编码。

colorama →主要用来给文本添加各种颜色,并且非常简单易用。

Prettytable → 主要用于在终端或浏览器端构建格式化的输出。

difflib→ [Python]标准库,计算文本差异Levenshtein,快速计算字符串相似度。

fuzzywuzzy → 字符串模糊匹配。

esmre → 正则表达式的加速器。

shortuuid→ 一组简洁URL/UUID函数库。

ftfy→ Unicode文本工具7

unidecode→ ascii和Unicode文本转换函数。

xpinyin→ 将汉字转换为拼音的函数库

pangu.py→ 调整对中日韩文字当中的字母、数字间距。

pyfiglet→ Python写的figlet程序,使用字符组成ASCII艺术图片

uniout→ 提取字符串中可读写的字符

awesome slugify→ 一个Python slugify库,用于处理Unicode。

python-slugify→ 转换Unicode为ASCII内码的slugify函数库。

unicode-slugify→ 生成unicode内码,Django的依赖包。

ply→ Python版的lex和yacc的解析工具phonenumbers,解析电话号码,格式,存储和验证的国际电话号码。

python-user-agents→ 浏览器的用户代理(user-agents)的解析器。

sqlparse→ SQL解析器。

pygments→ 一个通用的语法高亮工具。

python-nameparser→ 解析人名,分解为单独的成分。

pyparsing→ 通用解析器生成框架。

tablib→ 表格数据格式,包括,XLS、CSV,JSON,YAML。

python-docx→ docx文档读取,查询和修改,微软Word 2007 / 2008的docx文件。

xlwt/xlrd→ 读写Excel格式的数据文件。

xlsxwriter→ 创建Excel格式的xlsx文件。

xlwings→ 利用Python调用Excelcsvkit,CSV文件工具包。

marmir→ 把Python[数据结构],转化为电子表格。

pdfminer→ 从PDF文件中提取信息。

pypdf2→ 合并和转换PDF页面的函数库。

Python-Markdown→ 轻量级标记语言Markdown的Python实现。

Mistune→ 快速、全功能的纯Python编写的Markdown解释器。

dateutil→ 标准的Python官方datetime模块的扩展包,字符串日期工具,其中parser是根据字符串解析成

datetime→ 而rrule是则是根据定义的规则来生成datetime。

arrow→ 更好的日期和时间处理Python库

chronyk→ 一个Python 3版函数库,用于解析人写的时间和日期。

delorean→ 清理期时间的函数库。

when.py→ 为见的日期和时间,提供人性化的功能。

moment→类似Moment.js的日期/时间Python库

pytz→ 世界时区,使用tz database时区信息[数据库]

BeautifulSoup→ 基于Python的HTML/XML解析器,简单易用, 功能很强大,即使是有bug 有问题的html代码,也可以解析。

lxml→ 快速,易用、灵活的HTML和XML处理库,功能超强,在遇到有缺陷、不规范的xml时,Python自带的xml处理器可能无法解析。报错时,程序会尝试再用lxml的修复模式解析。

htmlparser→ 官方版解析HTML DOM树,偶尔搞搞命令行自动表单提交用得上。

pyyaml→ Python版本的YAML解释器。

html5lib→ 标准库,解析和序列化HTML文档和片段。

pyquery→ 类似[jQuery]的的HTML解释器函数库。

cssutils→ Python CSS库。

MarkupSafe→ XML或HTML / XHTML安全字符串标记工具。

cssutils→ ACSS library for Python., MarkupSafe - Implements a XML/HTML/XHTMLbleach,漂白,基于HTML的白名单函数库。

xmltodict,类似JSON的XML工具包。

xhtml2pdf→ HTML / CSS格式转换器,看生成pdf文档。

untangle→ 把XML文档,转换为Python对象,方便访问。


文件处理


库名称简介Mimetypes,Python标准库,映射文件名到MIME类型。

imghdr→ Python标准库,确定图像类型。

python-magic→ libmagic文件类型识别库,Python接口格式。

path.py→ os.path模块的二次封装。

watchdog→ 一组API和shell实用程序,用于监视文件系统事件。

Unipath→ 面向对象的文件/目录的操作工具包。

pathlib→ (Python 3.4版已经作为Python标准库),一个跨平台,面向path的函数库。pickle/cPickle,python的pickle模块实现了基本的数据序列和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储;通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。

cPickle→是[C语言]实现的版本,速度更快。

ConfigParser→ Python标准库,INI文件解析器。

configobj→ INI文件解析器。

config→ 分层次配置,logging作者编写。

profig→ 多格式配置转换工具。

logging→ Python标准库,日志文件生成管理函数库。

logbook→ logging的替换品。

Sentry→ 实时log服务器。

Raven→ 哨兵Sentry的Python客户端。

Sphinx→ 斯芬克斯(狮身人面像),Python文档生成器。

reStructuredText→ 标记语法和解析工具,Docutils组件。

mkdocs→ Markdown格式文档生成器。

pycco→ 简单快速、编程风格的文档生成器。

pdoc→ 自动生成的Python库API文档epydoc,从源码注释中生成各种格式文档的工具


图像处理


库名称简介PIL(Python Image Library),基于Python的图像处理库,功能强大,对图形文件的格式支持广泛,内置许多图像处理函数,如图像增强、滤波[算法]等。

Pillow→ 图像处理库,PIL图像库的分支和升级替代产品。

Matplotlib→ 著名的绘图库,提供了整套和matlab相似的命令API,用以绘制一些高质量的数学二维图形,十分适合交互式地进行制图。

brewer2mpl→ 有一个专业的python配色工具包,提供了从美术角度来讲的精美配色。

PyGame→基于Python的多媒体开发和游戏软件开发模块,包含大量游戏和图像处理功能。

Box2d→ 开源的2d物理引擎,愤怒的小鸟就是使用了这款物理引擎进行开发的,Box2d物理引擎内部模拟了一个世界,你可以设置这个世界里的重力,然后往这个世界里添加各种物体,以及他们的一些物理特性,比如质量,摩擦,阻尼等等。

Pymunk→ 类似box2d的开源物理图形模拟库。

OpenCV→ 目前最好的开源图像/视觉库,包括图像处理和计算机视觉方面、[机器学习]的很多通用算法。

SimpleCV→ 计算机视觉开源框架,类似opencv。

VTK→ 视觉化工具函式库(VTK, Visualization Toolkit)是一个开放源码,跨平台、支援平行处理(VTK曾用于处理大小近乎1个Petabyte的资料,其平台为美国Los **Alamos→ **国家实验室所有的具1024个处理器之大型系统)的图形应用函式库。2005年时曾被美国陆军研究实验室用于即时模拟俄罗斯制反导弹战车ZSU23-4受到平面波攻击的情形,其计算节点高达2.5兆个之多。

cgkit,Python Computer Graphics Kit,其module 主要分两个部分


  1. 与3d相关的一些python module 例如the vector, matrix and quaternion types, the RenderMan bindings, noise functions 这些模块可以在maya houdini nuke blender 等有Python扩展的程序中直接用;
  2. 提供完整的场景操作的module, 他类似其他三维软件,在内存中保留完整的描述场景的信息。不能直接用于maya 等。

CGAL,Computational Geometry Algorithms Library,计算几何算法库,提供计算几何相关的数据结构和算法,诸如三角剖分(2D约束三角剖分及二维和三维Delaunay三角剖分),Voronoi图(二维和三维的点,2D加权Voronoi图,分割Voronoi图等),多边形(布尔操作,偏置),多面体(布尔运算),曲线整理及其应用,网格生成(二维Delaunay网格生成和三维表面和体积网格生成等),几何处理(表面网格简化,细分和参数化等),凸壳算法(2D,3D和dD),搜索结构(近邻搜索,kd树等),插值,形状分析,拟合,距离等。

Aggdraw→ 开源图像库,几乎涵盖了2d image操作的所有功能,使用起来非常灵活。

Pycairo→ 开源矢量绘图库

Cairo→开罗的python接口,cairo提供在多个背景下做2-D的绘图,高级的更可以使用硬件加速功能。

wand→ Python绑定魔杖工具(MagickWand),C语言API接口。

thumbor→ 智能成像工具,可调整大小和翻转图像。

img****Seek→ 查询相似的图像。

python-qrcode→ 纯Python的二维码(QR码)生成器。

pyBarcode→ 创建条码,无需PIL模块。

pygram→ Instagram像图像过滤器。

Quads→ 基于四叉树的计算机艺术。

nude.py→ 裸体检测函数。

scikit-image→ scikit工具箱的图像处理库。

hmap→ 图像直方图工具。

bokeh→ 交互的Web绘图。

plotly→ Web协同的Python和Matplotlib绘制。

vincent→ 文森特,Python Vega的函数库。

d3py→ Python绘图库,基于D3.JS, ggplot -API兼容R语言的ggplot2.Kartograph.py,在Python绘制漂亮的SVG地图。

pygal→ SVG图表的创造者。

pygraphviz→ Graphviz的Python接口。

Fonttlools→ ttf字体工具函数包,用于fontforge、ttx等字体软件。


大数据与科学计算


库名称简介pycuda/opencl,GPU高性能并发计算Pandas,python实现的类似R语言的数据统计、分析平台。基于NumPy和Matplotlib开发的,主要用于数据分析和数据可视化,它的数据结构DataFrame和R语言里的data.frame很像,特别是对于时间序列数据有自己的一套分析机制,非常不错。

Open Mining→ 商业智能(BI),Pandas的Web界面。

blaze,NumPy和Pandas大数据界面。

SciPy→开源的Python算法库和数学工具包,SciPy包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。其功能与软件MATLAB、Scilab和GNU Octave类似。Numpy和Scipy常常结合着使用,Python大多数机器学习库都依赖于这两个模块。

ScientificPython→ 一组经过挑选的Python程序模块,用于科学计算,包括几何学(矢量、张量、变换、矢量和张量场),四元数,自动求导数,(线性)插值,多项式,基础统计学,非线性最小二乘拟合,单位计算,Fortran兼容的文本格式,通过VRML的3D显示,以及两个Tk小工具,分别用于绘制线图和3D网格模型。此外还具有到netCDF,MPI和BSPlib库的接口。

NumPy→科学计算库,提供了矩阵,线性代数,傅立叶变换等等的解决方案, 最常用的是它的N维数组对象. NumPy提供了两种基本的对象:ndarray(N-dimensional array object)和 ufunc(universal function object)。ndarray是存储单一数据类型的多维数组,而ufunc则是能够对数组进行处理的函数。

Cvxopt→ 最优化计算包,可进行线性规划、二次规划、半正定规划等的计算。

Numba→ 科学计算速度优化编译器。

pymvpa2→ 是为大数据集提供统计学习分析的Python工具包,它提供了一个灵活可扩展的框架。它提供的功能有分类、回归、特征选择、数据导入导出、可视化等。

NetworkX→ 复杂网络的优化软件包。

zipline→ 交易算法的函数库。

PyDy→ Python动态建模函数库。

SymPy→符号数学的Python库。

statsmodels→ Python的统计建模和计量经济学。

astropy→ 天文学界的Python库。

orange→ 橙色,数据挖掘,数据可视化,通过可视化编程或Python脚本学习机分析。

RDKit→ 化学信息学和机器学习的软件。

Open Babel→ 巴贝尔,开放的化学工具箱。

cclib→ 化学软件包的计算函数库。

Biopython→ 免费的生物计算工具包。

bccb→ 生物分析相关的代码集。

bcbio-nextgen→ 提供完全自动化、高通量、测序分析的工具包。

visvis→ 可视化计算模块库,可进行一维到四维数据的可视化。

MapReduce→是Google提出的一个软件[架构],用于大规模数据集(大于1TB)的并行运算。概念“Map(映射)”和“Reduce(归纳)”,及他们的主要思想,都是从函数式编程语言借来的MapReduce函数库。

Framworks and libraries for MapReduce.,PySpark,[Spark]的Python API。dpark,Spark的Python克隆,Python中的MapReduce框架。

luigi→ 为批量工作,建立复杂的管道。

mrjob→ 运行在[Hadoop],或亚马逊网络服务的,MapReduce工作。


人工智能与机器学习


库名称简介NLTK(natural language toolkit),是python的自然语言处理工具包。2001年推出,包括了大量的词料库,以及自然语言处理方面的算法实现:分词, 词根计算, 分类, 语义分析等。

Pattern→ 数据挖掘模块,包括自然语言处理,机器学习工具,等等。

textblob→ 提供API为自然语言处理、分解NLP任务。基于NLTK和Pattern模块。

jieba→ 结巴,中文分词工具。

snownlp→ 用于处理中文文本库。

loso→ 中文分词函数库。

genius→ 中文CRF基础库,条件随机场(conditional random field,简称 CRF),是一种鉴别式机率模型,是随机场的一种,常用于标注或分析序列资料,如自然语言文字或是生物序列。

Gensim→ 一个相当专业的主题模型Python工具包,无论是代码还是文档,可用于如何计算两个文档的相似度LIBSVM,是台湾大学林智仁(Lin Chih-Jen)教授等开发设计的一个简单、易于使用和快速有效的SVM模式识别与回归的软件包,他不但提供了编译好的可在Windows系列系统的执行文件,还提供了源代码,方便改进、修改以及在其它[操作系统]上应用;该软件对SVM所涉及的参数调节相对比较少,提供了很多的默认参数,利用这些默认参数可以解决很多问题;并提供了交互检验(Cross Validation)的功能。该软件可以解决C-SVM、ν-SVM、ε-SVR和ν-SVR等问题,包括基于一对一算法的多类模式识别问题。

scikits.learn→ 构建在SciPy之上用于机器学习的 Python 模块。它包括简单而高效的工具,可用于数据挖掘和数据分析。涵盖分类,回归和聚类算法,例如SVM, 逻辑回归,朴素贝叶斯,随机森林,k-means等算法,代码和文档都非常不错,在许多Python项目中都有应用。例如在我们熟悉的NLTK中,分类器方面就有专门针对scikit-learn的接口,可以调用scikit-learn的分类算法以及训练数据来训练分类器模型。

PyMC→ 机器学习采样工具包,scikit-learn似乎是所有人的宠儿,有人认为,PyMC更有魅力。PyMC主要用来做Bayesian分析。

Orange→ 基于组件的数据挖掘和机器学习软件套装,它的功能即友好,又很强大,快速而又多功能的可视化编程前端,以便浏览数据分析和可视化,包含了完整的一系列的组件以进行数据预处理,并提供了数据帐目,过渡,建模,模式评估和勘探的功能。侧重数据挖掘,可以用可视化语言或Python进行操作,拥有机器学习组件,还具有生物信息学以及文本挖掘的插件。

Milk→ 机器学习工具箱,其重点是提供监督分类法与几种有效的分类分析:SVMs(基于libsvm),K-NN,随机森林经济和决策树。它还可以进行特征选择。这些分类可以在许多方面相结合,形成不同的分类系统。对于无监督学习,它提供K-means和affinity propagation聚类算法。

PyMVPA→(Multivariate Pattern Analysis in Python),是为大数据集提供统计学习分析的Python工具包,它提供了一个灵活可扩展的框架。它提供的功能有分类、回归、特征选择、数据导入导出、可视化等。

NuPIC→ 开源人工智能平台。该项目由Grok(原名 Numenta)公司开发,其中包括了公司的算法和软件架构。NuPIC 的运作接近于人脑,“当模式变化的时候,它会忘掉旧模式,记忆新模式”。如人脑一样,CLA 算法能够适应新的变化。

Pylearn2→ 基于Theano的机器学习库。

hebel→ GPU加速,[深度学习]Python库。

gensim→ 机器学习库。

pybrain→ 机器学习模块,它的目标是为机器学习任务提供灵活、易应、强大的机器学习算法。pybrain包括神经网络、强化学习(及二者结合)、无监督学习、进化算法。以神经网络为核心,所有的训练方法都以神经网络为一个实例Mahout,是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。此外,通过使用 Apache Hadoop 库,Mahout 可以有效地扩展到云中。

Crab→ 灵活的,快速的推荐引擎。

python-recsys→ 娱乐系统分析,推荐系统。

vowpal_porpoise→ Vowpal Wabbit轻量级Python封装。

Theano→ 用来定义、优化和模拟数学表达式计算,用于高效的解决多维数组的计算问题的python软件包。它使得写深度学习模型更加容易,同时也给出了一些关于在GPU上训练它们的选项。

相关文章
|
12天前
|
调度 开发者 Python
Python中的异步编程:理解asyncio库
在Python的世界里,异步编程是一种高效处理I/O密集型任务的方法。本文将深入探讨Python的asyncio库,它是实现异步编程的核心。我们将从asyncio的基本概念出发,逐步解析事件循环、协程、任务和期货的概念,并通过实例展示如何使用asyncio来编写异步代码。不同于传统的同步编程,异步编程能够让程序在等待I/O操作完成时释放资源去处理其他任务,从而提高程序的整体效率和响应速度。
|
15天前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
44 0
|
8天前
|
数据库 Python
异步编程不再难!Python asyncio库实战,让你的代码流畅如丝!
在编程中,随着应用复杂度的提升,对并发和异步处理的需求日益增长。Python的asyncio库通过async和await关键字,简化了异步编程,使其变得流畅高效。本文将通过实战示例,介绍异步编程的基本概念、如何使用asyncio编写异步代码以及处理多个异步任务的方法,帮助你掌握异步编程技巧,提高代码性能。
26 4
|
8天前
|
API 数据处理 Python
探秘Python并发新世界:asyncio库,让你的代码并发更优雅!
在Python编程中,随着网络应用和数据处理需求的增长,并发编程变得愈发重要。asyncio库作为Python 3.4及以上版本的标准库,以其简洁的API和强大的异步编程能力,成为提升性能和优化资源利用的关键工具。本文介绍了asyncio的基本概念、异步函数的定义与使用、并发控制和资源管理等核心功能,通过具体示例展示了如何高效地编写并发代码。
19 2
|
14天前
|
数据采集 JSON 测试技术
Python爬虫神器requests库的使用
在现代编程中,网络请求是必不可少的部分。本文详细介绍 Python 的 requests 库,一个功能强大且易用的 HTTP 请求库。内容涵盖安装、基本功能(如发送 GET 和 POST 请求、设置请求头、处理响应)、高级功能(如会话管理和文件上传)以及实际应用场景。通过本文,你将全面掌握 requests 库的使用方法。🚀🌟
36 7
|
30天前
|
网络协议 数据库连接 Python
python知识点100篇系列(17)-替换requests的python库httpx
【10月更文挑战第4天】Requests 是基于 Python 开发的 HTTP 库,使用简单,功能强大。然而,随着 Python 3.6 的发布,出现了 Requests 的替代品 —— httpx。httpx 继承了 Requests 的所有特性,并增加了对异步请求的支持,支持 HTTP/1.1 和 HTTP/2,能够发送同步和异步请求,适用于 WSGI 和 ASGI 应用。安装使用 httpx 需要 Python 3.6 及以上版本,异步请求则需要 Python 3.8 及以上。httpx 提供了 Client 和 AsyncClient,分别用于优化同步和异步请求的性能。
python知识点100篇系列(17)-替换requests的python库httpx
|
14天前
|
机器学习/深度学习 数据采集 算法
Python机器学习:Scikit-learn库的高效使用技巧
【10月更文挑战第28天】Scikit-learn 是 Python 中最受欢迎的机器学习库之一,以其简洁的 API、丰富的算法和良好的文档支持而受到开发者喜爱。本文介绍了 Scikit-learn 的高效使用技巧,包括数据预处理(如使用 Pipeline 和 ColumnTransformer)、模型选择与评估(如交叉验证和 GridSearchCV)以及模型持久化(如使用 joblib)。通过这些技巧,你可以在机器学习项目中事半功倍。
21 3
|
17天前
|
数据采集 数据可视化 数据处理
如何使用Python实现一个交易策略。主要步骤包括:导入所需库(如`pandas`、`numpy`、`matplotlib`)
本文介绍了如何使用Python实现一个交易策略。主要步骤包括:导入所需库(如`pandas`、`numpy`、`matplotlib`),加载历史数据,计算均线和其他技术指标,实现交易逻辑,记录和可视化交易结果。示例代码展示了如何根据均线交叉和价格条件进行开仓、止损和止盈操作。实际应用时需注意数据质量、交易成本和风险管理。
37 5
|
16天前
|
存储 数据挖掘 数据处理
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第26天】Python 是数据分析领域的热门语言,Pandas 库以其高效的数据处理功能成为数据科学家的利器。本文介绍 Pandas 在数据读取、筛选、分组、转换和合并等方面的高效技巧,并通过示例代码展示其实际应用。
30 2
|
25天前
|
数据可视化 数据挖掘 Python
Seaborn 库创建吸引人的统计图表
【10月更文挑战第11天】本文介绍了如何使用 Seaborn 库创建多种统计图表,包括散点图、箱线图、直方图、线性回归图、热力图等。通过具体示例和代码,展示了 Seaborn 在数据可视化中的强大功能和灵活性,帮助读者更好地理解和应用这一工具。
36 3