百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Python库大全(上)Python的所有库都在这里了,建议收藏

myzbx 2025-03-03 19:26 14 浏览

什么是Python

Python作为当然最热门的编程语言之一,拥有超高的人气,随着大数据和人工智能的发展,Python也与多种科技深深绑定。

什么是Python库

从代码角度讲:库就是一堆类(class)和函数(function)的集合。

从应用角度讲:库类似生活中的工具箱,箱子里有很多做其他事情必不可少的工具。举一个例子,如果你想抓取某网站的数据或图片,那么你就需要能处理相关底层网络连接的代码,而这些代码都已经被写好了,你只需要调用库里的函数或类,能够提高开发效率。

面对不同的情况,自然需要不同的工具箱,那么,都有哪些Python库呢?




大数据与科学计算

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

Open Mining : 商业智能(BI),Pandas的Web界面。blaze,NumPy和Pandas大数据界面。 SciPy,开源的Python算法库和数学工具包,SciPy包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算;

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工具包,它提供了一个灵活可扩展的框架;

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。

scikits.learn : 构建在SciPy之上用于机器学习的 Python 模块。它包括简单而高效的工具,可用于数据挖掘和数据分析;

PyMC : 主要用来做Bayesian分析。Orange,基于组件的数据挖掘和机器学习软件套装,它的功能即友好,又很强大,快速而又多功能的可视化编程前端,以便浏览数据分析和可视化,包含了完整的一系列的组件以进行数据预处理,并提供了数据帐目,过渡,建模,模式评估和勘探的功能;

Milk : 机器学习工具箱,其重点是提供监督分类法与几种有效的分类分析:SVMs(基于libsvm),K-NN,随机森林经济和决策树。

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

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上训练它们的选项;




数据分析

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调用Excel

csvkit : 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/XHTML bleach : 漂白,基于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个处理器之大型系统)的图形应用函式库;

Aggdraw : 开源图像库,几乎涵盖了2d image操作的所有功能,使用起来非常灵活Pycairo,开源矢量绘图库Cairo开罗的python接口,cairo提供在多个背景下做2-D的绘图,高级的更可以使用硬件加速功能。wand,Python绑定魔杖工具(MagickWand),C语言API接口;

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

imgSeek : 查询相似的图像

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等字体软件;




数据库

MySQLdb : 成熟的[MySQL]数据库模块

Baresql : SQL数据库包ZODB,Python本地对象数据库,一个K-V对象图数据库;

pickledb : 简单和轻量级的K-V键值存储

TinyDB : 轻量级,面向文档的数据库;

mysql-python : MySQL的Python工具库

mysqlclient : mysql-python分支,支持Python 3

PyMySQL : 纯Python写的 MySQL驱动程序,兼容mysql-python;

mysql-connector-python : MySQL连接器,来自[Oracle],纯Python编写;

oursql : MySQL连接器,提供本地话指令语句和BLOBs支持;

psycopg2 : 最流行的Python PostgreSQL适配器

txpostgres : 于Twisted的异步驱动,用于PostgreSQL;

queries : psycopg2函数库,用于PostgreSQL;

dataset : 存储Python字典数据,用于SQLite,MySQL和PostgreSQL;

cassandra-python-driver : 开源分布式NoSQL数据库系统Apache Cassandra系统的Python驱动

pycassa : 简化的cassandra数据库Python驱动

HappyBase : 友好的Apache [Hbase]的函数库

PyMongo : MongoDB官方客户端

plyvel : LevelDB快速和功能丰富的Python接口

redis-py : redis客户端

py2neo : Python客户端(基于Neo4j的RESTful接口)

telephus : 基于Twisted的cassandra客户端

txRedis : 基于Twisted的Redis客户端

本篇介绍六种Python库,由于篇幅原因,其余内容下期更新。

相关推荐

以文本的方式绘制简单的SVG流程图——flowchart.js

介绍flowchart.js是在浏览器和终端中运行的流程图DSL和SVG渲染。节点和连接是分别定义的,因此可以重复使用节点,并可以快速更改连接。也可以在DSL中对节点和连接器样式进行细微的更改。Git...

全国首套构网型SVG在木垒投运

中新网新疆新闻1月5日电(翟文辉)12月29日,全国首套构网型SVG在新疆木垒华电220千伏四十个井子汇集站并网,本项目是新疆电网继阿克陶构网型储能后又一次构网型支撑项目示范。为全面响应国家“双碳”...

Popmotion – 小巧,灵活的 JS 运动引擎

Popmotion是一个只有12KB的JavaScript运动引擎,可以用来实现动画,物理效果和输入跟踪。原生的DOM支持:CSS,SVG,SVG路径和DOM属性的支持,开箱即用。Popmoti...

零基础教你学前端——43、初识SVG

解决网站图标问题的最佳方案——SVG!SVG是一种基于XML语法的图像格式,英文全称是:ScalableVectorGraphics,即可缩放矢量图,是W3C的一项建议。我们用手机拍摄...

2.3 文件格式全解:PSD/JPG/PNG/SVG/GIF

2.3文件格式全解:PSD/JPG/PNG/SVG/GIF一、文件格式的核心意义文件格式是数字图像的存储规则,决定了:-信息保留程度(图层/透明度/动画)-压缩方式与画质损失-跨平台兼容性-...

vite v6.3.2 发布!HMR 优化+CSS 增强+稳定性提升,前端开发再提速!

前言:Vite6.3.2来了!2025年4月18日,Vite团队正式发布了v6.3.2版本!虽然是一个小版本更新,但修复了多个关键问题,并带来了性能优化和稳定性提升,让开发体验更丝滑!如果你还...

一篇文章带你了解SVG 蒙版(Mask)

SVG蒙版功能可将蒙版应用于SVG形状。蒙版可确定SVG形状的哪些部分可见,以及具有什么透明度。运行效果可以将SVG蒙版视为剪切路径的更高级版本。一、简单的蒙版代码解析:本示例使用ID=mask1定义...

SVG实现的流程图绘制

一、项目简介使用SVG技术实现的流程图绘制二、实现功能流程图块生成、连线、拖拽产生相应的xml和xpdl导入导出json数据放大缩小功能保存操作(选择、自动插入、开始结束、普通活动、子活动、块活动、路...

解锁国内 404 页面:Next.js 设置指南和 33 个有趣 SVG 资源分享

前言当我们访问网站时,如果访问到不存在的路径时,会出现404错误。为了避免给访问者带来不良体验,设计网站时通常会在页面上展示“404页面不存在”的提示,并引导用户进行返回首页等操作。因此在建立网...

交互设计师做好动画后,提交给开发的文档有哪些?

谢邀!简单的说一下自己的看法。首先从制作动画开始。目前制作动画的方式主要有:Gif动画视频动画Web动画,而Web动画又包括:CSS动画、JS动画(Canvas动画、原生JS动画API)、SVG动画等...

Motion for Vue:为Vue量身定制的强大动画库

在前端开发中,动画效果是提升用户体验的重要手段。Vue生态系统中虽然有许多动画库,但真正能做到高性能、易用且功能丰富的并不多。今天,我们要介绍的是MotionforVue(motion-v),...

Web开发人员的福音!8个实用的SVG工具

SVG可缩放矢量图形(ScalableVectorGraphics)是基于可扩展标记语言(XML),用于描述二维矢量图形的一种图形格式。SVG是W3C在2000年8月制定的一种新的二维矢量图形格式...

一键画波浪线、一键多图片调色?这3个网站好玩到停不下来

作为一个经常收集网站的PPT设计师,无意中发现了一些超级有趣的网站。只要你动手能力足够强,就一定会利用它做出创意作品。不说废话,直接进入主题。1、炫酷的光线绘画网站http://weavesilk.c...

vite 6.2.5 更新速递:告别SVG路径Bug,构建效率再提升!

Vite6.2.5更新公告2025年4月3日,Vite团队正式发布了Vite6.2.5版本!此次更新虽然是一个小版本迭代,但修复了一个关键问题,涉及SVG文件路径检查,对前端开发者尤...

DrawSVG – SVG 路径动画 jQuery 插件

jQueryDrawSVG使用了jQuery内置的动画引擎实现SVG路径动画,用到了stroke-dasharray和stroke-dashoffset属性。DrawSVG是完全...