Produto cumulativo ou contínuo em um quadro de dados
Oi Eu tenho um quadro de dados com uma coluna e eu simplesmente gostaria de adicionar outra coluna que leva o produto de rolamento da coluna original. Estou pesquisando há algum tempo, mas isso parece uma funcionalidade tão básica - não tenho certeza se estou perdendo alguma coisa. Id gostaria de obter a coluna B como uma saída.
A B
1 1
2 2
3 6
4 24
5 120
6 720
7 5040
Estou essencialmente procurando por algo assim, se existir:
data ['B'] = dados ['A']. rolling (janela = 1) .product ()
Encontrei este post do início, mas parece estar usando rolling_apply, que não está mais ativo ?:
Como calcular o produto acumulado acumulado no Pandas DataFrame
Eu tentei usar uma solução semelhante aqui como esta, mas não parece estar funcionando.
dftest= pd.DataFrame([1,2,3,4,5,6,7],columns=['A'])
dftest['cum']=dftest['A'].rolling(1).apply(lambda x:x.prod())
Resultado:
A cumprod
0 1 1.0
1 2 2.0
2 3 3.0
3 4 4.0
4 5 5.0
5 6 6.0
6 7 7.0