Метод kurt rolling
Метод kurt аксессора rolling применяется к скользящему окну
и вычисляет эксцесс для значений в каждом окне. Эксцесс характеризует
"остроту" пика распределения. По умолчанию метод использует
эксцесс Фишера (нормальное распределение имеет эксцесс 0).
Метод не принимает дополнительных параметров.
Синтаксис
rolling_object.kurt()
Пример
Рассмотрим базовый пример вычисления эксцесса в скользящем окне:
import pandas as pd
ser = pd.Series([1, 2, 3, 4, 5, 6, 7, 8])
res = ser.rolling(window=4).kurt()
print(res)
Результат выполнения кода:
0 NaN
1 NaN
2 NaN
3 -1.200000
4 -1.200000
5 -1.200000
6 -1.200000
7 -1.200000
dtype: float64
Пример
Теперь рассмотрим вычисление эксцесса для таблицы с двумя столбцами. Результат будет содержать отдельные значения для каждой колонки:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5, 6],
'b': [10, 20, 30, 40, 50, 60]
})
res = df.rolling(window=3).kurt()
print(res)
Результат выполнения кода:
a b
0 NaN NaN
1 NaN NaN
2 -1.5 -1.5
3 -1.5 -1.5
4 -1.5 -1.5
5 -1.5 -1.5
Пример
Используем метод вместе с apply для вычисления эксцесса
с пользовательской функцией. Это позволяет контролировать
обработку пропущенных значений:
import pandas as pd
import numpy as np
ser = pd.Series([1, 2, 3, 4, 5, 6])
res = ser.rolling(window=4).apply(lambda x: pd.Series(x).kurt())
print(res)
Результат выполнения кода:
0 NaN
1 NaN
2 NaN
3 -1.200000
4 -1.200000
5 -1.200000
dtype: float64