Я новый python пользователь, знакомый с R.
Я хочу рассчитать определяемые пользователем квантили для групп с количеством наблюдений в каждой группе.
В RI будет делать:
df_sum <- df %>% group_by(group) %>%
dplyr::summarise(q85 = quantile(obsval, probs = 0.85, type = 8),
n = n())
В python я могу получить сгруппированный процентиль по:
df_sum = df.groupby(['group'])['obsval'].quantile(0.85)
Как мне добавить к этому счетчик групп?
I пробовал:
df_sum = df.groupby(['group'])['obsval'].describe(percentile=[0.85])[[count]]
df_sum = df.groupby(['group'])['obsval'].quantile(0.85).describe(['count'])
Пример данных:
data = {'group':['A', 'B', 'A', 'A', 'B', 'B', 'B', 'A', 'A'], 'obsval':[1, 3, 3, 5, 4, 6, 7, 7, 8]}
df = pd.DataFrame(data)
df
Ожидаемый результат:
group percentile count
A 7.4 5
B 6.55 4