[問題] n個2d-array擷取問題

看板Python作者 (蘇丹利)時間5年前 (2020/04/06 16:44), 編輯推噓1(103)
留言4則, 2人參與, 5年前最新討論串1/1
大家好,有個棘手的問題想要請教各位 a) 問題解釋: 我目前有個n個2d-array放在一起 大概像是這樣 array([[[1, 2, 3], [3, 4, 5], [7, 8, 9]], [[1, 3, 7], [2, 4, 8], [3, 5, 9]], ... ]) 那麼我想要擷取出每一列,形成新的矩陣 也就是想使用vstack 讓 array[0][0]與array[1][0]形成新的矩陣(2*3) 那麼每個矩陣的每一列來配對,於是就會有9個矩陣 那我今天有n個矩陣,每個矩陣是m列 那麼就會有 m^n 個矩陣 如果文字不好理解的話,以下是圖示 https://i.imgur.com/26WMeut.jpg
https://i.imgur.com/7QxzWPg.jpg
b) 問題所在 由於n數量不確定,但會很大 而且需要遍歷每個矩陣 並且 m^n 太大 我測試過10列 6個矩陣 也就是 10^6 個矩陣 以1個cpu來執行 大概是60s 換算成我需要的矩陣 大約是 10^17 我估算用幾千個cpu大概都做不完 此外有搜尋過numba,試圖想使用gpu來執行 但由於不太熟悉,不知道該怎麼解決 目前想法很亂,沒有一個方向 不知道各位有什麼見解呢 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.45.13.120 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1586162667.A.5E5.html

04/06 18:03, 5年前 , 1F
不知道有沒有誤會 這個不是tensor的transpose嗎
04/06 18:03, 1F

04/06 22:49, 5年前 , 2F
跟樓上想法一樣,如果原本的n個2d array都一樣大的話,
04/06 22:49, 2F

04/06 22:49, 5年前 , 3F
把整個array變成3d array然後transpose一下應該就可以
04/06 22:49, 3F

04/06 22:49, 5年前 , 4F
04/06 22:49, 4F
文章代碼(AID): #1UYklhNb (Python)
文章代碼(AID): #1UYklhNb (Python)