我需要一个滚动乘积函数或扩展乘积函数。
有各种pandas的rolling_XXXX和expanding_XXXX函数,但我惊讶地发现没有expanding_product()函数。
为了让事情正常运作,我一直在使用这个相对较慢的替代方法。
有各种pandas的rolling_XXXX和expanding_XXXX函数,但我惊讶地发现没有expanding_product()函数。
为了让事情正常运作,我一直在使用这个相对较慢的替代方法。
pd.expanding_apply(temp_col, lambda x : x.prod())
我的数组通常有32,000个元素,因此这证明是一个瓶颈。我想尝试使用log()
,cumsum()
和exp()
,但我认为应该在这里询问,因为可能有更好的解决方案。
cumprod()
。对于滚动版本,我认为您需要使用rolling_apply
将prod()
应用于每个窗口。 - Alex Riley