[問題] python numpy 向量化

看板Python作者 (滅。驅蚊大師)時間4年前 (2020/04/27 21:08), 4年前編輯推噓2(201)
留言3則, 2人參與, 4年前最新討論串1/2 (看更多)
大家好 我想問的問題如下: 今天有兩個一維矩陣A跟B 其中A單純有很多的值, B裏面則是不同的index, 後面會用到 我們想要在介於兩個index之間做cumsum, 也就是說, 我們想要從B[i]累加到B[i+1] 如果這個cumsum在任何時候小於0 那就回傳1 如果如果都沒有的話 那就回傳0 所以最後希望是回傳一個len(B) - 1 的矩陣 不過目前一直沒辦法向量化上面這個過程 如果可以的話 也可以直接回傳總共有幾個1就好 目前有看到的是 reduceat 可是只能作用在ufunc上 其他太複雜 而且目前沒辦法達到我想要的效果 目前是先用numba先寫一個大迴圈 不過還是想問問看有沒有辦法向量化 謝謝大家 -- 歡迎大家來我P2個版逛逛 hlzyzi 還蠻有趣的:D -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 129.104.210.0 (法國) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1587992927.A.314.html

04/28 10:03, 4年前 , 1F
pandas?,有cumsum,再用新的cumsum那行,建立一個你
04/28 10:03, 1F

04/28 10:03, 4年前 , 2F
想要小於0回傳你的設定值串列
04/28 10:03, 2F
純numpy 轉成pandas再轉回來會有效能上的差異嗎? 我也想過要用ffill之類的 把nan轉成 每區第一個數字的cumsum後全部減下去

04/30 16:43, 4年前 , 3F
感覺轉成list處理再轉成np就可以?
04/30 16:43, 3F
轉成list不太可能 效能差太多 我跑的隨便都在10^8 的長度 ※ 編輯: pinner (129.104.210.32 法國), 04/30/2020 17:02:45
文章代碼(AID): #1UfjbVCK (Python)
文章代碼(AID): #1UfjbVCK (Python)