numpy.ma.frombuffer#

ma.frombuffer(buffer, dtype=float, count=-1, смещение=0, *, как=None)[источник]#

Интерпретировать буфер как одномерный массив.

Параметры:
bufferbuffer_like

Объект, предоставляющий интерфейс буфера.

dtypeтип данных, опционально

Тип данных возвращаемого массива. По умолчанию numpy.float64.

countint, необязательный

Количество элементов для чтения. -1 означает все данные в буфере.

смещениеint, необязательный

Начать чтение буфера с этого смещения (в байтах); по умолчанию: 0.

какarray_like, необязательный

Объект-ссылка, позволяющий создавать массивы, которые не являются массивами NumPy. Если массивоподобный объект, переданный как like поддерживает __array_function__ протокол, результат будет определен им. В этом случае он гарантирует создание объекта массива, совместимого с переданным через этот аргумент.

Новое в версии 1.20.0.

Возвращает:
out: MaskedArray

Смотрите также

ndarray.tobytes

Обратная операция: построить байты Python из необработанных байтов данных в массиве.

Примечания

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

>>> dt = np.dtype(int)
>>> dt = dt.newbyteorder('>')
>>> np.frombuffer(buf, dtype=dt) 

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

Эта функция создаёт представление исходного объекта. Это должно быть безопасно в целом, но может иметь смысл скопировать результат, когда исходный объект изменяем или ненадёжен.

Примеры

>>> import numpy as np
>>> s = b'hello world'
>>> np.frombuffer(s, dtype='S1', count=5, offset=6)
array([b'w', b'o', b'r', b'l', b'd'], dtype='|S1')
>>> np.frombuffer(b'\x01\x02', dtype=np.uint8)
array([1, 2], dtype=uint8)
>>> np.frombuffer(b'\x01\x02\x03\x04\x05', dtype=np.uint8, count=3)
array([1, 2, 3], dtype=uint8)