Как получить отношение элемента к предыдущему в Series?
Есть ряд элементов:
s = pd.Series([1, 2, 10, 20])
Как получить отношение элемента к предыдущему?
То есть, что-то такое S(i)/S(i-1), и ожидаемый результат: Out: (None,2,5,2).
Ответы (2 шт):
Автор решения: MaxU
→ Ссылка
Воспользуйтесь методом Series.pct_change():
пример:
исходный ряд данных (Series):
In [34]: s = pd.Series([10, 12, 10, 15, 20])
In [35]: s
Out[35]:
0 10
1 12
2 10
3 15
4 20
dtype: int64
отношение элемента к предыдущему:
In [36]: s.pct_change()
Out[36]:
0 NaN
1 0.200000
2 -0.166667
3 0.500000
4 0.333333
dtype: float64
отношение элемента к следующему:
In [37]: s.pct_change(-1)
Out[37]:
0 -0.166667
1 0.200000
2 -0.333333
3 -0.250000
4 NaN
dtype: float64