Я пытаюсь вычислить средневзвешенное значение для определенных групп пользователей, но, похоже, не могу взять вывод и сформировать новый столбец с ним.
Я пробовал группировать и применять функцию, но могуне похоже, чтобы преобразовать его обратно в новый столбец
df = pd.DataFrame('cohort_size': [10,15,20,25,20,15],
'retention' : [0.3,0.2,0.4,0.5,0.6,0.5],
'nth_interval' : [1,1,1,7,7,7])
df.groupby('nth_interval').apply(lambda x: np.average(x['retention'], weights=x['cohort_size']))
Я получаю выходные данные в виде серии, но я действительно хочу взять эти индивидуальные взвешенные средние и вернуть их в виде нового столбца вфрейм данных, где каждому значению столбца соответствует nth_interval