NumPy позволяет сохранять на диск и загружать с диска в текстовые или
двоичные файлы. Здесь рассмотрим только встроенные двоичные файлы
NumPy, так как большинство предпочтут использовать pandas
или другие
инструменты для загрузки текста или таблиц.
Функции np.save
и np.load
— это две рабочие лошадки для
эффективного сохранения и загрузки данных массива на диск. Массивы
сохраняются по умолчанию в несжатый двоичный формате с расширением
файла .npy
:
In [149]: arr = np.arange(10)
In [150]: np.save('some_array', arr)
В пути к файлу не указывается разширение, оно добавляется по
умолчанию. Массив с диска потом можно загрузить с помощью функции
np.load
:
In [151]: np.load('some_array.npy')
Out[151]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
Можно сохранить несколько массивов в один несжатый файл, используя
функцию np.savez
и передавая массивы в качестве аргументов:
In [152]: np.savez('array_archive.npz', a=arr, b=arr)
При загрузке файла .npz
возвращается объект типа словаря, который
содержит отдельные массивы:
In [153]: arch = np.load('array_archive.npz')
In [154]: arch['b']
Out[154]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
Если данные хорошо сжимаются, можно использовать функцию
np.savez_compressed
:
In [155]: np.savez_compressed('arrays_compressed.npz', a=arr, b=arr)