Pandas pct_change, но возвращается к началуPython

Программы на Python
Anonymous
Pandas pct_change, но возвращается к началу

Сообщение Anonymous »

Я изучаю, как использовать функцию pandas pct_change(), но мне нужно, чтобы значения «обтекались», поэтому последнее и первое значения создают значение процентного изменения в позиции 0, а не NaN.
Например:

Код: Выделить всё

df = pd.DataFrame({'Month':[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
'Value':[1, 0.9, 0.8, 0.75, 0.75, 0.8, 0.7, 0.65, 0.7, 0.8, 0.85, 0.9]})

Month  Value
0       1   1.00
1       2   0.90
2       3   0.80
3       4   0.75
4       5   0.75
5       6   0.80
6       7   0.70
7       8   0.65
8       9   0.70
9      10   0.80
10     11   0.85
11     12   0.90
Использование pct_change() + 1 дает:

Код: Выделить всё

df['percent change'] = df['Value'].pct_change() + 1
Month  Value  percent change
0       1   1.00             NaN
1       2   0.90        0.900000
2       3   0.80        0.888889
3       4   0.75        0.937500
4       5   0.75        1.000000
5       6   0.80        1.066667
6       7   0.70        0.875000
7       8   0.65        0.928571
8       9   0.70        1.076923
9      10   0.80        1.142857
10     11   0.85        1.062500
11     12   0.90        1.058824
Однако мне также нужно знать процентное изменение между декабрем (месяц = ​​12) и январем (месяц = ​​1), поэтому NaN должно быть 1,111111. Я надеюсь в конечном итоге сделать это с несколькими группами внутри группы, поэтому путаница с заполнением Nan одним значением над другим или вычисление всех процентов вручную кажется долгим способом сделать это. Есть ли более простой способ добиться этого?

Подробнее здесь: https://stackoverflow.com/questions/790 ... k-to-start

Вернуться в «Python»