Я слежу за этим примером и хочу воспроизвести с помощью панд. К сожалению, я почти сразу застрял: я не знаю, как добавить столбец со средними значениями для каждой категории для всех строк.
Мой фрейм данных:
ages = pd.DataFrame(
[[13, 0.0, 1.0, 1.0],
[14, 0.0, 1.0, 0.0],
[15, 0.0, 1.0, 0.0],
[25, 1.0, 1.0, 1.0],
[35, 0.0, 1.0, 1.0],
[49, 1.0, 0.0, 0.0],
[68, 1.0, 1.0, 1.0],
[71, 1.0, 0.0, 0.0],
[73, 1.0, 0.0, 1.0]], columns=['age', 'gardening', 'gameing', 'hats'])
Я хочу добавить столбец со средним возрастом для всех лиц, которые (не) занимаются садоводством:
ages['ma'] = ages.groupby('gardening')['age'].mean()
но это дает:
19.5
57.2
6 x NaN
и я хочу (первый столбец)
gardening age
19.5 0 13
19.5 0 14
19.5 0 15
57.2 1 25
19.5 0 35
57.2 1 49
57.2 1 68
57.2 1 71
57.2 1 73
^^
Я пробовал трансляцию, трансформацию, но это не дает желаемого результата. Как я могу решить это?