簡體   English   中英

如何將 3D numpy 數組轉換為元組列表?

[英]How to convert 3D numpy array to a list of tuples?

我有一個分別具有 (3,n,m) 形狀的 R、G、B 3D 數組,我想創建一個元組列表,每個元素代表 (r,g,b)。 我嘗試重塑和轉置,但它沒有按我預期的那樣工作

    import numpy as np 
    arr = np.array(
    [[[0, 1],
      [2, 3]],
     [[4, 5],
      [6, 7]],
     [[8, 9],
      [10,11]]]
    )

我想創建這樣的列表:

[(0, 4, 8), (1, 5, 9), (2, 6, 10), (3, 7, 11)]

使用tolist嘗試vstackT

>>> np.vstack(arr.T).tolist()
[[0, 4, 8], [2, 6, 10], [1, 5, 9], [3, 7, 11]]
>>> 

如果你想要元組:

>>> list(map(tuple, np.vstack(arr.T)))
[(0, 4, 8), (2, 6, 10), (1, 5, 9), (3, 7, 11)]
>>> 

暫無
暫無

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

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