numpy.frombuffer
numpy.frombuffer(buffer, dtype=float, count=-1, offset=0)
Функция frombuffer() интерпретирует буфер как одномерный массив.
-
- buffer - буфер-подобный объект
- Объект, который имеет интерфейс буфера.
- dtype - тип данных NumPy (необязательный)
- Определяет тип данных выходного массива. По умолчанию float.
- count - целое число (необязательный)
- Количество считываемых элементов из буфера. По умолчанию count=-1, что означает чтение всех данных из буфера.
- offset - целое число (необязательный)
- Задает позицию начала чтения из буфера. По умолчанию offset=0
-
- результат - массив NumPy
- Интерпретация данных из буфера, как одномерного массива NumPy.
Замечание
Если данные в буфере находятся не в машинном байтовом порядке, то это должно быть указано в типе данных:
>>> 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)