Панды: как использовать описать() по группе


Вы можете использовать функцию define() для создания описательной статистики для переменных в DataFrame pandas.

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

 df. groupby (' group_var ')[' values_var ']. describe ()

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: используйте описание() по группе в Pandas

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' points ': [8, 12, 14, 14, 15, 22, 27, 24],
                   ' assists ':[2, 2, 3, 5, 7, 6, 8, 12]})

#view DataFrame
print (df)

  team points assists
0 to 8 2
1 to 12 2
2 to 14 3
3 to 14 5
4 B 15 7
5 B 22 6
6 B 27 8
7 B 24 12

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

 #summarize points by team
df. groupby (' team ')[' points ']. describe ()

count mean std min 25% 50% 75% max
team								
A 4.0 12.0 2.828427 8.0 11.00 13.0 14.00 14.0
B 4.0 22.0 5.099020 15.0 20.25 23.0 24.75 27.0

Из результата мы видим следующие значения переменной Points для каждой команды:

  • count (количество наблюдений)
  • средний (среднее значение балла)
  • std (стандартное отклонение значений точек)
  • min (минимальное значение балла)
  • 25 % (25-й процентиль баллов)
  • 50 % (50-й процентиль (т. е. медиана) баллов)
  • 75 % (75-й процентиль баллов)
  • max (максимальное значение балла)

Если вы хотите, чтобы результаты отображались в формате DataFrame, вы можете использовать аргумент reset_index() :

 #summarize points by team
df. groupby (' team ')[' points ']. describe (). reset_index ()

        team count mean std min 25% 50% 75% max
0 A 4.0 12.0 2.828427 8.0 11.00 13.0 14.00 14.0
1 B 4.0 22.0 5.099020 15.0 20.25 23.0 24.75 27.0

Переменная команды теперь представляет собой столбец в DataFrame, а значения индекса равны 0 и 1.

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

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

Панды: как посчитать совокупную сумму на группу
Панды: как посчитать уникальные значения по группам
Панды: как рассчитать корреляцию по группам

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

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