Топ-5 городов по числу пользователей
// Условие
Таблица df — пользователи продуктовой платформы.
Что нужно
Посчитай, сколько пользователей в каждом городе, и верни топ-5 как DataFrame с колонками city и users. Сортировка по убыванию.Строк ровно 5. Москва должна быть первой.
// Данные
df:
user_id, city, country, signup_date, plan// Решение
Подсказка
Самый короткий путь — df['city'].value_counts(). Это уже в правильном порядке.
Добавь .head(5) чтобы отрезать топ-5. Потом .reset_index() превратит Series в DataFrame.
Цепочка: df['city'].value_counts().head(5).reset_index(). В pandas ≥ 1.1 колонки будут city и count — переименуй вторую в users: .rename(columns={'count': 'users'}).
Сначала попробуй сам → Показать решение
df = load_data()
# value_counts -> сразу подписываем ось и достаём колонку users
result = (df['city']
.value_counts()
.head(5)
.rename_axis('city')
.reset_index(name='users'))
print(result)
Альтернатива через
groupby: df.groupby('city').size().nlargest(5).reset_index(name='users'). Совет: value_counts() уже сортирует по убыванию, дополнительная сортировка не нужна.