numpy.frombuffer

numpy.frombuffer(buffer, dtype=float, count=-1, offset=0)

Функция frombuffer() интерпретирует буфер как одномерный массив.

Параметры:
buffer - буфер-подобный объект
Объект, который имеет интерфейс буфера.
dtype - тип данных NumPy (необязательный)
Определяет тип данных выходного массива. По умолчанию float.
count - целое число (необязательный)
Количество считываемых элементов из буфера. По умолчанию count=-1, что означает чтение всех данных из буфера.
offset - целое число (необязательный)
Задает позицию начала чтения из буфера. По умолчанию offset=0
Возвращает:
результат - массив NumPy
Интерпретация данных из буфера, как одномерного массива NumPy.
Смотрите так же: fromfile, fromfunction, fromstring, fromiter

Замечание

Если данные в буфере находятся не в машинном байтовом порядке, то это должно быть указано в типе данных:

>>> dt = np.dtype(np.unicode)
>>> dt = dt.newbyteorder('<')
>>> np.frombuffer(buffer, dtype=dt)

Данные результирующего массива не будут разбиты на байты, но будут правильно интерпретироваться.


Примеры

>>> import numpy as np
>>> s1 = b'abcdefg'
>>> 
>>> np.frombuffer(s1, dtype = 'S1')
array([b'a', b'b', b'c', b'd', b'e', b'f', b'g'], 
      dtype='|S1')
>>> 
>>> s2 = b'\x01\x02\x03\x04\x05\x06\x07'
>>>
>>> np.frombuffer(s2, dtype=np.int8)
array([1, 2, 3, 4, 5, 6, 7], dtype=int8)
>>>
>>> np.frombuffer(s2, dtype=np.int8, count = 3, offset = 2)
array([3, 4, 5], dtype=int8)