Pandas: как использовать groupby() с size()


Вы можете использовать следующие методы с функциями groupby() и size() в pandas для подсчета количества вхождений в каждой группе:

Способ 1: подсчитать вхождения, сгруппированные по переменной

 df. groupby (' var1 '). size ()

Способ 2. Подсчет вхождений, сгруппированных по нескольким переменным.

 df. groupby ([' var1 ', ' var2 ']). size ()

Метод 3. Подсчет вхождений, сгруппированных по нескольким переменным и отсортированных по номеру.

 df. groupby ([' var1 ', ' var2 ']). size (). sort_values (ascending= False )

В следующих примерах показано, как использовать каждый метод на практике со следующим DataFrame pandas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'],
                   ' position ': ['G', 'G', 'F', 'F', 'F', 'G', 'G', 'G', 'G', 'F'],
                   ' points ': [15, 22, 24, 25, 20, 35, 34, 19, 14, 12]})

#view DataFrame
print (df)

  team position points
0 AG 15
1 AG 22
2 AF 24
3 AF 25
4 AF 20
5 BG 35
6 BG 34
7 BG 19
8 BG 14
9 BF 12

Пример 1: подсчет вхождений, сгруппированных по переменной

Следующий код показывает, как использовать функции groupby() и size() для подсчета вхождений значений в столбце команды :

 #count occurrences of each value in team column
df. groupby (' team '). size ()

team
AT 5
B5
dtype: int64

Из результата мы видим, что значения A и B появляются в столбце команды 5 раз.

Пример 2. Подсчет вхождений, сгруппированных по нескольким переменным

Следующий код показывает, как использовать функции groupby() и size() для подсчета вхождений значений для каждой комбинации значений в столбцах команды и позиции :

 #count occurrences of values for each combination of team and position
df. groupby ([' team ', ' position ']). size ()

team position
AF3
      G2
BF 1
      G4
dtype: int64

По результату мы видим:

  • Команда А и позиция F появляются 3 раза.
  • Команда А и позиция G появляются дважды .

И так далее.

Пример 3: подсчитать вхождения, сгруппированные по нескольким переменным, и отсортировать

В следующем коде показано, как использовать функции groupby() и size() для подсчета вхождений значений для каждой комбинации значений в столбцах команды и позиции , а затем сортировать по количеству:

 #count occurrences for each combination of team and position and sort
df. groupby ([' team ', ' position ']). size (). sort_values (ascending= False )

team position
BG 4
AF3
      G2
BF 1
dtype: int64

В выходных данных отображается количество каждой комбинации значений команды и позиции , отсортированное по количеству в порядке убывания.

Примечание . Для сортировки по номеру в порядке возрастания просто удалите возрастающий=False в функции sort_values() .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:

Как посчитать уникальные значения с помощью Pandas GroupBy
Как применить функцию к Pandas Groupby
Как создать гистограмму из Pandas GroupBy

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *