Я хочу сделать почти то же самое, что и этот вопрос .
Однако подход в принятом ответе @jezrael занимает слишком много времени, исходя из моего набора данных - у меня ~ 300 тыс. Строк в исходном кадре данных, и для запуска команды nlargest (1) требуется несколько минут. Кроме того, я попробовал это на ограниченном для головы (1000) кадре данных, и не получил только 1 строку для каждого в пределах value_count - я получил точно такую же серию обратно, как и value_counts.
Моими собственными словами: По сути, мой набор данных состоит из двух столбцов, подобных этому:
Session Rating
A Positive
A Positive
A Positive
A Negative
B Negative
B Negative
C Positive
C Negative
Использование counts = df.groupby ('Session') ['Rating']. Value_counts () Я получаю объект Series следующим образом:
Session Rating
A Positive 3
Negative 1
B Negative 2
C Positive 1
Negative 1
Как получить кадр данных, в который включен только рейтинг с максимальным количеством? И в случаях, когда есть несколько макс (например, C), я бы хотел исключить это из возвращаемой таблицы.