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

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

zhezhongyun 2025-02-04 17:06 20 浏览

什么是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库,由于篇幅原因,其余内容下期更新。

相关推荐

JPA实体类注解,看这篇就全会了

基本注解@Entity标注于实体类声明语句之前,指出该Java类为实体类,将映射到指定的数据库表。name(可选):实体名称。缺省为实体类的非限定名称。该名称用于引用查询中的实体。不与@Tab...

Dify教程02 - Dify+Deepseek零代码赋能,普通人也能开发AI应用

开始今天的教程之前,先解决昨天遇到的一个问题,docker安装Dify的时候有个报错,进入Dify面板的时候会出现“InternalServerError”的提示,log日志报错:S3_USE_A...

用离散标记重塑人体姿态:VQ-VAE实现关键点组合关系编码

在人体姿态估计领域,传统方法通常将关键点作为基本处理单元,这些关键点在人体骨架结构上代表关节位置(如肘部、膝盖和头部)的空间坐标。现有模型对这些关键点的预测主要采用两种范式:直接通过坐标回归或间接通过...

B 客户端流RPC (clientstream Client Stream)

客户端编写一系列消息并将其发送到服务器,同样使用提供的流。一旦客户端写完消息,它就等待服务器读取消息并返回响应gRPC再次保证了单个RPC调用中的消息排序在客户端流RPC模式中,客户端会发送多个请...

我的模型我做主02——训练自己的大模型:简易入门指南

模型训练往往需要较高的配置,为了满足友友们的好奇心,这里我们不要内存,不要gpu,用最简单的方式,让大家感受一下什么是模型训练。基于你的硬件配置,我们可以设计一个完全在CPU上运行的简易模型训练方案。...

开源项目MessageNest打造个性化消息推送平台多种通知方式

今天介绍一个开源项目,MessageNest-可以打造个性化消息推送平台,整合邮件、钉钉、企业微信等多种通知方式。定制你的消息,让通知方式更灵活多样。开源地址:https://github.c...

使用投机规则API加快页面加载速度

当今的网络用户要求快速导航,从一个页面移动到另一个页面时应尽量减少延迟。投机规则应用程序接口(SpeculationRulesAPI)的出现改变了网络应用程序接口(WebAPI)领域的游戏规则。...

JSONP安全攻防技术

关于JSONPJSONP全称是JSONwithPadding,是基于JSON格式的为解决跨域请求资源而产生的解决方案。它的基本原理是利用HTML的元素标签,远程调用JSON文件来实现数据传递。如果...

大数据Doris(六):编译 Doris遇到的问题

编译Doris遇到的问题一、js_generator.cc:(.text+0xfc3c):undefinedreferenceto`well_known_types_js’查找Doris...

网页内嵌PDF获取的办法

最近女王大人为了通过某认证考试,交了2000RMB,官方居然没有给线下教材资料,直接给的是在线教材,教材是PDF的但是是内嵌在网页内,可惜却没有给具体的PDF地址,无法下载,看到女王大人一点点的截图保...

印度女孩被邻居家客人性骚扰,父亲上门警告,反被围殴致死

微信的规则进行了调整希望大家看完故事多点“在看”,喜欢的话也点个分享和赞这样事儿君的推送才能继续出现在你的订阅列表里才能继续跟大家分享每个开怀大笑或拍案惊奇的好故事啦~话说只要稍微关注新闻的人,应该...

下周重要财经数据日程一览 (1229-0103)

下周焦点全球制造业PMI美国消费者信心指数美国首申失业救济人数值得注意的是,下周一希腊还将举行第三轮总统选举需要谷歌日历同步及部分智能手机(安卓,iPhone)同步日历功能的朋友请点击此链接,数据公布...

PyTorch 深度学习实战(38):注意力机制全面解析

在上一篇文章中,我们探讨了分布式训练实战。本文将深入解析注意力机制的完整发展历程,从最初的Seq2Seq模型到革命性的Transformer架构。我们将使用PyTorch实现2个关键阶段的注意力机制变...

聊聊Spring AI的EmbeddingModel

序本文主要研究一下SpringAI的EmbeddingModelEmbeddingModelspring-ai-core/src/main/java/org/springframework/ai/e...

前端分享-少年了解过iframe么

iframe就像是HTML的「内嵌画布」,允许在页面中加载独立网页,如同在画布上叠加另一幅动态画卷。核心特性包括:独立上下文:每个iframe都拥有独立的DOM/CSS/JS环境(类似浏...