[問題] python numpy 向量化
大家好
我想問的問題如下:
今天有兩個一維矩陣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
04/28 10:03, 1F
→
04/28 10:03,
4年前
, 2F
04/28 10:03, 2F
純numpy 轉成pandas再轉回來會有效能上的差異嗎? 我也想過要用ffill之類的 把nan轉成
每區第一個數字的cumsum後全部減下去
推
04/30 16:43,
4年前
, 3F
04/30 16:43, 3F
轉成list不太可能 效能差太多 我跑的隨便都在10^8 的長度
※ 編輯: pinner (129.104.210.32 法國), 04/30/2020 17:02:45
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):