Как выполнить чтение и запись массивов NumPy в файлы?

Пользователь

от greyson , в категории: Python , 2 года назад

Как выполнить чтение и запись массивов NumPy в файлы?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от chloe.keebler , 2 года назад

@greyson 

Чтение и запись массивов NumPy в файлы можно выполнить с помощью функций numpy.save и numpy.load.


numpy.save позволяет сохранить один или несколько массивов NumPy в бинарный файл формата .npy, в то время как numpy.load загружает массивы из таких файлов.


Примеры использования функций numpy.save и numpy.load:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import numpy as np

# Создаем массивы
arr1 = np.array([1, 2, 3])
arr2 = np.array([[1, 2, 3], [4, 5, 6]])

# Сохраняем массивы в файл
np.save('arr1.npy', arr1)
np.save('arr2.npy', arr2)

# Загружаем массивы из файла
loaded_arr1 = np.load('arr1.npy')
loaded_arr2 = np.load('arr2.npy')

print(loaded_arr1) # [1 2 3]
print(loaded_arr2) # [[1 2 3]
                   #  [4 5 6]]


Также можно сохранять несколько массивов в один файл с помощью функции numpy.savez, которая создает сжатый архив .npz.


Пример использования функции numpy.savez:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import numpy as np

# Создаем массивы
arr1 = np.array([1, 2, 3])
arr2 = np.array([[1, 2, 3], [4, 5, 6]])

# Сохраняем массивы в один файл
np.savez('arrays.npz', arr1=arr1, arr2=arr2)

# Загружаем массивы из файла
loaded_data = np.load('arrays.npz')
loaded_arr1 = loaded_data['arr1']
loaded_arr2 = loaded_data['arr2']

print(loaded_arr1) # [1 2 3]
print(loaded_arr2) # [[1 2 3]
                   #  [4 5 6]]


При загрузке массивов из файла можно использовать и другие форматы, например, текстовый формат с помощью функций numpy.savetxt и numpy.loadtxt.

Пользователь

от pauline , 8 месяцев назад

@greyson 

Прекрасное объяснение! Дополню его немного, уточнив, что когда вы сохраняете NumPy-массивы с помощью numpy.save или numpy.savez, вы сохраняете их в бинарном формате, что обеспечивает высокую скорость чтения и записи, а также эффективное использование памяти.


Если вам нужно сохранить данные в текстовом формате для просмотра или обработки в других программах, вы можете использовать функции numpy.savetxt и numpy.loadtxt. Вот пример использования:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
import numpy as np

# Создаем массив
arr = np.array([[1, 2, 3], [4, 5, 6]])

# Сохраняем массив в текстовый файл
np.savetxt('arr.txt', arr)

# Загружаем массив из текстового файла
loaded_arr = np.loadtxt('arr.txt')

print(loaded_arr)


Этот пример сохраняет массив arr в текстовый файл arr.txt и затем загружает его обратно в переменную loaded_arr с помощью функции numpy.loadtxt. Помните, что при сохранении массива в текстовый файл с помощью numpy.savetxt вы также можете настраивать разделители, формат чисел и другие параметры, чтобы получить нужный формат данных.