Как рассчитать сводную статистику для Pandas DataFrame


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

Метод 1: вычислить сводную статистику для всех числовых переменных

df.describe ()

Метод 2: вычислить сводную статистику для всех строковых переменных

df.describe (include='object')

Метод 3: вычислить сводную статистику, сгруппированную по переменной

df.groupby('group_column').mean()

df.groupby('group_column'). median ()

df.groupby('group_column'). max ()

...

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

import pandas as pd
import numpy as np

#create DataFrame
df = pd.DataFrame({'team': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'],
 'points': [18, 22, 19, 14, 14, 11, 20, 28, 30],
 'assists': [5, np.nan, 7, 9, 12, 9, 9, 4, 5],
 'rebounds': [11, 8, 10, 6, 6, 5, 9, np.nan, 6]})

#view DataFrame
print(df)

 team points assists rebounds
0 A 18 5.0 11.0
1 A 22 NaN 8.0
2 A 19 7.0 10.0
3 A 14 9.0 6.0
4 B 14 12.0 6.0
5 B 11 9.0 5.0
6 B 20 9.0 9.0
7 B 28 4.0 NaN
8 B 30 5.0 6.0

Пример 1. Расчет сводной статистики для всех числовых переменных

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

df.describe ()

 points assists rebounds
count 9.000000 8.000000 8.000000
mean 19.555556 7.500000 7.625000
std 6.366143 2.725541 2.199838
min 11.000000 4.000000 5.000000
25% 14.000000 5.000000 6.000000
50% 19.000000 8.000000 7.000000
75% 22.000000 9.000000 9.250000
max 30.000000 12.000000 11.000000

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

  • count: количество ненулевых значений
  • среднее : среднее значение
  • std : стандартное отклонение
  • мин: минимальное значение
  • 25% : значение на 25-м процентиле.
  • 50% : значение на 50-м процентиле (также медиана)
  • 75% : значение на 75-м процентиле.
  • макс : максимальное значение

Пример 2. Расчет сводной статистики для всех строковых переменных

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

df.describe (include='object')

 team
count 9
unique 2
top B
freq 5

Мы можем увидеть следующую сводную статистику для одной строковой переменной в нашем DataFrame:

  • count : количество ненулевых значений
  • unique : Количество уникальных значений
  • top: наиболее часто встречающееся значение
  • freq : количество наиболее часто встречающихся значений

Пример 3. Вычисление сводной статистики, сгруппированной по переменной

В следующем коде показано, как вычислить среднее значение для всех числовых переменных, сгруппированных по переменной команды :

df.groupby('team').mean()

 points assists rebounds
team 
A 18.25 7.0 8.75
B 20.60 7.8 6.50

В выходных данных отображается среднее значение переменных очков , передач и подборов , сгруппированных по переменной команды .

Обратите внимание, что мы можем использовать аналогичный синтаксис для вычисления другой сводной статистики, такой как медиана:

df.groupby('team'). median ()

 points assists rebounds
team 
A 18.5 7.0 9.0
B 20.0 9.0 6.0

В выходных данных отображается среднее значение переменных очков , передач и подборов , сгруппированных по переменной команды .

Примечание.Вы можете найти полную документацию для функции описания в pandas здесь .

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

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

Как подсчитать наблюдения по группе в Pandas
Как найти максимальное значение по группе в Pandas
Как определить выбросы в Pandas

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.