numpy.ma.frombuffer
- ma.frombuffer(buffer, dtype=float, count=-1, offset=0, *, like=None)=<numpy.ma.core._convert2ma object>
-
Интерпретирует буфер как одномерный массив.
- Параметры:
-
- bufferbuffer_like
-
Объект, предоставляющий интерфейс буфера.
- dtypeтип данных, необязательно
-
Тип данных возвращаемого массива; по умолчанию: float.
- countцелое число, необязательно
-
Количество элементов для чтения.
-1означает все данные в буфере. - offsetцелое число, необязательно
-
Начать чтение буфера с этого смещения (в байтах); по умолчанию: 0.
- likearray_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)Данные полученного массива не будут изменять порядок байтов, но будут интерпретированы правильно.
Эта функция создаёт представление в исходном объекте. Это должно быть безопасно в общем случае, но может быть целесообразно скопировать результат, когда исходный объект изменён или небезопасен.
Примеры
>>> 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)
© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.ma.frombuffer.html