Как заменить значения в столбце на их частоту?

у меня столбец в pandas вида:

введите сюда описание изображения

Как мне в том же столбце заменить названия городов на количество повторений. Вида:

4
4
4
3
1
3
3
4

Пытался сделать так:

level_map = {(i, i) for i in df['city'].value_counts()}
df['city'] = df['city'].map(level_map)

Ответы (1 шт):

Автор решения: MaxU

Попробуйте так:

df['city'] = df.groupby('city')['city'].transform('size')

или так:

df['city'] = df['city'].map(df['city'].value_counts())
→ Ссылка