看板 Python 關於我們 聯絡資訊
大家好 我想問的問題如下: 今天有兩個一維矩陣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
robert09080: pandas?,有cumsum,再用新的cumsum那行,建立一個你04/28 10:03
robert09080: 想要小於0回傳你的設定值串列04/28 10:03
純numpy 轉成pandas再轉回來會有效能上的差異嗎? 我也想過要用ffill之類的 把nan轉成 每區第一個數字的cumsum後全部減下去
darama: 感覺轉成list處理再轉成np就可以?04/30 16:43
轉成list不太可能 效能差太多 我跑的隨便都在10^8 的長度 ※ 編輯: pinner (129.104.210.32 法國), 04/30/2020 17:02:45