Як обчислити ковзну медіану в pandas: із прикладами


Ковзаюча медіана — це медіана кількох попередніх періодів у часовому ряді.

Щоб обчислити змінну медіану стовпця в pandas DataFrame, ми можемо використати такий синтаксис:

 #calculate rolling median of previous 3 periods
df[' column_name ']. rolling (3). median ()

У наступному прикладі показано, як використовувати цю функцію на практиці.

Приклад: обчисліть рухому медіану стовпця

Припустімо, що у нас є наступні pandas DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' month ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
                   ' leads ': [13, 15, 16, 15, 17, 20, 22, 24, 25, 26, 23, 24],
                   ' sales ': [22, 24, 23, 27, 26, 26, 27, 30, 33, 32, 27, 25]})

#view DataFrame
df

	month sales leads
0 1 13 22
1 2 15 24
2 3 16 23
3 4 15 27
4 5 17 26
5 6 20 26
6 7 22 27
7 8 24 30
8 9 25 33
9 10 26 32
10 11 23 27
11 12 24 25

Ми можемо використати наведений нижче синтаксис, щоб створити новий стовпець, що містить змінну медіану «продажів» за попередні 3 періоди:

 #calculate 3-month rolling median
df[' sales_rolling3 '] = df[' sales ']. rolling (3). median ()

#view updated data frame
df

	month leads sales sales_rolling3
0 1 13 22 NaN
1 2 15 24 NaN
2 3 16 23 23.0
3 4 15 27 24.0
4 5 17 26 26.0
5 6 20 26 26.0
6 7 22 27 26.0
7 8 24 30 27.0
8 9 25 33 30.0
9 10 26 32 32.0
10 11 23 27 32.0
11 12 24 25 27.0

Ми можемо вручну перевірити, що ковзаюча медіана продажів, відображена за місяць 3, є медіаною за попередні 3 місяці:

  • Медіана 22, 24, 23 = 23,0

Так само ми можемо перевірити ковзну медіану продажів за місяць 4:

  • Медіана 24, 23, 27 = 24,0

Ми можемо використовувати аналогічний синтаксис для обчислення ковзної медіани за 6 місяців:

 #calculate 6-month rolling median
df[' sales_rolling6 '] = df[' sales ']. rolling (6). median ()

#view updated data frame
df

month leads sales sales_rolling3 sales_rolling6
0 1 13 22 NaN NaN
1 2 15 24 NaN NaN
2 3 16 23 23.0 NaN
3 4 15 27 24.0 NaN
4 5 17 26 26.0 NaN
5 6 20 26 26.0 25.0
6 7 22 27 26.0 26.0
7 8 24 30 27.0 26.5
8 9 25 33 30.0 27.0
9 10 26 32 32.0 28.5
10 11 23 27 32.0 28.5
11 12 24 25 27.0 28.5

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові операції в pandas:

Як обчислити ковзне середнє в Pandas
Як розрахувати ковзну кореляцію в пандах
Як розрахувати відсоток зміни панд

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *