python有哪些库

Python045

python有哪些库,第1张

Python中6个最重要的库:

第一、NumPy

NumPy是Numerical

Python的简写,是Python数值计算的基石。它提供多种数据结构、算法以及大部分涉及Python数值计算所需的接口。NumPy还包括其他内容:

①快速、高效的多维数组对象ndarray

②基于元素的数组计算或数组间数学操作函数

③用于读写硬盘中基于数组的数据集的工具

④线性代数操作、傅里叶变换以及随机数生成

除了NumPy赋予Python的快速数组处理能力之外,NumPy的另一个主要用途是在算法和库之间作为数据传递的数据容器。对于数值数据,NumPy数组能够比Python内建数据结构更为高效地存储和操作数据。

第二、pandas

pandas提供了高级数据结构和函数,这些数据结构和函数的设计使得利用结构化、表格化数据的工作快速、简单、有表现力。它出现于2010年,帮助Python成为强大、高效的数据分析环境。常用的pandas对象是DataFrame,它是用于实现表格化、面向列、使用行列标签的数据结构以及Series,一种一维标签数组对象。

pandas将表格和关系型数据库的灵活数据操作能力与Numpy的高性能数组计算的理念相结合。它提供复杂的索引函数,使得数据的重组、切块、切片、聚合、子集选择更为简单。由于数据操作、预处理、清洗在数据分析中是重要的技能,pandas将是重要主题。

第三、matplotlib

matplotlib是最流行的用于制图及其他二维数据可视化的Python库,它由John D.

Hunter创建,目前由一个大型开发者团队维护。matplotlib被设计为适合出版的制图工具。

对于Python编程者来说也有其他可视化库,但matplotlib依然使用最为广泛,并且与生态系统的其他库良好整合。

第四、IPython

IPython项目开始于2001年,由Fernando

Pérez发起,旨在开发一个更具交互性的Python解释器。在过去的16年中,它成为Python数据技术栈中最重要的工具之一。

尽管它本身并不提供任何计算或数据分析工具,它的设计侧重于在交互计算和软件开发两方面将生产力最大化。它使用了一种执行-探索工作流来替代其他语言中典型的编辑-编译-运行工作流。它还提供了针对操作系统命令行和文件系统的易用接口。由于数据分析编码工作包含大量的探索、试验、试错和遍历,IPython可以使你更快速地完成工作。

第五、SciPy

SciPy是科学计算领域针对不同标准问题域的包集合。以下是SciPy中包含的一些包:

①scipy.integrate数值积分例程和微分方程求解器

②scipy.linalg线性代数例程和基于numpy.linalg的矩阵分解

③scipy.optimize函数优化器和求根算法

④scipy.signal信号处理工具

⑤scipy.sparse稀疏矩阵与稀疏线性系统求解器

SciPy与Numpy一起为很多传统科学计算应用提供了一个合理、完整、成熟的计算基础。

第六、scikit-learn

scikit-learn项目诞生于2010年,目前已成为Python编程者首选的机器学习工具包。仅仅七年,scikit-learn就拥有了全世界1500位代码贡献者。其中包含以下子模块:

①分类:SVM、最近邻、随机森林、逻辑回归等

②回归:Lasso、岭回归等

③聚类:K-means、谱聚类等

④降维:PCA、特征选择、矩阵分解等

⑤模型选择:网格搜索、交叉验证、指标矩阵

⑥预处理:特征提取、正态化

scikit-learn与pandas、statsmodels、IPython一起使Python成为高效的数据科学编程语言。

10个顶级且实用的python库

1、Dash

Dash是比较新的软件包,它是用纯python构建数据可视化app的理想选择,因此特别适合处理数据的任何人。Dash是Flask、Plotly.js和React.js的混合体。

2、Pygame

Pygame是SDL多媒体库的python装饰器,SDL是一个跨平台开发库,旨在提供对以下内容的低级接口:音频、键盘、鼠标、游戏杆、基于OpenGL和Direct3D的图形硬件。

Pygame具有高度的可移植性,几乎可以在所有平台和操作系统上运行。尽管它具有完善的游戏引擎,但您也可以使用此库直接从python脚本播放MP3文件。

3、Pillow

Pillow专门用于处理图像,您可以使用该库创建缩略图,在文件格式之间转换、旋转、应用滤镜、显示图像等等。如果您需要对许多图像执行批量操作,这是理想的选择。

4、Colorama

Colorama允许你在终端使用颜色,非常适合python脚本,文档简短而有趣,可以在Colorama PyPi页面上找到。

5、JmesPath

在python中使用JSON非常容易,因为JSON在python字典上的映射非常好。此外,python带有自己出色的json库,用于解析和创建JSON。对我来说,这是它最好的功能之一,如果我需要使用JSON,可以考虑使用python。

JmesPath使python处理JSON更加容易,它允许您明确地指定如何从JSON文档中提取元素。

6、Requests

Requests建立在世界上下载量最大的python库urllib3上,它令Web请求变得非常简单,功能强大且用途广泛。

Requests可以完成您能想到的所有高级工作,比如:认证,使用cookie,执行POST、PUT、DELETE等,使用自定义证书,使用会话Session、使用代理等。

7、Simplejson

python中的本地json模块有什么问题?没有!实际上,python的json是Simplejson。意思是:python采用了Simplejson的一个版本,并将其合并到每个发行版中,但是使用Simplejson具有一些优点:它适用于更多python版本、它比python随附的版本更新频率更高、它具有用C编写的部分,因此非常快速。

8、Emoji

Emoji库非常意思,但并非每个人都喜欢表情包,分析视角媒体数据时,Emoji包非常有用。

9、Python-dateutil

Python-dateutil模块提供了对标准datetime模块的强大扩展。我的经验是:常规的python日期时间功能在哪里结束,而Python-dateutil就出现了。

10、BeautifulSoup

如果您从网站上提取了一些HTML,则需要对其进行解析以获取实际所需的内容。BeautifulSoup是一个python库,用于从HTML和XML文件中提取数据。它提供了导航,搜索和修改解析树的简单方法。它非常强大,即使损坏了,也能够处理各种HTML,这是一个非常强大的功能。

它的一些主要功能:

①BeautifulSoup会自动将传入文档转换为Unicode,将传出文档转换为UTF-8,您无需考虑编码。

②BeautifulSoup位于流行的python解析器的顶部,使您可以尝试不同的解析策略或提高灵活性。

Python 语言官方的参考手册钟,介绍了与 Python 一同发行的标准库。

文本处理服务

string --- 常见的字符串操作

re --- 正则表达式操作

difflib --- 计算差异的辅助工具

textwrap --- 文本自动换行与填充

unicodedata --- Unicode 数据库

stringprep --- 因特网字符串预备

readline --- GNU readline 接口

rlcompleter --- GNU readline 的补全函数

二进制数据服务

struct --- 将字节串解读为打包的二进制数据

codecs --- 编解码器注册和相关基类

数据类型

datetime --- 基本日期和时间类型

zoneinfo --- IANA 时区支持

calendar --- 日历相关函数

collections --- 容器数据类型

collections.abc --- 容器的抽象基类

heapq --- 堆队列算法

bisect --- 数组二分查找算法

array --- 高效的数值数组

weakref --- 弱引用

types --- 动态类型创建和内置类型名称

copy --- 浅层 (shallow) 和深层 (deep) 复制操作

pprint --- 数据美化输出

reprlib --- 另一种 repr() 实现

enum --- 对枚举的支持

graphlib --- 操作类似图的结构的功能

数字和数学模块

numbers --- 数字的抽象基类

math --- 数学函数

cmath --- 关于复数的数学函数

decimal --- 十进制定点和浮点运算

fractions --- 分数

random --- 生成伪随机数

statistics --- 数学统计函数

函数式编程模块

itertools --- 为高效循环而创建迭代器的函数

functools --- 高阶函数和可调用对象上的操作

operator --- 标准运算符替代函数

文件和目录访问

pathlib --- 面向对象的文件系统路径

os.path --- 常用路径操作

fileinput --- 迭代来自多个输入流的行

stat --- 解析 stat() 结果

filecmp --- 文件及目录的比较

tempfile --- 生成临时文件和目录

glob --- Unix 风格路径名模式扩展

fnmatch --- Unix 文件名模式匹配

linecache --- 随机读写文本行

shutil --- 高阶文件操作

数据持久化

pickle --- Python 对象序列化

copyreg --- 注册配合 pickle 模块使用的函数

shelve --- Python 对象持久化

marshal --- 内部 Python 对象序列化

dbm --- Unix "数据库" 接口

sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块

数据压缩和存档

zlib --- 与 gzip 兼容的压缩

gzip --- 对 gzip 格式的支持

bz2 --- 对 bzip2 压缩算法的支持

lzma --- 用 LZMA 算法压缩

zipfile --- 使用ZIP存档

tarfile --- 读写tar归档文件

文件格式

csv --- CSV 文件读写

configparser --- 配置文件解析器

tomllib --- Parse TOML files

netrc --- netrc 文件处理

plistlib --- 生成与解析 Apple .plist 文件

加密服务

hashlib --- 安全哈希与消息摘要

hmac --- 基于密钥的消息验证

secrets --- 生成管理密码的安全随机数

通用操作系统服务

os --- 多种操作系统接口

io --- 处理流的核心工具

time --- 时间的访问和转换

argparse --- 命令行选项、参数和子命令解析器

getopt --- C 风格的命令行选项解析器

logging --- Python 的日志记录工具

logging.config --- 日志记录配置

logging.handlers --- 日志处理程序

getpass --- 便携式密码输入工具

curses --- 终端字符单元显示的处理

curses.textpad --- 用于 curses 程序的文本输入控件

curses.ascii --- 用于 ASCII 字符的工具

curses.panel --- curses 的面板栈扩展

platform --- 获取底层平台的标识数据

errno --- 标准 errno 系统符号

ctypes --- Python 的外部函数库

并发执行

threading --- 基于线程的并行

multiprocessing --- 基于进程的并行

multiprocessing.shared_memory --- Shared memory for direct access across processes

concurrent 包

concurrent.futures --- 启动并行任务

subprocess --- 子进程管理

sched --- 事件调度器

queue --- 一个同步的队列类

contextvars --- 上下文变量

_thread --- 底层多线程 API

网络和进程间通信

asyncio --- 异步 I/O

socket --- 底层网络接口

ssl --- 套接字对象的 TLS/SSL 包装器

select --- 等待 I/O 完成

selectors --- 高级 I/O 复用库

signal --- 设置异步事件处理程序

mmap --- 内存映射文件支持

互联网数据处理

email --- 电子邮件与 MIME 处理包

json --- JSON 编码和解码器

mailbox --- 操作多种格式的邮箱

mimetypes --- 映射文件名到 MIME 类型

base64 --- Base16, Base32, Base64, Base85 数据编码

binascii --- 二进制和 ASCII 码互转

quopri --- 编码与解码经过 MIME 转码的可打印数据

结构化标记处理工具

html --- 超文本标记语言支持

html.parser --- 简单的 HTML 和 XHTML 解析器

html.entities --- HTML 一般实体的定义

XML处理模块

xml.etree.ElementTree --- ElementTree XML API

xml.dom --- 文档对象模型 API

xml.dom.minidom --- 最小化的 DOM 实现

xml.dom.pulldom --- 支持构建部分 DOM 树

xml.sax --- 支持 SAX2 解析器

xml.sax.handler --- SAX 处理句柄的基类

xml.sax.saxutils --- SAX 工具集

xml.sax.xmlreader --- 用于 XML 解析器的接口

xml.parsers.expat --- 使用 Expat 的快速 XML 解析

互联网协议和支持

webbrowser --- 方便的 Web 浏览器控制工具

wsgiref --- WSGI 工具和参考实现

urllib --- URL 处理模块

urllib.request --- 用于打开 URL 的可扩展库

urllib.response --- urllib 使用的 Response 类

urllib.parse 用于解析 URL

urllib.error --- urllib.request 引发的异常类

urllib.robotparser --- robots.txt 语法分析程序

http --- HTTP 模块

http.client --- HTTP 协议客户端

ftplib --- FTP 协议客户端

poplib --- POP3 协议客户端

imaplib --- IMAP4 协议客户端

smtplib --- SMTP 协议客户端

uuid --- RFC 4122 定义的UUID对象

socketserver --- 用于网络服务器的框架

http.server --- HTTP 服务器

http.cookies --- HTTP状态管理

http.cookiejar —— HTTP 客户端的 Cookie 处理

xmlrpc --- XMLRPC 服务端与客户端模块

xmlrpc.client --- XML-RPC 客户端访问

xmlrpc.server --- 基本 XML-RPC 服务器

ipaddress --- IPv4/IPv6 操作库

多媒体服务

wave --- 读写WAV格式文件

colorsys --- 颜色系统间的转换

国际化

gettext --- 多语种国际化服务

locale --- 国际化服务

程序框架

turtle --- 海龟绘图

cmd --- 支持面向行的命令解释器

shlex —— 简单的词法分析

Tk图形用户界面(GUI)

tkinter —— Tcl/Tk 的 Python 接口

tkinter.colorchooser --- 颜色选择对话框

tkinter.font --- Tkinter 字体封装

Tkinter 对话框

tkinter.messagebox --- Tkinter 消息提示

tkinter.scrolledtext --- 滚动文字控件

tkinter.dnd --- 拖放操作支持

tkinter.ttk --- Tk 风格的控件

tkinter.tix --- TK扩展包