Python 常用库
一、科学计算与数组
-
NumPy
能力:N 维数组对象、广播、向量化计算、线性代数/随机数/傅里叶变换。
速查:import numpy as np a = np.arange(12).reshape(3, 4) # 3×4 数组 b = a @ a.T # 矩阵乘法 c = np.linalg.eigvals(b) # 特征值文档:https://numpy.org/doc/stable/
中文:https://www.numpy.org.cn/ -
SciPy
能力:在 NumPy 之上提供更高阶科学算法(积分、优化、插值、信号处理、稀疏矩阵、统计分布)。
速查:from scipy import optimize, sparse sparse.eye(1000, format='csr') # 1000×1000 稀疏单位矩阵 optimize.minimize_scalar(lambda x: x**2 + 2*x + 1)
二、数据分析与表格
3. pandas
能力:带标签的二维表格(DataFrame)、时间序列、缺失值处理、分组聚合、读写 CSV/Excel/SQL。
速查:
import pandas as pd
df = pd.read_csv('file.csv')
df.groupby('city')['sales'].mean()
df.loc[df['date'] >= '2023-01-01', 'sales'] *= 1.1
文档:https://pandas.pydata.org/docs/
中文:https://www.pypandas.cn/
- Polars(高性能替代)
能力:Rust 后端 + 延迟执行,百万行秒级聚合。API 类似 pandas。import polars as pl df = pl.scan_csv("big.csv").groupby("id").agg(pl.col("v").mean()).collect()
三、机器学习
5. scikit-learn
能力:经典 ML 全流程(预处理、特征工程、监督/无监督、模型选择、Pipeline)。
速查:
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.ensemble import RandomForestClassifier
X_train, X_test, y_train, y_test = train_test_split(X, y, stratify=y, random_state=0)
clf = RandomForestClassifier(n_estimators=300)
clf.fit(X_train, y_train)
-
XGBoost / LightGBM / CatBoost
能力:梯度提升树,Kaggle 神器。import xgboost as xgb model = xgb.XGBClassifier(tree_method='gpu_hist') -
PyTorch & 8. TensorFlow/Keras
能力:深度学习、自动微分、GPU/TPU 加速。
速查(PyTorch):import torch, torch.nn as nn model = nn.Sequential(nn.Linear(784, 128), nn.ReLU(), nn.Linear(128, 10)) loss = nn.CrossEntropyLoss()
四、数据可视化
9. Matplotlib
能力:底层 2D 绘图,完全可定制。
import matplotlib.pyplot as plt
plt.plot(x, y, label='line'); plt.legend(); plt.show()
-
Seaborn
能力:统计主题高级接口,heatmap、pairplot、 violin。import seaborn as sns sns.heatmap(df.corr(), annot=True) -
Plotly / 12. Altair
能力:交互式、HTML 导出、Dash 仪表盘。import plotly.express as px fig = px.scatter(df, x='gdp', y='lifeExp', size='pop', hover_name='country') fig.show()
五、网络请求与爬虫
13. requests
python import requests, json r = requests.get('https://api.github.com/users/octocat') json.dumps(r.json(), indent=2)
- httpx(支持 HTTP/2、异步)
- BeautifulSoup4(HTML 解析)
- Scrapy(分布式爬虫框架)
六、并发 & 异步
17. asyncio(标准库)
18. aiohttp(异步 HTTP 客户端/服务器)
19. trio / curio(更友好的异步调度)
七、性能加速
20. Numba(JIT 装饰器)
python from numba import njit @njit def go_fast(a): s = 0 for i in range(a.shape[0]): s += a[i] ** 2 return s
- Cython(写 C 扩展)
- PyPy(替代解释器,JIT)
八、打包与环境
23. pip & 24. conda(包管理)
25. venv / virtualenv(虚拟环境)
26. poetry(现代依赖+打包)
27. docker(容器化)
九、其他实用工具
28. tqdm(进度条)
29. click / typer(命令行接口)
30. pillow(图像处理)
31. PyPDF2 / pdfplumber(读 PDF)
32. openpyxl / xlsxwriter(读写 Excel)
33. schedule / celery(定时/分布式任务)
如何快速记忆?
- 先掌握“核心三件套”:NumPy → pandas → matplotlib(或 seaborn)。
- 做机器学习再加 scikit-learn + 一个深度学习框架(PyTorch/TF)。
- 需要性能就上 Numba/Cython;需要大数据就 Polars/Dask/Spark;需要上线就 FastAPI/Docker。
下一步?
- 想系统学:官方文档 + 官方教程(Tutorial)永远是最新、最全。
- 想速查:把上面代码片段复制到 Jupyter Notebook,边敲边改。
- 想深入:看源码、打 breakpoint、写单元测试。
祝你编码愉快!
