Это идеально! +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

Ответы на вопрос(1)

Ваш ответ на вопрос