一、数据处理与计算类
这类库是数据科学、数值计算的基础,补充 pandas 的能力边界。
1. NumPy(数值计算核心库)
核心用途:处理多维数组(矩阵)、数值运算(线性代数、傅里叶变换等),是 pandas、matplotlib 的底层依赖,比 Python 原生列表运算快数十倍。典型场景:数值模拟、矩阵运算、数据标准化。
import numpy as np
系统梳理了 Python 常用第三方库,涵盖数据处理(NumPy、SciPy)、数据可视化(Seaborn、Plotly)、Web 开发(Flask、FastAPI)、网络爬虫(BeautifulSoup、Scrapy)及办公自动化(openpyxl、python-docx)等核心领域。文章提供了各库的安装命令与基础代码示例,旨在帮助开发者快速了解工具特性并根据实际业务场景选择合适的技术栈,提升开发效率。
这类库是数据科学、数值计算的基础,补充 pandas 的能力边界。
核心用途:处理多维数组(矩阵)、数值运算(线性代数、傅里叶变换等),是 pandas、matplotlib 的底层依赖,比 Python 原生列表运算快数十倍。典型场景:数值模拟、矩阵运算、数据标准化。
import numpy as np
前置条件:pip install numpy
核心用途:基于 NumPy 扩展,提供更专业的科学计算功能(积分、优化、信号处理、统计检验等)。典型场景:物理建模、数据拟合、假设检验。
import numpy as np from scipy.optimize import curve_fit # 案例:数据拟合(拟合一条直线) # 1. 模拟数据 x = np.linspace(0, 10, 50) # 0 到 10 的 50 个均匀点 y = 2 * x + 3 + np.random.normal(0, 0.5, 50) # y=2x+3 + 随机噪声 # 2. 定义拟合函数(直线) def linear_func(x, a, b): return a * x + b # 3. 拟合数据,得到参数 a、b params, _ = curve_fit(linear_func, x, y) a, b = params print(f"拟合结果:y = {a:.2f}x + {b:.2f}") # 接近 y=2x+3
前置条件:pip install scipy
补充 matplotlib,提供更美观、交互性更强的可视化方案。
核心用途:基于 matplotlib,专为统计数据可视化设计,默认样式更美观,支持一键绘制热力图、箱线图、分布图等。典型场景:统计分析可视化、数据分布展示。
import seaborn as sns import matplotlib.pyplot as plt # 设置中文显示 plt.rcParams["font.sans-serif"] = ["SimHei"] plt.rcParams["axes.unicode_minus"] = False # 案例:绘制热力图(展示数据相关性) # 1. 加载内置数据集(鸢尾花数据) df = sns.load_dataset("iris") # 2. 计算数值列的相关性矩阵 corr = df.select_dtypes(include="float64").corr() # 3. 绘制热力图 sns.heatmap(corr, annot=True, cmap="coolwarm", fmt=".2f") plt.title("鸢尾花数据相关性热力图") plt.show()
前置条件:pip install seaborn
核心用途:生成交互式图表(可缩放、悬停看数据、导出图片),支持网页端展示,比 matplotlib/seaborn 更适合做报告、dashboard。典型场景:交互式报表、大屏可视化、Web 端图表展示。
import plotly.express as px # 案例:绘制交互式散点图 # 1. 加载内置数据集 df = px.data.iris() # 2. 绘制散点图(可交互,悬停显示详细信息) fig = px.scatter(df, x="sepal_length", y="sepal_width", color="species", size="petal_length", title="鸢尾花数据交互式散点图") # 3. 显示图表(自动打开浏览器) fig.show()
前置条件:pip install plotly
用于快速搭建网站、API 接口。
核心用途:微型 Web 框架,上手极快,适合搭建小型网站、API 接口、个人项目。典型场景:快速开发接口、小型博客、自动化工具的 Web 界面。
from flask import Flask, jsonify # 初始化 Flask 应用 app = Flask(__name__) # 定义路由(访问 http://127.0.0.1:5000/hello 触发) @app.route("/hello") def hello_world(): return "Hello, Flask!" # 定义 API 接口(返回 JSON 数据) @app.route("/api/data") def get_data(): data = {"name": "测试", "age": 20, "city": "北京"} return jsonify(data) # 运行应用 if __name__ == "__main__": app.run(debug=True) # debug=True 调试模式,修改代码自动重启
前置条件:pip install flask
运行后:打开浏览器访问 http://127.0.0.1:5000/hello 即可看到结果。
核心用途:现代、高性能的 API 框架,支持自动生成接口文档,适合搭建生产级 API。典型场景:后端接口开发、微服务、数据接口提供。
from fastapi import FastAPI import uvicorn # 初始化 FastAPI 应用 app = FastAPI() # 定义 GET 接口 @app.get("/items/{item_id}") def read_item(item_id: int, q: str = None): return {"item_id": item_id, "q": q} # 运行应用(需用 uvicorn) if __name__ == "__main__": uvicorn.run(app, host="127.0.0.1", port=8000)
前置条件:pip install fastapi uvicorn
运行后:
http://127.0.0.1:8000/items/1?q=test 查看接口返回;http://127.0.0.1:8000/docs 查看自动生成的接口文档。补充 requests,专注于网页解析、异步爬取。
核心用途:解析 HTML/XML 页面,提取指定内容(如标题、链接、文本),配合 requests 使用。典型场景:静态网页数据爬取。
import requests from bs4 import BeautifulSoup # 案例:爬取网页标题和链接 url = "https://www.example.com" response = requests.get(url) soup = BeautifulSoup(response.text, "html.parser") # 解析 HTML # 提取标题 title = soup.title.string print("网页标题:", title) # 提取所有链接 print("\n网页中的链接:") for a_tag in soup.find_all("a"): # 找到所有<a>标签 link = a_tag.get("href") text = a_tag.string print(f"文本:{text},链接:{link}")
前置条件:pip install beautifulsoup4
核心用途:功能完整的爬虫框架,支持异步爬取、数据持久化、反反爬、分布式爬取,适合大规模爬虫项目。典型场景:批量爬取网站数据、电商商品信息爬取。(注:Scrapy 需先创建项目,以下是核心爬虫文件示例)
# 新建爬虫文件(spiders/example_spider.py) import scrapy class ExampleSpider(scrapy.Spider): name = "example" # 爬虫名 start_urls = ["https://www.example.com"] # 起始 URL def parse(self, response): # 提取标题 title = response.xpath("//title/text()").get() yield {"title": title} # 输出数据 # 提取所有链接并跟进爬取(可选) for href in response.xpath("//a/@href").getall(): yield response.follow(href, self.parse)
前置条件:pip install scrapy
运行命令:scrapy crawl example -o result.json(爬取结果保存到 result.json)。
用于操作办公软件、自动化重复任务。
核心用途:openpyxl 读写 Excel(.xlsx)文件,xlsxwriter 专注于生成精美 Excel 报表(支持公式、图表)。典型场景:批量生成 Excel 报表、修改 Excel 数据。
from openpyxl import Workbook # 案例:创建 Excel 并写入数据 wb = Workbook() ws = wb.active # 获取活动工作表 ws.title = "测试表" # 重命名工作表 # 写入数据 ws["A1"] = "姓名" ws["B1"] = "年龄" ws.append(["张三", 25]) ws.append(["李四", 30]) # 保存文件 wb.save("test.xlsx") print("Excel 文件已生成")
前置条件:pip install openpyxl
核心用途:创建、修改 Word(.docx)文件,支持文本、图片、表格、样式设置。典型场景:批量生成合同、报告类 Word 文档。
from docx import Document from docx.shared import Inches # 案例:创建 Word 文档 doc = Document() # 添加标题 doc.add_heading("测试文档", level=1) # 添加段落 p = doc.add_paragraph("这是第一段文本,") p.add_run("这部分文字加粗").bold = True p.add_run(",这部分正常。") # 添加表格(2 行 2 列) table = doc.add_table(rows=2, cols=2) table.cell(0, 0).text = "姓名" table.cell(0, 1).text = "年龄" table.cell(1, 0).text = "张三" table.cell(1, 1).text = "25" # 保存文档 doc.save("test.docx") print("Word 文档已生成")
前置条件:pip install python-docx
| 库名 | 核心用途 | 典型场景 |
|---|---|---|
| Pillow | 图像处理(裁剪、缩放、加水印、格式转换) | 图片批量处理、验证码识别 |
| PyYAML | 读写 YAML 配置文件 | 项目配置、数据序列化 |
| logging | 日志记录(内置库) | 程序运行日志、错误排查 |
| unittest/pytest | 单元测试框架 | 代码测试、自动化测试 |
| json/csv | 读写 JSON/CSV 文件(内置库) | 数据存储、接口数据交互 |

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 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