Одним из способов обработки действительно больших наборов данных является использование отображенных в память файлов , которые динамически загружают необходимые данные во время выполнения. NumPy имеет memmap , который создает массив, который сопоставляется с большим файлом, который может быть массивным (у меня когда-то был один для предварительно обработанной версии офлайн-Википедии, и это было нормально), но он не обязательно живет в вашем БАРАН. Любые изменения сбрасываются обратно в файл при необходимости или при сборе мусора. Вот пример:
import numpy as np
# Create or load a memory mapped array, can contain your huge dataset
nrows, ncols = 1000000, 100
f = np.memmap('memmapped.dat', dtype=np.float32,
mode='w+', shape=(nrows, ncols))
# Use it like a normal array but it will be slower as it might
# access the disk along the way.
for i in range(ncols):
f[:, i] = np.random.rand(nrows)
из онлайн-учебника . Обратите внимание, что это всего лишь потенциальное решение, для вашего набора данных и использования могут быть лучшие альтернативы.