SuperAPI AI 工具集

zarr-python

编程与开发

查看项目

更新于 10-15 21:39

技能介绍

用途:Zarr-Python 用于存储大型 N 维数组,通过分块与压缩实现高效并行 I/O、云原生工作流,并与 NumPy、Dask、Xarray 集成。当前上游为 zarr 3.2.1,新数组默认 Zarr 格式 3,可用 zarr_format=2 兼容旧格式。本条目为社区指南,非官方 zarr-developers 包。

主要能力:支持创建、打开、读写、调整大小与追加数组,提供 NumPy 风格索引及 vindex、oindex、blocks 等高级索引;支持分块策略、矩形分块与 sharding;可按块压缩,内置 Blosc、Gzip 等编解码器;支持本地、内存、ZIP 及 S3/GCS 等 fsspec 后端;支持组与层级、属性元数据、合并元数据;可与 NumPy、Dask、Xarray 配合进行惰性并行计算。

使用方式:安装命令为 uv pip install "zarr==3.2.1",远程存储可加 zarr[remote] 及 s3fs、gcsfs。基本用法是 zarr.create_array 或 zarr.zeros 创建数组,用切片赋值读写,zarr.open_array 打开已有数组。云存储使用 s3://、gs:// URI 或 FsspecStore,凭据由 fsspec 后端处理,不应打印或记录凭据。

适用场景:大规模科学数据、气候与地理空间数据、需要分块压缩和云存储的数组工作流。

限制:当前稳定版要求 Python 3.12+ 与 NumPy 2.0+;Zarr 3 已移除旧 synchronizer 参数,重叠写入需外部协调;合并元数据可能过期,不适合频繁更新数据集;shard 与 chunk 需能放入内存。资料未提供收费、价格与效果数据。