Это идеально! +1 Хороший ответ. особенно с расширением.
т у меня есть датафрейм со столбцом, и я просто хотел бы добавить еще один столбец, который принимает скользящий продукт исходного столбца. Я некоторое время гуглял, но это похоже на такую базовую функциональность - не уверен, что я что-то упустил. Я хотел бы получить столбец B в качестве вывода.
A B
1 1
2 2
3 6
4 24
5 120
6 720
7 5040
По сути, я ищу что-то вроде этого, если оно существует:
данные ['B'] = данные ['A']. переходящий (окно = 1) .product ()
Я нашел этот пост ранее, но, похоже, он использует roll_apply, который больше не активен
Как рассчитать прокатный накопительный продукт на Pandas DataFrame
Я пытался использовать подобное решение здесь, но это, похоже, не работает.
dftest= pd.DataFrame([1,2,3,4,5,6,7],columns=['A'])
dftest['cum']=dftest['A'].rolling(1).apply(lambda x:x.prod())
Выход:
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