Python 常用库指南
Python 作为一门设计优秀的编程语言,广泛应用于各种领域。依靠其强大的第三方类库,Python 在各个技术领域都能发挥巨大作用。本文整理了 Python 在数值计算、数据可视化、Web 开发、数据库管理、自动化运维、GUI 编程、机器学习及深度学习八大领域的常用库,并提供基础使用示例。
本文整理了 Python 在数值计算、数据可视化、Web 开发、数据库管理、自动化运维、GUI 编程、机器学习及深度学习八大领域的常用库。涵盖 NumPy、Pandas、Matplotlib、Django、Scikit-Learn、TensorFlow 等核心工具,并提供基础使用示例,帮助开发者快速选型与上手。

Python 作为一门设计优秀的编程语言,广泛应用于各种领域。依靠其强大的第三方类库,Python 在各个技术领域都能发挥巨大作用。本文整理了 Python 在数值计算、数据可视化、Web 开发、数据库管理、自动化运维、GUI 编程、机器学习及深度学习八大领域的常用库,并提供基础使用示例。
数值计算是数据挖掘、机器学习的基础。Python 提供多种强大的扩展库用于数值计算。
支持多维数组与矩阵运算,针对数组运算提供大量数学函数库。通常与 SciPy 和 Matplotlib 一起使用,定义的最重要对象是称为 ndarray 的 n 维数组类型。
典型用法:
import numpy as np
arr = np.array([1, 2, 3])
print(arr * 2) # 输出:[2 4 6]
在 NumPy 库的基础上增加了众多的数学、科学及工程计算中常用的库函数,如线性代数、常微分方程数值求解、信号处理、图像处理、稀疏矩阵等。
基于 NumPy 的一种工具,为解决数据分析任务而生。提供高效地操作大型数据集所需的工具及大量的能快速便捷处理数据的函数和方法,为时间序列分析提供很好的支持。
典型用法:
import pandas as pd
df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
print(df.sum())
数据可视化是展示数据、理解数据的有效手段。
第一个 Python 可视化库,功能非常强大但也非常复杂,许多别的程序库都是建立在其基础上或直接调用该库。
典型用法:
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6])
plt.show()
利用了 Matplotlib,用简洁的代码来制作好看的图表。与 Matplotlib 最大的区别为默认绘图风格和色彩搭配都具有现代美感。
基于 R 的一个作图库 ggplot2,同时利用了源于《图像语法》中的概念,允许叠加不同的图层来完成一幅图。
跟 ggplot 一样,Bokeh 也基于《图形语法》的概念。长处在于能用于制作可交互、可直接用于网络的图表。
可以通过 Python notebook 使用,致力于交互图表的制作,提供在别的库中几乎没有的几种图表类型,如等值线图、树形图和三维图表。
提供可直接嵌入网络浏览器的可交互图像。与其他两者的主要区别在于可将图表输出为 SVG 格式。
用于制作地图和地理相关数据的工具箱。可用来制作多种地图,比如等值区域图、热度图、点密度图。
用图像的方式快速评估数据缺失的情况,可根据数据的完整度对数据进行排序或过滤。
Web 应用开发可以说是目前软件开发中最重要的部分。Python 提供各种 Web 开发框架。
一个高级的 Python Web 框架,支持快速开发,提供从模板引擎到 ORM 所需的一切东西。
一个套接字通讯底层库,用于在服务器和客户端间建立 TCP 或 UDP 连接。
一个基于 Werkzeug、Jinja 2 的 Python 轻量级框架,适合用来编写 API 服务(RESTful services)。
典型用法:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello World'
一个使用 Python 实现的基于事件驱动的网络引擎框架,建立在 deferred object 之上。
一个由 FriendFeed 开发的 Python Web 框架和异步网络库,采用非阻塞网络 I/O 模型,可以处理数以千计的网络连接。
数据库是企业用于存放数据的主要工具。Python 提供了所有主流关系数据库管理接口。
又称 MySQLdb,是 Python 连接 MySQL 最流行的一个驱动,只支持 Python 2.x,现在基本不推荐使用。
完全兼容 MySQLdb,同时支持 Python 3.x,是 Django ORM 的依赖工具。
纯 Python 实现的驱动,速度比 MySQLdb 慢,最大的特点为安装方式简洁。
一种既支持原生 SQL,又支持 ORM 的工具。ORM 是 Python 对象与数据库关系表的一种映射关系。
运维的主要内容包括保障业务长期稳定运行、保障数据安全可靠、自动化完成部署任务。
一种由 Python 编写的开源跳板机(堡垒机)系统,实现了跳板机的基本功能,包含认证、授权和审计。
一种用 Python 开发的自动化监控系统,可监控常用系统服务、应用、网络设备。
一种用 Python 开发的硬件管理系统,包含采集硬件数据、API、页面管理 3 部分功能。
一种由 Python 开发的任务调度系统,主要用于自动化地将一个服务进程分布到其他多个机器。
一种使用 Python 语言编写的调度和监控工作流的平台。
GUI(Graphical User Interface,图形用户界面)是指采用图形方式显示的计算机操作用户界面。
一个 Python 的标准 GUI 库,可以在大多数的 UNIX 平台下使用,同样可以应用在 Windows 和 Macintosh 系统中。
一款开源软件跨平台 GUI 库 wxWidgets 的 Python 封装和 Python 模块。
一个创建 GUI 应用程序的工具库,是 Python 编程语言和 Qt 的成功融合,采用双许可证。
一个跨平台的应用程式框架 Qt 的 Python 绑定版本,提供与 PyQt 类似的功能。
Python 目前集成了大量的机器学习框架,其中常用机器学习库如下所示。
Scikit-Learn 基于 NumPy 和 SciPy,是专门为机器学习建造的一个 Python 模块,提供了大量用于数据挖掘和分析的工具。
典型用法:
from sklearn.linear_model import LogisticRegression
clf = LogisticRegression()
# clf.fit(X_train, y_train)
Orange3 是一个基于组件的数据挖掘和机器学习软件套装,支持 Python 进行脚本开发。
XGBoost 是专注于梯度提升算法的机器学习函数库,因其优良的学习效果及高效的训练速度而获得广泛的关注。
NuPIC 是专注于时间序列的一个机器学习平台,其核心算法为 HTM 算法。
Milk(Machine Learning Toolkit)是 Python 中的一个机器学习工具包,注重提升运行速度与降低内存占用。
深度学习作为机器学习的分支,众多深度学习框架提供了 Python 接口。
Caffe 是一个以表达式、速度和模块化为核心的深度学习框架,在视频、图像处理方面应用较多。
Theano 诞生于 2008 年,是一个高性能的符号计算及深度学习库,被认为是深度学习库的始祖之一。
TensorFlow 是相对高阶的机器学习库,其核心代码使用 C++ 编写,并支持自动求导。
典型用法:
import tensorflow as tf
model = tf.keras.Sequential([...])
Keras 是一个高度模块化的神经网络库,使用 Python 实现,并可以同时运行在 TensorFlow 和 Theano 上。
以上涵盖了 Python 在各大领域的核心库选型与基础用法,开发者可根据具体需求选择合适的工具链进行开发。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online