@sunsexsurf
IT & creative

Как в pandas получить среднее по условию из другого столбца?

Добрый день, имею табличку:
date                 gold         silver       week month
0	2020-10-17	4783.12	61.06	42	10
1	2020-10-16	4740.64	59.98	42	10
2	2020-10-15	4711.68	60.06	42	10
3	2020-10-14	4772.77	61.96	42	10
4	2020-10-13	4754.14	62.06	42	10

Хочу в новый столбец 'gold_mean_per_week' получить среднее из столбца 'gold' в группировке по столбцу 'week'

Пишу:
df['mean_per_week_gold'] = df['gold'].groupby(df['week']).mean()


Получаю:

date                 gold         silver       week month mean_per_week_gold
0	2020-10-17	4783.12	61.06	42	10	NaN
1	2020-10-16	4740.64	59.98	42	10	3418.133333
2	2020-10-15	4711.68	60.06	42	10	4521.742500
3	2020-10-14	4772.77	61.96	42	10	3062.282000
4	2020-10-13	4754.14	62.06	42	10	3094.500000


в общем, совсем что-то не то получаю.
Подскажите, в чем не прав и где группирую неверно.
И да, циклы, как я понимаю, это плохая практика для pandas, поэтому не пытался их писать.

Спасибо.

Извините за хреновые таблички - не понимаю как тут их вставлять.
  • Вопрос задан
  • 409 просмотров
Решения вопроса 1
@sunsexsurf Автор вопроса
IT & creative
Решение:
df['mean_per_week_gold'] = df.groupby('week')['gold'].transform('mean')
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы