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

Наступні приклади показують, як використовувати кожен метод на практиці з такими pandas DataFrame:

 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 у відсотках

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *