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