2015-12-29 3 views
0

Предположим, что у меня есть панда DataFrame с столбцом «фрукты», который представляет, какой плод мой класс для детских садов был для утренней закуски. У меня 20 учеников в классе. Разбивка будет чем-то вроде этого.Python pandas: определение того, какая «группа» имеет наибольшее количество записей.

апельсины = 7, виноград = 3, ежевика = 4, 6 = Бананы

Я вроде используется для группы каждого из этих типов фруктов, но это группировка основана на алфавитном порядке. Я бы хотел, чтобы он группировался на основе наибольшего количества записей для этого класса фруктов. В этом случае я бы хотел, чтобы апельсины появились сначала, чтобы я мог легко увидеть, что апельсины - самый популярный плод.

Я думаю, что это не лучший способ это сделать. Я проверил группу, но не мог понять, как использовать это соответственно.

Заранее спасибо.

ответ

2

Для сортировки по названию: df.fruit.value_counts().sort_index()

Для сортировки по пунктам: df.fruit.value_counts().sort_values()

+0

Я сделал это в соответствии с рекомендациями:. Df.fruit.value_counts() sort_index () Я получил результат, подобный этому, который был обнаружен в серии: Апельсины 5 Бананы 13 Яблоки 2 Я хочу вернуть «Бананы» в функции, которую я создал, потому что у бананов самый высокий счет в 13, я озадачен тем, как это сделать. Если бы это был кадр данных, я думал, что могу сортировать по целочисленному столбцу, а затем возвращать первую строку в столбце на основе фруктов. Я новичок в pandas и Python, я не совсем уверен, как преобразовать серию в кадр Data так, как я упоминал, или если это даже необходимо? –