У меня есть этот набор данных:
df_data.head()
month user_id duration
0 2018-02-01 1314:2542 76
1 2018-03-01 1314:2542 65
2 2018-03-01 1314:2542 46
3 2018-03-01 1314:2542 96
4 2018-02-01 57954:69436 189
...
, и я пытаюсь рассчитать 3 месяца скользящего счета и медиана duration
на user_id
за month
.
Для подсчет из duration
за user_id
за month
Я сделал это, что дает мне то, что мне нужно:
df_pivot_count = df_data.pivot_table(values='item_count', columns='user_id', index='month', aggfunc='count')
df_rolling_count = df_pivot_count.rolling(window=3).sum()
df_rolling_count.head()
user_id 100000:107765 100000:1974587 1000025:1437540 ...
month
2018-01-01 15.0 1.0 14.0
2018-02-01 24.0 2.0 11.0
2018-03-01 27.0 4.0 12.0
2018-04-01 25.0 7.0 10.0
2018-05-01 30.0 4.0 11.0
...
Но я изо всех сил пытаюсь получить за 3 месяца скользящую медиану из duration
за user_id
за month
в качестве аналогичной сводной таблицы. Есть предложения?