实现“小内存跑大数据”。

利用虚拟内存映射,不一次性将大数据集加载进内存,而是在虚拟空间中开辟一块区域指向文件,按需加载对应页。

语法与参数

import numpy as np
 
arr = np.memmap(
    filename='data.bin', 
    dtype='uint16', 
    mode='w+', 
    shape=(10000,)
)
  • dtype: 数据类型
  • mode:
    • r: 只读
    • r+: 读写
    • w+: 创建新文件或覆盖旧文件读写
    • c (Copy-on-write): 写操作只留在内存,不改动硬盘原始文件
  • shape: 形状

注意

  • 写回后最好显式调用 flush()