Функция savez
Функция savez сохраняет один или несколько массивов в файл с расширением .npz. Первым параметром функция принимает имя файла (file). Вторым параметром можно передать массивы как позиционные аргументы. Третьим параметром можно передать именованные аргументы для задания имен массивов. Функция создает некомпрессированный архив, который можно загрузить с помощью load.
Синтаксис
np.savez(file, *args, **kwargs)
Пример
Сохраним два массива с указанием имен:
import numpy as np
arr1 = np.array([1, 2, 3, 4, 5])
arr2 = np.array([10, 20, 30, 40, 50])
np.savez('data.npz', array1=arr1, array2=arr2)
data = np.load('data.npz')
print(data['array1'])
print(data['array2'])
Результат выполнения кода:
[1 2 3 4 5]
[10 20 30 40 50]
Пример
Сохраним массивы как позиционные аргументы (имена будут присвоены автоматически):
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
np.savez('arrs.npz', arr1, arr2)
data = np.load('arrs.npz')
for key in data.keys():
print(f"{key}: {data[key]}")
Результат выполнения кода:
arr_0: [1 2 3]
arr_1: [4 5 6]
Пример
Сохраним массивы разных типов и размеров:
import numpy as np
arr1 = np.array([1, 2, 3, 4, 5])
arr2 = np.array([[1, 2], [3, 4]])
arr3 = np.array(['a', 'b', 'c'])
np.savez('mixed.npz', numbers=arr1, matrix=arr2, letters=arr3)
data = np.load('mixed.npz')
print("numbers:", data['numbers'])
print("matrix:", data['matrix'])
print("letters:", data['letters'])
Результат выполнения кода:
numbers: [1 2 3 4 5]
matrix: [[1 2]
[3 4]]
letters: ['a' 'b' 'c']
Пример
Сохранение с указанием параметра allow_pickle:
import numpy as np
arr = np.array([1, 2, 3])
np.savez('data.npz', arr=arr, allow_pickle=False)
data = np.load('data.npz')
print(data['arr'])
Результат выполнения кода:
[1 2 3]
Смотрите также
-
функцию
savez_compressed,
которая сохраняет массивы в сжатый архив .npz -
функцию
save,
которая сохраняет один массив в файл .npy -
функцию
load,
которая загружает массивы из файлов .npy или .npz -
функцию
savetxt,
которая сохраняет массив в текстовый файл