numpy.frombuffer#

numpy.frombuffer(buffer, dtype=float, count=-1, offset=0, *, like=None)#

將緩衝區解譯為一維陣列。

參數:
bufferbuffer_like

一個公開緩衝區介面的物件。

dtypedata-type, optional

傳回陣列的資料型態;預設值:float。

countint, optional

要讀取的項目數量。-1 表示緩衝區中的所有資料。

offsetint, optional

從此偏移量(以位元組為單位)開始讀取緩衝區;預設值:0。

likearray_like, optional

參考物件,允許建立非 NumPy 陣列的陣列。如果傳入為 like 的類陣列物件支援 __array_function__ 協定,則結果將由其定義。在這種情況下,它確保建立與透過此引數傳入的物件相容的陣列物件。

版本 1.20.0 新增。

傳回值:
outndarray

另請參閱

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)