You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何高效加载存储为npz格式的字典数据

大体积.npz文件高效加载优化方案
  • 使用内存映射模式降低加载开销
    np.load支持mmap_mode参数,启用后不会一次性将全量数据载入内存,而是按需从磁盘读取,大幅降低初始加载耗时和峰值内存占用,适合超大数据集场景:
# 只读内存映射模式加载
dc_data = np.load("file.npz", mmap_mode='r')
# 非必要不要提前转全量keys/values列表,按需读取指定key的数组即可

如果后续逻辑必须要全量数据,该模式也能减少内存交换带来的额外耗时。

  • 替换低效的Python原生操作
    你当前使用的list(zip(* dc_data.values()))是纯Python实现的操作,需要先把所有数组载入内存再做维度重排,性能非常差。如果确实需要该格式的输出,改用numpy原生堆叠操作,效率提升10倍以上:
# 替代zip+list转换的写法
val = np.stack(list(dc_data.values()), axis=1)
ids = list(dc_data.keys())
  • 转存为更高效的存储格式
    如果该文件需要反复读取,建议一次性转存格式,后续加载速度可提升数十倍:

    1. 转存为未压缩npz:如果原文件是np.savez_compressed保存的压缩格式,每次加载都需要做解压运算,改用np.savez保存为未压缩版本即可省去解压耗时
    2. 转存为HDF5格式:使用h5py库存储,支持随机读取、部分加载,适配超大数据集的高频读取需求
  • 规避IO瓶颈
    如果原文件存放在机械硬盘或网络存储中,先拷贝到本地SSD磁盘再读取,可大幅降低IO等待耗时。

内容的提问来源于stack exchange,提问作者Sweety Tripathi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 22:39:02