将部分numpy memmap文件写入磁盘的快速方法

时间:2019-11-06 16:52:34

标签: numpy io numpy-memmap

在我的代码中,我尝试使用numpy.memmap文件进行数据处理。主要工作流程是读取几个输入的memmap文件的一部分,进行计算并将数据写入新的memmap文件。

示例:

import numpy as np

# Read in data
size_total_image = (1000000, 10000)
input_a = np.memmap(input_a_path, dtype='float32', mode='r', shape=size_total_image)
input_b = np.memmap(input_b_path, dtype='float32', mode='r', shape=size_total_image)
output = np.memmap(output_path, dtype='float32', mode='r+', shape=size_total_image)

# Part to be processed
start_line = 100
end_line = 200

output[start_line:end_line] = input_a[start_line:end_line] - input_b[start_line:end_line]
output.flush()

但是,当我在代码末尾进行刷新时,需要很长时间才能完成。因此,我感觉它正在对整个文件进行一些处理。谁能解释这个程序的幕后工作原理,以及在这种情况下我如何加快工作速度?

0 个答案:

没有答案