Python常用第三方库全景指南:从基础到前沿工具集
一、数据科学核心套件
数值计算三剑客
import numpy as np
arr = np. arange( 1 , 10 ) . reshape( 3 , 3 )
print ( arr @ arr. T)
import pandas as pd
df = pd. DataFrame( {
'A' : np. random. randn( 100 ) ,
'B' : np. random. choice( [ 'X' , 'Y' , 'Z' ] , 100 )
} )
print ( df. groupby( 'B' ) . describe( ) )
import matplotlib. pyplot as plt
plt. plot( df[ 'A' ] . cumsum( ) )
plt. title( '随机游走' )
plt. savefig( 'walk.png' )
库名 简介 安装命令 优势领域 NumPy 多维数组计算 pip install numpy
矩阵运算/线性代数 Pandas 结构化数据分析 pip install pandas
数据清洗/时间序列 Polars 高性能DataFrame pip install polars
大数据处理/多核优化 Dask 并行计算框架 pip install dask
分布式计算/内存扩展
现代数据工具
import polars as pl
df = pl. DataFrame( {
'id' : range ( 1_000_000 ) ,
'value' : np. random. rand( 1_000_000 )
} )
print ( df. filter ( pl. col( 'value' ) > 0.5 ) . groupby( 'id' ) . mean( ) )
import vaex
df = vaex. open ( 'bigfile.hdf5' )
df. plot( df. x, df. y, what= 'count(*)' , shape= 256 , show= True )
二、Web开发全栈方案
主流框架对比
INSTALLED_APPS = [
'django.contrib.admin' ,
'django.contrib.auth' ,
'myapp'
]
from flask import Flask
app = Flask( __name__)
@app. route ( '/api/data' )
def get_data ( ) :
return { 'data' : [ 1 , 2 , 3 ] }
from fastapi import FastAPI
app = FastAPI( )
@app. get ( "/items/{item_id}" )
async def read_item ( item_id: int ) :
return { "item_id" : item_id}
特性 Django Flask FastAPI 定位 全栈式框架 微型框架 现代API框架 异步支持 3.1+ 需扩展 原生支持 性能 中等 中等 高性能(Starlette) 适用场景 CMS/复杂后台 微服务/简单API 高性能API/实时应用
辅助工具链
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy. orm import declarative_base
Base = declarative_base( )
class User ( Base) :
__tablename__ = 'users'
id = Column( Integer, primary_key= True )
name = Column( String( 50 ) )
from celery import Celery
app = Celery( 'tasks' , broker= 'redis://localhost' )
@app. task
def send_email ( to) :
return True
三、机器学习与AI工具包
深度学习框架
import tensorflow as tf
model = tf. keras. Sequential( [
tf. keras. layers. Dense( 128 , activation= 'relu' ) ,
tf. keras. layers. Dropout( 0.2 ) ,
tf. keras. layers. Dense( 10 )
] )
import torch
x = torch. randn( 5 , 3 )
y = torch. randn( 5 , 3 )
result = x + y
print ( result)
AutoML工具
from pycaret. classification import *
clf = setup( data, target= 'label' )
best_model = compare_models( )
from autogluon. tabular import TabularPredictor
predictor = TabularPredictor( label= 'class' ) . fit( train_data)
四、高效开发工具集
代码质量工具
$ pylint mymodule. py
$ black myproject/
repos:
- repo: https: // github. com/ psf/ black
rev: 22.3 .0
hooks:
- id : black
args: [ - - line- length= 88 ]
现代CLI工具
import typer
app = typer. Typer( )
@app. command ( )
def hello ( name: str ) :
typer. echo( f"Hello { name} " )
if __name__ == "__main__" :
app( )
from rich. console import Console
console = Console( )
console. print ( "[bold red]Alert![/] Database connection failed" , style= "yellow" )
五、前沿技术生态
领域 推荐库 核心功能 版本 量子计算 Qiskit 量子算法开发 0.39+ 区块链 Web3.py 以太坊交互 5.30+ 边缘计算 PyTorch Mobile 移动端模型部署 2.0+ 元宇宙 Open3D 3D数据处理 0.16+ 生物信息 Biopython 基因序列分析 1.80+
数据科学
NumPy
Pandas
Matplotlib
Polars
Web开发
Django
Flask
FastAPI
SQLAlchemy
机器学习
TensorFlow
PyTorch
Scikit-learn
OpenCV
工具链
Black
Pylint
Pytest
Typer
选型决策树 :
是
全功能后台
轻量API
微服务
否
数据分析
数值计算
大数据
否
研究
生产
自动化
项目需求
Web应用?
类型?
Django
FastAPI
Flask
数据处理?
Pandas
NumPy
Polars
AI/ML?
PyTorch
TensorFlow
PyCaret
最佳实践建议 :
新项目优先选择类型提示友好的库(如FastAPI > Flask) 数据处理优先使用Pandas,超大数据考虑Polars/Dask 深度学习研究首选PyTorch,生产部署考虑TensorFlow 代码质量从项目开始就集成Black + Pylint CLI工具开发使用Typer替代argparse 及时跟进生态发展(如用Pydantic V2替换V1) 使用Poetry管理项目依赖 文档生成优先选择MkDocs + Material主题
$ poetry new myproject
$ cd myproject
$ poetry add fastapi pandas numpy
$ poetry add --dev black pylint pytest