一些少为人知但极强的 Python 库

发布日期 :2026-08-28 08:17:32 UTC

作者 :xuzhiping

访问量: 10 次浏览

一些少为人知但极强的 Python 库

避开 numpy/pandas/fastapi 这类大众库,分为开发调试工具、数据处理、地理空间(GIS 方向)、命令行 & 脚本、时间日期、工程配置、小众可视化,每个库附带简单示例、安装命令、适用场景。

一、开发调试 & 效率工具

1. icecream|优雅调试打印,替代 print

不用手动写print(f"var={var}"),自动打印变量名、值、代码行号。

pip install icecream
from icecream import ic

def calc(a,b):
    return a*2 + b

ic(calc(3,5))
x = 123
ic(x)

输出会直接显示:ic| example.py:5 in calc()- return: 11

适合:日常调试,jupyter 脚本调试。

2. scalene|高性能 CPU + 内存分析器

比 cProfile 更直观,同时统计 CPU、内存、GPU 占用,生成网页可视化报告。

pip install scalene
# 命令行直接运行
scalene your_script.py

3. cachier|函数结果自动缓存

比标准库 lru_cache 更强大,支持内存缓存、磁盘文件缓存、过期时间,适合爬虫、复杂计算。

pip install cachier
from cachier import cachier
import time

@cachier(cache_dir="./cache")
def heavy_calc(x):
    time.sleep(2)
    return x**2

print(heavy_calc(10)) #第一次慢,第二次直接读缓存

4. dulwich|纯 Python 实现 Git

不需要本地安装 git 命令,纯 Python 读写 git 仓库,做代码分析、自动脚本。

pip install dulwich

二、数据处理类(冷门神器)

1. missingno|缺失值可视化

pandas 配套,一键生成缺失矩阵、热力图,快速看数据空缺模式。

pip install missingno
import missingno as msno
import pandas as pd
df = pd.read_csv("data.csv")
msno.matrix(df)

2. janitor|pandas 数据清洗扩展库

给 DataFrame 增加大量链式清洗方法,简化列重命名、删除空列、去重。

pip install pyjanitor
import janitor
df = pd.DataFrame(...).clean_names() #批量标准化列名

3. dlt|轻量级 ETL 数据管道

自动推断 schema、增量同步,把数据库、API 数据导入数据库,不用写大量 boilerplate。

pip install dlt

4. more‑itertools|增强迭代工具

标准库 itertools 的超级扩展,几十种额外迭代器:窗口、分块、相邻配对。

pip install more‑itertools
from more_itertools import windowed
for win in windowed([1,2,3,4,5],3):
    print(win) #(1,2,3) (2,3,4)...

三、地理空间 GIS 方向(重点,适配你 GIS 制图需求)

1. leafmap|Jupyter 交互式地图(非常推荐)

融合 folium、WhiteboxTools,Jupyter 一键交互式地图,支持矢量、栅格、遥感,不用复杂配置,可导出静态图、HTML 地图GitHub。

pip install leafmap
import leafmap
m = leafmap.Map()
m.add_basemap("Gaode.Satellite")
m

2. lonboard|百万级大数据交互式地图

基于 GeoArrow+deck.gl,处理百万、千万级点位性能远强于 folium,适合轨迹、大量点位可视化。

pip install lonboard

3. xarray‑spatial|无 GDAL 栅格分析库

DEM、水文、遥感栅格运算,支持 Dask 并行,不需要系统装 GDAL,150 + 空间函数,洪水、坡度、流域计算GitHub。

pip install xarray‑spatial

4. rastr|轻量栅格库

极简栅格读写运算,和 geopandas 无缝互通,栅格转矢量、等值线生成。

pip install rastr

四、时间日期处理

pendulum|优雅时间库,替代 datetime

时区、时间差、日期解析极其友好,解决 python 原生 datetime 时区坑。

pip install pendulum
import pendulum
now = pendulum.now("Asia/Shanghai")
print(now.add(months=2).to_date_string())

五、命令行、脚本与 shell

1. plumbum|优雅调用 Shell 命令

替代 subprocess,把系统命令直接像函数调用,代码可读性极强。

pip install plumbum
from plumbum import local
ls = local["ls"]
print(ls("-l"))

2. python‑fire|一行自动生成 CLI

任意函数直接转命令行工具,不用写 argparse。

pip install fire
import fire
def hello(name="world"):
    return f"hello {name}"

if __name__ == "__main__":
    fire.Fire(hello)

命令行:python test.py --name=jack

六、配置、日志

logfire|现代化可观测日志

替代 logging/loguru,结构化日志,本地 / 远端上报,支持 Trace 链路追踪。

pip install logfire

hydra|复杂项目配置管理

分层配置、多环境配置文件,科研、AI 实验项目必备。

pip install hydra‑core

七、小众可视化

dabl|自动 EDA 探索可视化

传入 DataFrame,一键输出整套统计图表,快速做数据探索。

pip install dabl
import dabl
dabl.plot(df, target="label")

ipyvolume|3D 科学可视化

jupyter 内交互式 3D 绘图,点云、体渲染,适合地学三维数据。

pip install ipyvolume