帖文详情
avatar
@yanerL@m.cmx.im

最终的方案很简单啦,比我之前的代码少了一百多行,超级清爽。chatgpt功不可没()但我真的尝试了好多方案,试了spark df的array calculation(只能做两个array之间的计算, 多于这个就会非常难用),试了用自带的sql functions写,但也非常慢,试了spark ml包里的vectors,也是行不通,只能做很简单的两个element之间的加减乘除。

如果可以我真的不想再碰pandas了()spark df真的快很多很多。

但finance people的常见方案:for loop到底。我上一个方案也写了很久,因为我试了用别人的library,结果行不通,试过复制粘贴别人看起来vectorized了的代码,结果,我过了两天才发现此人竟然在array calculation里硬生生多加了一层for loop,明明broadcast可以很efficient。在几千行的数据里可能可行,但我现在每天要新增十万多条数据,然后每一行都要做一万个data point的计算,用loop可以算到天荒地老了()

反正,很高兴!一些感觉自己是个好工程师的瞬间

查看详情
0
0
0
@yanerL@m.cmx.im
0/483
加载中