Pandas: как сортировать результаты value_counts()
Вы можете использовать функцию value_counts() в pandas для подсчета вхождений значений в заданном столбце DataFrame.
Вы можете использовать один из следующих методов для сортировки результатов функции value_counts() :
Способ 1. Сортировка учетных записей в порядке убывания (по умолчанию).
df. my_column . value_counts ()
Способ 2. Отсортируйте аккаунты по возрастанию.
df. my_column . value_counts (). sort_values ()
Способ 3. Сортировка счетчиков в том порядке, в котором они появляются в DataFrame.
df. my_column . value_counts ()[df. my_column . single ()]
В следующих примерах показано, как использовать каждый метод на практике со следующим DataFrame pandas:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'B', 'B', 'B', 'C'], ' points ': [15, 12, 18, 20, 22, 28, 35, 40]}) #view DataFrame print (df) team points 0 to 15 1 to 12 2 B 18 3 B 20 4 B 22 5 B 28 6 B 35 7 C 40
Пример 1. Сортировка учетных записей в порядке убывания.
Следующий код показывает, как подсчитать количество вхождений каждого уникального значения в столбце команды и отсортировать числа в порядке убывания:
#count occurrences of each value in team column and sort in descending order df. team . value_counts () B5 At 2 C 1 Name: team, dtype: int64
Обратите внимание, что по умолчанию счетчики сортируются по убыванию.
Пример 2. Сортировка аккаунтов по возрастанию.
Следующий код показывает, как подсчитать количество вхождений каждого уникального значения в столбце команды и отсортировать числа в порядке возрастания:
#count occurrences of each value in team column and sort in ascending order df. team . value_counts (). sort_values () C 1 At 2 B5 Name: team, dtype: int64
Обратите внимание, что счета теперь сортируются по возрастанию, т.е. от меньшего к большему.
Пример 3. Сортировка учетных записей в том порядке, в котором они появляются в DataFrame.
Следующий код показывает, как подсчитать количество вхождений каждого уникального значения в столбце команды и отсортировать числа в том порядке, в котором уникальные значения появляются в DataFrame:
#count occurrences of each value in team column and sort in order they appear df. team . value_counts ()[df. team . single ()] At 2 B5 C 1 Name: team, dtype: int64
Обратите внимание, что счетчики теперь сортируются на основе порядка появления уникальных значений в DataFrame.
Например, в столбце команды сначала появляется значение «А», затем «Б», затем «С».
Итак, это порядок, в котором счетчики появляются в выходных данных.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:
Pandas: как построить стоимостные счета
Pandas: как использовать GroupBy и подсчет значений
Pandas: как представить value_counts в процентах