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])