作者pinner (灭。驱蚊大师)
看板Python
标题[问题] python numpy 向量化
时间Mon Apr 27 21:08:43 2020
大家好
我想问的问题如下:
今天有两个一维矩阵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://webptt.com/cn.aspx?n=bbs/Python/M.1587992927.A.314.html
1F:推 robert09080: pandas?,有cumsum,再用新的cumsum那行,建立一个你04/28 10:03
2F:→ robert09080: 想要小於0回传你的设定值串列04/28 10:03
纯numpy 转成pandas再转回来会有效能上的差异吗? 我也想过要用ffill之类的 把nan转成
每区第一个数字的cumsum後全部减下去
3F:推 darama: 感觉转成list处理再转成np就可以?04/30 16:43
转成list不太可能 效能差太多 我跑的随便都在10^8 的长度
※ 编辑: pinner (129.104.210.32 法国), 04/30/2020 17:02:45