numpy.frombuffer#
- numpy.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.
- Возвращает:
- выходndarray
Смотрите также
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)