anndata.AnnData.write

anndata.AnnData.write#

AnnData.write(filename=None, compression=None, compression_opts=None, as_dense=())[source]#

写入 .h5ad 格式的 hdf5 文件。

NoneNone

注意

将压缩设置为 'gzip' 可以节省磁盘空间,但会减慢写入和后续读取的速度。在 v0.6.16 之前,这个设置是参数 compression 的默认值。

通常,如果您有稀疏数据以密集矩阵形式存储,您可以通过转换为csr_matrix显著提高性能并减少磁盘空间:

from scipy.sparse import csr_matrix
adata.X = csr_matrix(adata.X)
Parameters:
filename PathLike | None (default: None)

数据文件的文件名。默认为备份文件。

compression Optional[Literal['gzip', 'lzf']] (default: None)

对于 [lzf, gzip],请参阅 h5py 过滤器管道

zstd 等替代压缩过滤器可以从 hdf5plugin 库传递。 实验性。

使用示例:

import hdf5plugin
adata.write_h5ad(
    filename,
    compression=hdf5plugin.FILTERS["zstd"]
)

注意

使用 hdf5plugin 提供的压缩器写入的数据集 在首先加载 hdf5plugin 库后才能打开,使用 import hdf5plugin。当使用替代 压缩过滤器如 zstd 时,考虑写入 zarr 格式而非 h5ad,因为 zarr 库 提供了更透明的压缩管道。

compression_opts int | Any (default: None)

有关 [lzf, gzip],请参见 h5py 过滤器管道

可以使用来自 hdf5plugin 库的助手配置其他压缩过滤器,例如 zstd。实验性质。

使用示例(将 zstd 压缩级别设置为 5):

import hdf5plugin
adata.write_h5ad(
    filename,
    compression=hdf5plugin.FILTERS["zstd"],
    compression_opts=hdf5plugin.Zstd(clevel=5).filter_options
)

as_dense Sequence[str] (default: ())

在AnnData对象中将稀疏数组写入为密集数组。目前仅支持 Xraw/X