Модуль statistics в Python
В анализе данных и научных вычислениях статистика — очень важный инструмент.
Python предоставляет встроенныйstatisticsмодуль, специально предназначенный для выполнения базовых статистических расчётов. В этой статье будут подробно рассмотреныstatisticsфункции и использование модуля, помогая новичкам быстро освоить, как использовать этот модуль для базового статистического анализа.
statisticsМодуль предоставляет множество распространённых статистических функций, таких как среднее значение, медиана, дисперсия, стандартное отклонение и т. д.
Чтобы использовать функции модуля statistics, необходимо сначала импортировать:
import statistics
Просмотреть содержимое модуля statistics:
>>> dir(statistics)
['Counter', 'Decimal', 'Fraction', 'NormalDist', 'StatisticsError', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_coerce', '_convert', '_exact_ratio', '_fail_neg', '_find_lteq', '_find_rteq', '_isfinite', '_normal_dist_inv_cdf', '_ss', '_sum', 'bisect_left', 'bisect_right', 'erf', 'exp', 'fabs', 'fmean', 'fsum', 'geometric_mean', 'groupby', 'harmonic_mean', 'hypot', 'itemgetter', 'log', 'math', 'mean', 'median', 'median_grouped', 'median_high', 'median_low', 'mode', 'multimode', 'numbers', 'pstdev', 'pvariance', 'quantiles', 'random', 'sqrt', 'stdev', 'tau', 'variance']
Общие статистические функции
Среднее
Среднее — это среднее арифметическое всех значений в наборе данных.statisticsМодуль предоставляетmean()функцию для вычисления среднего.
Пример
mean_value = statistics.mean(data)
print("Mean:", mean_value)
Вывод:
均值: 3
Медиана
Медиана — это значение, находящееся в середине набора данных, когда он упорядочен по величине.statisticsМодуль предоставляетmedian()функцию для вычисления медианы.
Пример
median_value = statistics.median(data)
print("Медиана:", median_value)
Вывод:
中位数: 3
Если длина набора данных чётная,median()функция автоматически вычисляет среднее значение двух средних чисел.
Пример
median_value = statistics.median(data)
print("Медиана:", median_value)
Вывод:
中位数: 2.5
Mode
Мода — это значение, которое встречается в наборе данных чаще всего.statisticsМодуль предоставляетmode()функция для вычисления моды.
Пример
mode_value = statistics.mode(data)
print("Мода:", mode_value)
Вывод:
众数: 2
Если в наборе данных нет повторяющихся значений,mode()функция выброситStatisticsErrorисключение.
Вариантность
Дисперсия — это мера степени разброса значений в наборе данных.statisticsМодуль предоставляетvariance()функция для вычисления дисперсии.
Пример
variance_value = statistics.variance(data)
print("Дисперсия:", variance_value)
Вывод:
方差: 2.5
Стандартное отклонение
Стандартное отклонение — это квадратный корень из дисперсии, используемый для измерения разброса набора данных.statisticsМодуль предоставляетstdev()функция для вычисления стандартного отклонения.
Пример
stdev_value = statistics.stdev(data)
print("Стандартное отклонение:", stdev_value)
Вывод:
标准差: 1.5811388300841898
Среднее гармоническое
Среднее гармоническое — это особый вид среднего, подходящий для таких случаев, как вычисление скоростей.statisticsМодуль предоставляетharmonic_mean()функция для вычисления среднего гармонического.
Пример
harmonic_mean_value = statistics.harmonic_mean(data)
print("Среднее гармоническое:", harmonic_mean_value)
Вывод:
调和平均数: 1.7142857142857142
Среднее геометрическое
Среднее геометрическое — это среднее, используемое для вычисления темпов роста или соотношений.statisticsМодуль предоставляетgeometric_mean()функция для вычисления среднего геометрического.
Пример
geometric_mean_value = statistics.geometric_mean(data)
print("Среднее геометрическое:", geometric_mean_value)
Вывод:
几何平均数: 2.0
Другие распространённые функции
Нижняя медиана и верхняя медиана
statisticsМодуль также предоставляетmedian_low()иmedian_high()функции, используемые для вычисления соответственно нижней и верхней медианы набора данных.
Пример
median_low_value = statistics.median_low(data)
median_high_value = statistics.median_high(data)
print("Нижняя медиана:", median_low_value)
print("Верхняя медиана:", median_high_value)
Вывод:
中位数低: 2 中位数高: 3
Квантили
Квантили — это значения, которые делят набор данных на несколько равных частей.statisticsМодуль предоставляетquantiles()функция для вычисления квантилей.
Пример
quantiles_value = statistics.quantiles(data, n=4)
print("Quartiles:", quantiles_value)
Вывод:
四分位数: [1.5, 3.0, 4.5]
Методы модуля math
| Метод | Описание |
|---|---|
| statistics.harmonic_mean() | Вычислить среднее гармоническое для заданного набора данных. |
| statistics.mean() | Вычислить среднее значение набора данных |
| statistics.median() | Вычислить медиану набора данных |
| statistics.median_grouped() | Вычислить медиану сгруппированных данных для заданного сгруппированного набора данных |
| statistics.median_high() | Вычислить верхнюю медиану заданного набора данных |
| statistics.median_low() | Вычислить нижнюю медиану заданного набора данных. |
| statistics.mode() | Вычислить моду набора данных (наиболее часто встречающееся значение) |
| statistics.pstdev() | Вычислить выборочное стандартное отклонение заданного набора данных |
| statistics.stdev() | Вычислить стандартное отклонение набора данных |
| statistics.pvariance() | Вычислить выборочную дисперсию заданного набора данных |
| statistics.variance() | Вычислить дисперсию набора данных |
| statistics.quantiles() | Вычислить квантили набора данных с возможностью указать количество квантилей (по умолчанию — квартили) |