Как мне скопировать каждую n-ю строку np.memmap в другую np.memmap? - PullRequest
0 голосов
/ 03 декабря 2018

Я хотел бы эффективно скопировать каждую n-ю строку np.memmap в другую np.memmap с минимальными перегрузками памяти.

Я пробовал это:

mat = np.memmap(input_file, mode='r')
out_mat = np.memmap(output_file, mode='w+', shape=mat[::every_nth_sample].shape)
out_mat[:] = mat[::every_nth_sample]

И этозагружает весь мат в память.

Я также попробовал это:

mat = np.memmap(input_file, mode='r')
out_mat = np.memmap(output_file, mode='w+', shape=mat[::every_nth_sample].shape)
for i, r in enumerate(mat[::every_nth_sample]):
    out_mat[i,:] = r

И, похоже, это занимает слишком много времени.Есть ли лучший способ?

...