pandas выбрать топ 2 категории
Имеется датафрейм
data = {'фрукт': ['арбуз','арбуз','арбуз','груша', 'груша', 'вишня', 'абрикос', 'банан'],
'размер': ['1','2','3','5', '6', '10', '5', '7']
}
dates = pd.DataFrame(data, columns = ['фрукт','размер'])
Как я могу выбрать записи о двух самых популярных фруктах?
Должен получить
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
dates.loc[dates.фрукт.isin(dates.фрукт.value_counts()[:2].index)]
фрукт размер
0 арбуз 1
1 арбуз 2
2 арбуз 3
3 груша 5
4 груша 6
Пояснение:
- Берём счётчик значений по колонке
фрукт, используяvalue_counts - Он отсортирован всегда от больших к меньшим, поэтому берём из него два верхних индекса (в которых и будут собственно фрукты)
- Выбираем из данных в таблице те строки, у которых значение колонки
фруктвходит в отобранный нами ранее список наиболее часто встречающихся фруктов

