Метод dumps
Метод dumps класса ndarray возвращает строку, содержащую бинарное представление массива. Эта строка может быть использована для восстановления исходного массива с помощью функции np.loads. Метод полезен, когда необходимо сохранить массив в текстовом формате или передать его по сети, например, в JSON-строку или базу данных.
Метод принимает один необязательный параметр protocol, который определяет версию протокола сериализации pickle. Чем выше версия, тем более эффективным может быть формат, но для совместимости со старыми версиями NumPy рекомендуется использовать значение по умолчанию.
Синтаксис
arr.dumps([protocol])
Пример
Давайте создадим одномерный массив и получим его бинарное представление в виде строки:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
res = arr.dumps()
print(res)
Результат выполнения кода:
b'\x80\x04\x95.\x00\x00\x00\x00\x00\x00\x00\x8c\x05numpy\x94\x8c\x08ndarray\x94\x93\x94(C\x01\x03\x94...'
Пример
Восстановим массив из строки, полученной методом dumps, с помощью функции np.loads:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
arr_bytes = arr.dumps()
arr_restored = np.loads(arr_bytes)
print(arr_restored)
Результат выполнения кода:
[1 2 3 4 5]
Пример
Создадим двумерный массив, сериализуем его с указанием протокола protocol=2 и восстановим:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
arr_bytes = arr.dumps(protocol=2)
arr_restored = np.loads(arr_bytes)
print(arr_restored)
Результат выполнения кода:
[[1 2 3]
[4 5 6]]