Your IP : 3.137.186.26
3
\�P � @ sD d Z ddddddddd d
ddgZd
dlZd
dlZd
dlZd
dlZd
dlmZ d
dlmZ d
dl m
Z
mZ d
dlm
Z
mZ G dd� de�Zd5dd�Zdd� Zdd� Zdd� Zdd� Zdd� Zd d!� Zd"d#� Zd6d%d&�Zd'd
� Zd(d� Zd)d� Zd*d� Zd+d� Zd7d-d �Zd.d� Z d8d/d0�Z!d9d1d�Z"d:d2d�Z#d;d3d�Z$d<d4d�Z%dS )=aq
Basic statistics module.
This module provides functions for calculating statistics of data, including
averages, variance, and standard deviation.
Calculating averages
--------------------
================== =============================================
Function Description
================== =============================================
mean Arithmetic mean (average) of data.
harmonic_mean Harmonic mean of data.
median Median (middle value) of data.
median_low Low median of data.
median_high High median of data.
median_grouped Median, or 50th percentile, of grouped data.
mode Mode (most common value) of data.
================== =============================================
Calculate the arithmetic mean ("the average") of data:
>>> mean([-1.0, 2.5, 3.25, 5.75])
2.625
Calculate the standard median of discrete data:
>>> median([2, 3, 4, 5])
3.5
Calculate the median, or 50th percentile, of data grouped into class intervals
centred on the data values provided. E.g. if your data points are rounded to
the nearest whole number:
>>> median_grouped([2, 2, 3, 3, 3, 4]) #doctest: +ELLIPSIS
2.8333333333...
This should be interpreted in this way: you have two data points in the class
interval 1.5-2.5, three data points in the class interval 2.5-3.5, and one in
the class interval 3.5-4.5. The median of these data points is 2.8333...
Calculating variability or spread
---------------------------------
================== =============================================
Function Description
================== =============================================
pvariance Population variance of data.
variance Sample variance of data.
pstdev Population standard deviation of data.
stdev Sample standard deviation of data.
================== =============================================
Calculate the standard deviation of sample data:
>>> stdev([2.5, 3.25, 5.5, 11.25, 11.75]) #doctest: +ELLIPSIS
4.38961843444...
If you have previously calculated the mean, you can pass it as the optional
second argument to the four "spread" functions to avoid recalculating it:
>>> data = [1, 2, 2, 4, 4, 4, 5, 6]
>>> mu = mean(data)
>>> pvariance(data, mu)
2.5
Exceptions
----------
A single exception is defined: StatisticsError is a subclass of ValueError.
�StatisticsError�pstdev� pvariance�stdev�variance�median�
median_low�median_high�median_grouped�mean�mode�
harmonic_mean� N)�Fraction)�Decimal)�groupby�chain)�bisect_left�bisect_rightc @ s e Zd ZdS )r N)�__name__�
__module__�__qualname__� r r �"/usr/lib64/python3.6/statistics.pyr c s c C s� d}t |�\}}||i}|j}ttt|��}xRt| t�D ]D\}} t||�}x0tt | �D ]"\}}|d7 }||d�| ||<