Pandas: как использовать описать() с определенными процентилями
Вы можете использовать функцию define() для создания описательной статистики для переменных в DataFrame pandas.
По умолчанию pandas вычисляет 25-й, 50-й и 75-й процентили для переменных.
Однако вы можете использовать аргумент процентилей в функции описать() , чтобы указать точные процентили для расчета.
В следующих примерах показано, как использовать этот аргумент на практике со следующим DataFrame pandas:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
' points ': [18, 22, 19, 14, 14, 11, 20, 28],
' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})
#view DataFrame
print (df)
team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 D 14 9 6
4 E 14 12 6
5 F 11 9 5
6 G 20 9 9
7:28 4 12
Пример 1. Использование метода описания() с процентилями по умолчанию.
В следующем коде показано, как использовать функцию define() для расчета описательной статистики для каждой числовой переменной в DataFrame:
#calculate descriptive statistics for each numeric variable
df. describe ()
points assists rebounds
count 8.000000 8.00000 8.000000
mean 18.250000 7.75000 8.375000
std 5.365232 2.54951 2.559994
min 11.000000 4.00000 5.000000
25% 14,000000 6,50000 6,000000
50% 18.500000 8.00000 8.500000
75% 20.500000 9.00000 10.250000
max 28.000000 12.00000 12.000000
Обратите внимание, что функция описать() по умолчанию вычисляет 25-й, 50-й и 75-й процентили для каждой переменной.
Пример 2. Использование метода описания() с пользовательскими процентилями
В следующем коде показано, как использовать функцию define() с аргументом процентилей для вычисления 30-го, 60-го и 90-го процентилей для каждой числовой переменной в DataFrame:
#calculate custom percentiles for each numeric variable
df. describe (percentiles=[ .3 , .6 , .9 ])
points assists rebounds
count 8.000000 8.00000 8.000000
mean 18.250000 7.75000 8.375000
std 5.365232 2.54951 2.559994
min 11.000000 4.00000 5.000000
30% 14.400000 7.00000 6.200000
50% 18.500000 8.00000 8.500000
60% 19.200000 9.00000 9.200000
90% 23.800000 9.90000 11.300000
max 28.000000 12.00000 12.000000
Обратите внимание, что функция описать() возвращает 30-й, 60-й и 90-й процентили для каждой числовой переменной.
Примечание . Функция описать() также возвращает 50-й процентиль, поскольку он представляет собой медианное значение каждой переменной и является одной из метрик по умолчанию, рассчитываемых функцией описания() .
Пример 3. Использование метода описания() без процентиля
В следующем коде показано, как использовать функцию описать() с аргументом процентили=[] для вычисления процентилей для каждой числовой переменной в DataFrame:
#calculate no percentiles for each numeric variable
df. describe (percentiles=[])
points assists rebounds
count 8.000000 8.00000 8.000000
mean 18.250000 7.75000 8.375000
std 5.365232 2.54951 2.559994
min 11.000000 4.00000 5.000000
50% 18.500000 8.00000 8.500000
max 28.000000 12.00000 12.000000
Обратите внимание, что 25-й и 75-й процентили больше не рассчитываются для каждой переменной.
Обратите внимание, что 50-й процентиль всегда включается в результат, поскольку он представляет собоймедианное значение каждой переменной.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:
Панды: как использовать описать() по группе
Панды: как использовать описать() и удалить научную нотацию
Панды: как рассчитать среднее, медиану и моду