簡體   English   中英

如何為 numpy python3+ 中的 arrays 列表制作 dtype

[英]how to make a dtype for list of arrays in numpy python3+

我有一個從串行端口獲取並共享的 300x57 字節數組,然后我打算將其直接解壓到 numpy 數組中

所以我制作了一個 57 字節大小的 dtype

onebuffdtype = np.dtype(
        "b1, b1, f4, u4, u2, u1, f4, u4, u2, u1, f4, i4, i2, i1, f4, u4, u2, u1, f4, u4, u2, u1")

那么如果

shared_buff1.buf

是緩沖區所在的地方

buff1_np = np.ndarray((300, 57,), dtype=onebuffdtype,
                          buffer=shared_buff1.buf)

但它說

TypeError:緩沖區對於請求的數組來說太小了

數組的形狀是元素的數量,而不是它包含的字節數。 如果您的元素都是 57 字節大小,那么 300x57 字節緩沖區的大小正好適合初始化大小為 300 的數組:

buff1_np = np.ndarray(300, dtype=onebuffdtype, buffer=shared_buff1.buf)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM