作者gensation (OoooO)
看板Python
标题[问题] rolling+apply过慢
时间Mon Aug 1 08:48:13 2022
各位高手好
想请问df.rolling().apply(fun)有无更快的方式,其中fun部分为rolling数据跟一固定
数据做相关系数,有试过numba,不过好像没有较快,想用cython,看起来有点难度,且
没学过c,不知有何替代方案,或是应专研以上方法,谢谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 42.73.122.83 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1659314895.A.1C7.html
1F:推 celestialgod: polars rolling sum应该可以 只是你需要用公式展开 08/01 11:47
2F:→ celestialgod: 计算 08/01 11:47
3F:→ chang1248w: 你把前後运算写成矩阵之後乘开,再用numba/cupy炸 08/01 17:04
4F:→ chang1248w: 或者直接装cudf来用 08/01 17:06
5F:→ chang1248w: 你应该有卡吧? 08/01 17:06
6F:→ chang1248w: 运算瓶颈是pamdas single thread,就算你後面call再 08/01 17:07
7F:→ chang1248w: 多的资源,它还是single thread 08/01 17:07
8F:→ gensation: polars我来试试。我是用colab在玩...,然後df shape 70 08/01 20:42
9F:→ gensation: 00휲000完全跑不动roll加apply,请问cupy cudf有什麽好 08/01 20:42
10F:→ gensation: 懂的教学,本身文组不是太懂..,谢谢 08/01 20:43
11F:→ chang1248w: 这和文不文理不理没关系,cupy你就当numpy写就好 08/02 00:49
12F:→ chang1248w: 找 cudf colab应该都有安装程式码可以抄,Nvidia 08/02 00:51
13F:→ chang1248w: rapids 不是冷门社群 08/02 00:51
14F:→ chang1248w: 这类扩充移植到lib一般都会几乎兼容於原本的版本 08/02 00:59
15F:推 celestialgod: 看你要不要弄个可以重现你问题的程式码 08/02 14:54
16F:→ celestialgod: 这样板友也比较好帮你看出哪里是效能瓶颈 08/02 14:54
17F:→ celestialgod: 才好对症下药,帮你解决问题 08/02 14:54