一、数据处理与计算类
这类库是数据科学、数值计算的基础,补充 pandas 的能力边界。
1. NumPy(数值计算核心库)
核心用途:处理多维数组(矩阵)、数值运算(线性代数、傅里叶变换等),是 pandas、matplotlib 的底层依赖,比 Python 原生列表运算快数十倍。典型场景:数值模拟、矩阵运算、数据标准化。
python
运行
import numpy as np # 案例:创建数组+基础运算 # 1. 创建二维数组(矩阵) arr = np.array([[1, 2, 3], [4, 5, 6]]) print("原始数组:\n", arr) # 2. 数组形状(行数、列数) print("数组形状:", arr.shape) # 输出 (2, 3) # 3. 矩阵乘法(转置后相乘) arr_transpose = arr.T # 转置 result = arr @ arr_transpose # 矩阵乘法(等价于 np.dot(arr, arr_transpose)) print("矩阵乘法结果:\n", result) # 4. 数值统计 print("数组平均值:", arr.mean()) # 输出 3.5前置条件:pip install numpy
2. SciPy(科学计算库)
核心用途:基于 NumPy 扩展,提供更专业的科学计算功能(积分、优化、信号处理、统计检验等)。典型场景:物理建模、数据拟合、假设检验。
python
运行
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,提供更美观、交互性更强的可视化方案。
1. Seaborn(高级可视化库)
核心用途:基于 matplotlib,专为统计数据可视化设计,默认样式更美观,支持一键绘制热力图、箱线图、分布图等。典型场景:统计分析可视化、数据分布展示。
python
运行
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
2. Plotly(交互式可视化库)
核心用途:生成交互式图表(可缩放、悬停看数据、导出图片),支持网页端展示,比 matplotlib/seaborn 更适合做报告、dashboard。典型场景:交互式报表、大屏可视化、Web 端图表展示。
python
运行
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
三、Web 开发类
用于快速搭建网站、API 接口。
1. Flask(轻量级 Web 框架)
核心用途:微型 Web 框架,上手极快,适合搭建小型网站、API 接口、个人项目。典型场景:快速开发接口、小型博客、自动化工具的 Web 界面。
python
运行
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即可看到结果。
2. FastAPI(高性能 API 框架)
核心用途:现代、高性能的 API 框架,支持自动生成接口文档,适合搭建生产级 API。典型场景:后端接口开发、微服务、数据接口提供。
python
运行
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,专注于网页解析、异步爬取。
1. BeautifulSoup4(网页解析库)
核心用途:解析 HTML/XML 页面,提取指定内容(如标题、链接、文本),配合 requests 使用。典型场景:静态网页数据爬取。
python
运行
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
2. Scrapy(专业爬虫框架)
核心用途:功能完整的爬虫框架,支持异步爬取、数据持久化、反反爬、分布式爬取,适合大规模爬虫项目。典型场景:批量爬取网站数据、电商商品信息爬取。(注:Scrapy 需先创建项目,以下是核心爬虫文件示例)
python
运行
# 新建爬虫文件(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)。
五、自动化与办公类
用于操作办公软件、自动化重复任务。
1. openpyxl/xlsxwriter(Excel 操作库)
核心用途:openpyxl 读写 Excel(.xlsx)文件,xlsxwriter 专注于生成精美 Excel 报表(支持公式、图表)。典型场景:批量生成 Excel 报表、修改 Excel 数据。
python
运行
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
2. python-docx(Word 操作库)
核心用途:创建、修改 Word(.docx)文件,支持文本、图片、表格、样式设置。典型场景:批量生成合同、报告类 Word 文档。
python
运行
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 文件(内置库) | 数据存储、接口数据交互 |
总结
- 按场景选库:数据计算用 NumPy/SciPy,可视化用 Seaborn/Plotly,Web 开发用 Flask/FastAPI,爬虫用 BeautifulSoup4/Scrapy,办公自动化用 openpyxl/python-docx;
- 学习优先级:先掌握内置库(os/sys/logging/json)→ 高频第三方库(NumPy/Seaborn/Flask)→ 专业框架(Scrapy/FastAPI);
- 核心原则:每个库先学「核心 API + 极简案例」,再结合实际场景扩展,避免一次性学完所有功能。