Pandas dataframe - Как отсортировать (в алфавитном порядке) значения столбцов с помощью value_counts

Я пытаюсь отсортировать значения столбца данных в сочетании с value_count -

Ниже приведен фрагмент кода моего алгоритма:

with open (f_out_txt_2, 'w', encoding='utf-8') as f_txt_out_2:
    f_txt_out_2.write(f"SORTED First Names w/SORTED value counts:\n")
    for val, cnt in df['First Name'].value_counts(sort='True').iteritems():
        f_txt_out_2.write("\n{0:9s}  {1:2d}".format(val, cnt))

Ниже приведены первые несколько строк вывода - обратите внимание, что значения "Имя" указаны не в алфавитном порядке. Как я могу отсортировать значения "Имя", сохраняя отсортированные значения счетчиков?

Выход:
SORTED First Names w / SORTED value counts:

Мэрилин 11
Тодд 10
Джереми 10
Барбара 10
Сара 9
Роза 9
Кэти 9
Стивен 9
Ирен 9
Синтия 9
Карл 8
Алиса 8
Джастин 8
Бобби 8
Рубин 8
Глория 8
8 июля
Кларенс 8
Гарри 8
Андреа 8

.... К сожалению, я не могу найти исходную ссылку на источник, откуда я скачал файл "employee.csv", но вот его образец, чтобы дать представление о том, что он содержит:

1 ответ

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

dfg = df.groupby('First Name').agg(value_count = ('First Name','count')).sort_values(by = ['First Name','value_count'], ascending = [True,False])
Другие вопросы по тегам