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 )

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

 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() для підрахунку значень у стовпці team :

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

team
AT 5
B5
dtype: int64

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

Приклад 2: підрахунок випадків, згрупованих за кількома змінними

Наступний код показує, як використовувати функції groupby() і size() для підрахунку входжень значень для кожної комбінації значень у стовпцях team і position :

 #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

З результату ми бачимо:

  • Команда A та позиція F з’являються 3 рази.
  • Команда A і позиція G з’являються двічі .

І так далі.

Приклад 3: підрахувати випадки, згруповані за кількома змінними, і відсортувати

Наступний код показує, як використовувати функції groupby() і size() для підрахунку входжень значень для кожної комбінації значень у стовпцях team і position , а потім сортувати за кількістю:

 #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

У вихідних даних відображається кількість кожної комбінації значень команди та позиції , відсортована за кількістю в порядку спадання.

Примітка : щоб відсортувати за числом у порядку зростання, просто видаліть ascending=False у функції sort_values() .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в pandas:

Як підрахувати унікальні значення за допомогою Pandas GroupBy
Як застосувати функцію до Pandas Groupby
Як створити стовпчасту діаграму з Pandas GroupBy

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

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