Як знайти середнє значення на групу панд


Ви можете використовувати такий базовий синтаксис, щоб обчислити середнє значення на групу в 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

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

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