Як знайти середнє значення на групу панд
Ви можете використовувати такий базовий синтаксис, щоб обчислити середнє значення на групу в pandas:
df. groupby ([' group_variable '])[' value_variable ']. median (). reset_index ()
Ви також можете використовувати такий синтаксис, щоб обчислити середнє значення, згруповане за кількома стовпцями:
df. groupby ([' group1 ', ' group2 '])[' value_variable ']. median (). reset_index ()
Наступні приклади показують, як використовувати цей синтаксис на практиці.
Приклад 1: визначення середнього значення за групою
Припустімо, що у нас є такі фрейми даних pandas:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' position ': ['G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'], ' points ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame df team position points rebounds 0 A G 5 11 1 A G 7 8 2 A F 7 10 3 A F 9 6 4 B G 12 6 5 B G 9 5 6 B F 9 9 7 B F 4 12
Ми можемо використати такий код, щоб знайти середнє значення стовпця «балів», згруповане за командами:
#calculate median points by team
df. groupby ([' team '])[' points ']. median (). reset_index ()
team points
0 to 7.0
1 B 9.0
З результату ми бачимо:
- Середня кількість очок, набраних гравцями команди А, становить 7 .
- Середня кількість очок, набраних гравцями команди B, становить 9 .
Зверніть увагу, що ми також можемо знайти медіанне значення двох змінних одночасно:
#calculate median points and median rebounds by team
df. groupby ([' team '])[[' points ', ' rebounds ']]. median ()
team points rebounds
0 to 7.0 9.0
1B 9.0 7.5
Приклад 2: визначення середнього значення за кількома групами
Наступний код показує, як знайти середнє значення стовпця «очки», згруповане за командою та позицією:
#calculate median points by team
df. groupby ([' team ', ' position '])[' points ']. median (). reset_index ()
team position points
0 A F 8.0
1 A G 6.0
2 B F 6.5
3 B G 10.5
З результату ми бачимо:
- Середня кількість очок, набраних гравцями на позиції «F» команди А, становить 8 .
- Медіана очок, набраних гравцями на позиції «G» команди А, становить 6 .
- Медіана очок, набраних гравцями на позиції «F» команди B, становить 6,5 .
- Медіана очок, набраних гравцями на позиції «G» команди B, становить 10,5 .
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові функції в pandas:
Як знайти максимальне значення для групи в Pandas
Як знайти суму на групу панд
Як обчислити квантилі за групами в Pandas