Вы можете использовать следующие методы для расчета сводной статистики для переменных в 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