Функция numpy.save() в Python: сохранение массива с примерами

Массивы Numpy являются одной из наиболее эффективных структур данных для подготовки данных в Python, а модели машинного обучения, такие как в библиотеке scikit-learn, и модели глубокого обучения, такие как в библиотеке Tensorflow и Keras, ожидают входных данных в виде массивов NumPy и позволяют делать прогнозы в формате массивов.

Что такое функция np.save() в Python?

numpy.save() в Python — это математическая функция, используемая для хранения входного массива в файле на диске с расширением npy(.npy). Функция np.save() сохраняет массив в двоичный файл в формате .npy. Функция numpy save() принимает в качестве аргументов file, arr, allow_pickle и file_imports.

Иногда у нас есть много данных в массивах Numpy, которые нам нужно эффективно сохранить, но которые нам нужно использовать только в другой программе Python. Поэтому мы сохраняем массивы NumPy в собственном двоичном формате, который эффективен как для сохранения, так и для загрузки.

Это стандарт для подготовленных входных данных, таких как очищенные и преобразованные данные, которые необходимо будет использовать в качестве основы для тестирования ряда моделей машинного обучения в будущем или проведения множества экспериментов.

Формат файла .npy подходит для варианта использования и является просто «форматом NumPy». Этого можно добиться, используя save() и указав имя файла и массив, который нужно сохранить.

См. следующий синтаксис функции numpy save().

Синтаксис

Параметры

  • file:

Файл или имя файла, в котором сохраняются данные. Если файл представляет собой строку или путь, расширение .npy будет добавлено к имени файла, если его еще нет. Если файл является файловым объектом, то имя файла не изменяется.

  • allow_pickle:

Разрешить сохранение массивов объектов с помощью pickle Python. Причинами запрета pickle являются безопасность (загрузка pickle данных может выполнять произвольный код) и переносимость (объекты могут быть недоступны для загрузки в разных установках Python). По умолчанию: True.

  • fix_imports:

Полезно только для принудительного маринования объектов в массивах на Python 3 способом, совместимым с Python 2.

  • arr: данные массива для сохранения.

Функция np.save() с примером

См. следующий код.

Выход

Вы можете увидеть файл npfile.npy в своем рабочем каталоге.

Как прочитать файл npy в Python

В приведенном выше примере мы сохранили массив numpy в файле .npy. Далее мы прочитаем файл с помощью функции np.load() и выведем содержимое файла npy в консоль.

См. следующий код.

Выход

После запуска примера вы увидите новый файл в каталоге с ‘npfile.npy’.

Вы не можете увидеть содержимое этого файла непосредственно в текстовом редакторе, потому что он находится в двоичном формате.

Сохранение массива numpy в файл CSV(ASCII)

Наиболее стандартным форматом файлов для хранения числовых данных в компьютерных файлах является формат переменных с разделителями-запятыми. Скорее всего, ваши обучающие данные и входные данные для ваших моделей хранятся в файлах CSV. Также удобно сохранять такие данные в файлы CSV, как, например, модели прогнозов.

Вы можете сохранить массивы NumPy в файлы CSV, используя функцию numpy savetxt(). Функция Numpy savetxt() принимает имя файла и массив в качестве аргументов и сохраняет массив в формате CSV.

Вы также должны определить разделитель; это символ, используемый для разделения каждой переменной в файле, чаще всего это запятая. Это можно установить с помощью аргумента «разделитель».

См. следующий код.

Выход

Файл npfile.csv создается в каталоге вашего проекта. Запуск примера определит массив NumPy и сохранит его в «npfile.csv».

Массив имеет одну строку данных с 10 столбцами. Поэтому мы ожидаем, что данные будут сохранены в файл CSV в виде одной строки данных. После запуска приведенного выше примера мы можем увидеть содержимое «npfile.csv».

Содержимое файла npfile.csv следующее.

Мы видим, что данные правильно сохранены в виде одной строки и что числа с плавающей запятой в массиве сохранены с полной точностью.

Оцените статью

Автор статей и разработчик, делюсь знаниями.

Программирование на Python