관리-도구
편집 파일: statistics.cpython-39.opt-2.pyc
a �����DOg������������������������@���s���g�d��Z�ddlZddlZddlZddlmZ�ddlmZ�ddlm Z �ddl mZmZ�ddlm Z mZmZmZmZmZmZmZ�ddlmZ�dd lmZ�G�d d��de�ZdFdd �Zdd��Zdd��Zdd��Zdd��Zdd��Z dd��Z!dGdd�Z"dd��Z#dd ��Z$d!d"��Z%d#d$��Z&d%d&��Z'd'd(��Z(d)d*��Z)dHd,d-�Z*d.d/��Z+d0d1��Z,d2d3d4�d5d6�Z-dId7d8�Z.dJd9d:�Z/dKd;d<�Z0dLd=d>�Z1dMd?d@�Z2dAdB��Z3zddCl4m3Z3�W�n�e5�y����Y�n0�G�dDdE��dE�Z6dS�)N)� NormalDist�StatisticsError�fmean�geometric_mean� harmonic_mean�mean�median�median_grouped�median_high� median_low�mode� multimode�pstdev� pvariance� quantiles�stdev�variance�����N��Fraction)�Decimal)�groupby)�bisect_left�bisect_right)�hypot�sqrt�fabs�exp�erf�tau�log�fsum)� itemgetter)�Counterc�������������������@���s���e�Zd�ZdS�)r���N)�__name__� __module__�__qualname__��r&���r&����"/usr/lib64/python3.9/statistics.pyr���u���s���r���c�����������������C���s����d}t�|�\}}||i}|j}ttt|��}t|�t�D�]@\}} t||�}tt�| �D�]"\}}|d7�}||d�|�||<�qRq6d�|v�r�|d��} ntdd��t|� ���D���} || |fS�)Nr�������c�����������������s���s���|�]\}}t�||�V��qd�S��Nr���)�.0�d�nr&���r&���r'���� <genexpr>���������z_sum.<locals>.<genexpr>) �_exact_ratio�get�_coerce�int�typer����map�sum�sorted�items)�data�start�countr,���r+���ZpartialsZpartials_get�T�typ�values�totalr&���r&���r'����_sum{���s����$ r?���c�����������������C���s,���z |�����W�S��ty&���t�|���Y�S�0�d�S�r)���)Z is_finite�AttributeError�math�isfinite)�xr&���r&���r'���� _isfinite����s���� rD���c�����������������C���s����|�|u�r|�S�|t�u�s|tu�r |�S�|�t�u�r,|S�t||��r:|S�t|�|�rH|�S�t|�t��rV|S�t|t��rd|�S�t|�t�r|t|t�r||S�t|�t�r�t|t�r�|�S�d}t||�j|jf���d�S�)Nz"don't know how to coerce %s and %s)r2����bool� issubclassr����float� TypeErrorr#���)r;����S�msgr&���r&���r'���r1�������s����r1���c�����������������C���s����znt�|��tu�st�|��tu�r$|����W�S�z|�j|�jfW�W�S��tyj���z|����W��Y�W�S��tyd���Y�n0�Y�n0�W�n�ttfy����|�d�f�Y�S�0�d}t |� t�|��j���d�S�)Nz0can't convert type '{}' to numerator/denominator)r3���rG���r����as_integer_ratio� numerator�denominatorr@���� OverflowError� ValueErrorrH����formatr#���)rC���rJ���r&���r&���r'���r/�������s���� r/���c�����������������C���sn���t�|��|u�r|�S�t|t�r(|�jdkr(t}z ||��W�S��tyh���t|t�rb||�j�||�j���Y�S���Y�n0�d�S�)Nr(���)r3���rF���r2���rM���rG���rH���r���rL���)�valuer;���r&���r&���r'����_convert����s���� rR���c�����������������C���s.���t�|�|�}|t|��kr&|�|�|kr&|S�t�d�S�r)���)r����lenrO���)�arC����ir&���r&���r'���� _find_lteq ��s���� rV���c�����������������C���s>���t�|�||d�}|t|��d�kr6|�|d��|kr6|d�S�t�d�S�)N)�lor(���)r���rS���rO���)rT����lrC���rU���r&���r&���r'���� _find_rteq��s���� rY����negative valuec�����������������c���s$���|�D�]}|dk�rt�|��|V��qd�S�)Nr���)r���)r=����errmsgrC���r&���r&���r'���� _fail_neg��s����r\���c�����������������C���sH���t�|��|�u�rt|��}�t|��}|dk�r,td��t|��\}}}t||�|�S�)Nr(���z%mean requires at least one data point)�iter�listrS���r���r?���rR���)r8���r,���r;���r>���r:���r&���r&���r'���r���'��s����r���c��������������������sp���zt�|����W�n.�ty:���d����fdd�}t||���}Y�n 0�t|��}z |���W�S��tyj���td�d��Y�n0�d�S�)Nr���c�����������������3���s ���t�|�dd�D�]\��}|V��qd�S�)Nr(���)r9���)� enumerate)�iterablerC����r,���r&���r'���r:���O��s����zfmean.<locals>.countz&fmean requires at least one data point)rS���rH���r ����ZeroDivisionErrorr���)r8���r:���r>���r&���ra���r'���r���A��s���� r���c�����������������C���s6���zt�ttt|����W�S��ty0���td�d��Y�n0�d�S�)NzGgeometric mean requires a non-empty dataset containing positive numbers)r���r���r4���r���rO���r���)r8���r&���r&���r'���r���\��s�����r���c�����������������C���s����t�|��|�u�rt|��}�d}t|��}|dk�r2td��n<|dkrn|�d�}t|tjtf�rf|dk�rbt|��|S�td��z"t dd��t |�|�D���\}}}W�n�ty����Y�dS�0�t||�|�S�)Nz.harmonic mean does not support negative valuesr(���z.harmonic_mean requires at least one data pointr���zunsupported typec�����������������s���s���|�]}d�|�V��qdS�)r(���Nr&����r*���rC���r&���r&���r'���r-������r.���z harmonic_mean.<locals>.<genexpr>) r]���r^���rS���r���� isinstance�numbersZRealr���rH���r?���r\���rb���rR���)r8���r[���r,���rC���r;���r>���r:���r&���r&���r'���r���o��s$���� "r���c�����������������C���s\���t�|��}�t|��}|dkr td��|d�dkr8|�|d��S�|d�}|�|d��|�|��d�S�d�S��Nr����no median for empty data����r(����r6���rS���r���)r8���r,���rU���r&���r&���r'���r������s���� r���c�����������������C���sL���t�|��}�t|��}|dkr td��|d�dkr8|�|d��S�|�|d�d��S�d�S�rf���ri����r8���r,���r&���r&���r'���r ������s����r ���c�����������������C���s,���t�|��}�t|��}|dkr td��|�|d��S�)Nr���rg���rh���ri���rj���r&���r&���r'���r ������s ����r ���r(���c����������� ������C���s����t�|��}�t|��}|dkr"td��n|dkr2|�d�S�|�|d��}||fD�]}t|ttf�rFtd|���qFz||d��}W�n&�ty����t|�t|�d��}Y�n0�t|�|�}t |�||�}|}||�d�} |||d�|��| ��S�)Nr���rg���r(���rh���zexpected number but got %r) r6���rS���r���rd����str�bytesrH���rG���rV���rY���) r8����intervalr,���rC����obj�L�l1�l2�cf�fr&���r&���r'���r������s&���� r���c�����������������C���sB���t�t|����d�}z|d�d�W�S��ty<���td�d��Y�n0�d�S�)Nr(���r���zno mode for empty data)r"���r]����most_common� IndexErrorr���)r8����pairsr&���r&���r'���r�����s ����r���c�����������������C���s@���t�t|������}tt|td�d�dg�f�\}}tttd�|��S�)Nr(���)�keyr���)r"���r]���rt����nextr���r!���r^���r4���)r8����countsZmaxcountZ mode_itemsr&���r&���r'���r���4��s���� r�������� exclusive)r,����methodc���������� ������C���sB��|dk�rt�d��t|��}�t|��}|dk�r0t�d��|dkr�|d�}g�}td|�D�]D}t||�|�\}}|�|�||��|�|d��|��|�} |�| ��qN|S�|dk�r0|d�}g�}td|�D�]r}||�|�}|dk�r�dn||d�kr�|d�n|}||�||��}|�|d��||��|�|�|��|�} |�| ��q�|S�td|����d�S�)Nr(���zn must be at least 1rh���z"must have at least two data pointsZ inclusiver{���zUnknown method: )r���r6���rS����range�divmod�appendrO���) r8���r,���r|���Zld�m�resultrU����jZdeltaZinterpolatedr&���r&���r'���r���k��s2����$ $$r���c��������������������s������d�ur,t���fdd�|�D���\}}}||fS�t|����t���fdd�|�D���\}}}t���fdd�|�D���\}}}||d�t|���8�}||fS�)Nc�����������������3���s���|�]}|���d��V��qdS��rh���Nr&���rc�����cr&���r'���r-������r.���z_ss.<locals>.<genexpr>c�����������������3���s���|�]}|���d��V��qdS�r����r&���rc���r����r&���r'���r-������r.���c�����������������3���s���|�]}|���V��qd�S�r)���r&���rc���r����r&���r'���r-������r.���rh���)r?���r���rS���)r8���r����r;���r>���r:����UZtotal2Zcount2r&���r����r'����_ss���s����r����c�����������������C���sL���t�|��|�u�rt|��}�t|��}|dk�r,td��t|�|�\}}t||d��|�S�)Nrh���z*variance requires at least two data pointsr(����r]���r^���rS���r���r����rR���)r8����xbarr,���r;����ssr&���r&���r'���r������s����&r���c�����������������C���sH���t�|��|�u�rt|��}�t|��}|dk�r,td��t|�|�\}}t||�|�S�)Nr(���z*pvariance requires at least one data pointr����)r8����mur,���r;���r����r&���r&���r'���r������s����#r���c�����������������C���s6���t�|�|�}z |���W�S��ty0���t�|��Y�S�0�d�S�r)���)r���r���r@���rA���)r8���r�����varr&���r&���r'���r�����s ���� r���c�����������������C���s6���t�|�|�}z |���W�S��ty0���t�|��Y�S�0�d�S�r)���)r���r���r@���rA���)r8���r����r����r&���r&���r'���r ���$��s ���� r ���c�����������������C���s��|�d�}t�|�dkr�d||��}d|�d�|�d�|�d�|�d�|�d �|�d �|�d�|�}d|�d �|�d�|�d�|�d�|�d�|�d�|�d�}||�}|||��S�|dkr�|�nd|��}tt|���}|dk�r^|d�}d|�d�|�d�|�d�|�d�|�d�|�d�|�d�}d|�d �|�d!�|�d"�|�d#�|�d$�|�d%�|�d�}n�|d�}d&|�d'�|�d(�|�d)�|�d*�|�d+�|�d,�|�d-�}d.|�d/�|�d0�|�d1�|�d2�|�d3�|�d4�|�d�}||�}|dk��r�|�}|||��S�)5N��������?g333333�?g��Q��?g^�}o)��@g�E.k�R�@g ��Ul�@g*u��>l�@g�N����@g�"]Ξ@gnC���`@gu��@giK��~j�@gv��|E�@g��d�|1�@gfR��r��@g��u.2�@g���~y�@g�n8(E@��������?���������g������@g�������?g鬷�ZaI?gg�El�D�?g7\�����?g�uS�S�?g�=�. @gj%b�@g���Hw�@gjR�e�?g�9dh? >g('߿��A?g��~z �?g@�3��?gɅ3��?g3fR�x�?gI�F��l�@g����t��>g*�Y��n�>gESB\T?g�N;A+�?g�UR1��?gE�F���?gP�n��@g&�>���@g����i�<g�@�F�>g�tcI,\�>g�ŝ���I?g*F2�v�?g�C4�?g��O�1�?)r���r���r���)�pr�����sigma�q�r�numZdenrC���r&���r&���r'����_normal_dist_inv_cdf7��sd������������������������������ �������������������������� �������������������������� r����)r����c�������������������@���s���e�Zd�Zddd�Zd9dd�Zedd ���Zd d�dd �Zdd��Zdd��Z dd��Z d:dd�Zdd��Zdd��Z edd���Zedd���Zedd ���Zed!d"���Zed#d$���Zd%d&��Zd'd(��Zd)d*��Zd+d,��Zd-d.��Zd/d0��ZeZd1d2��ZeZd3d4��Zd5d6��Zd7d8��Zd S�);r���z(Arithmetic mean of a normal distributionz+Standard deviation of a normal distribution)�_mu�_sigmar����r����c�����������������C���s(���|dk�rt�d��t|�|�_t|�|�_d�S�)Nr����zsigma must be non-negative)r���rG���r����r����)�selfr����r����r&���r&���r'����__init__���s���� zNormalDist.__init__c�����������������C���s.���t�|ttf�st|�}t|�}|�|t||��S�r)���)rd���r^����tupler���r���)�clsr8���r����r&���r&���r'����from_samples���s����zNormalDist.from_samplesN)�seedc�������������������sB���|d�u�rt�jn t��|�j��|�j|�j�������fdd�t|�D��S�)Nc��������������������s���g�|�]}������qS�r&���r&����r*���rU�����gaussr����r����r&���r'���� <listcomp>���r.���z&NormalDist.samples.<locals>.<listcomp>)�randomr�����Randomr����r����r}���)r����r,���r����r&���r����r'����samples���s����zNormalDist.samplesc�����������������C���s<���|�j�d�}|std��t||�j�d�d|���tt|���S�)N��������@z$pdf() not defined when sigma is zerog��������)r����r���r���r����r���r���)r����rC���r���r&���r&���r'����pdf���s���� zNormalDist.pdfc�����������������C���s2���|�j�std��ddt||�j�|�j�td������S�)Nz$cdf() not defined when sigma is zeror����r����r����)r����r���r���r����r����r����rC���r&���r&���r'����cdf���s����zNormalDist.cdfc�����������������C���s:���|dks|dkrt�d��|�jdkr*t�d��t||�j|�j�S�)Nr����r����z$p must be in the range 0.0 < p < 1.0z-cdf() not defined when sigma at or below zero)r���r����r����r����)r����r����r&���r&���r'����inv_cdf���s ���� zNormalDist.inv_cdfrz���c��������������������s������fdd�t�d���D��S�)Nc��������������������s���g�|�]}���|�����qS�r&���)r����r�����r,���r����r&���r'���r�������r.���z(NormalDist.quantiles.<locals>.<listcomp>r(���)r}���)r����r,���r&���r����r'���r������s���� zNormalDist.quantilesc�����������������C���s��t�|t�std��|�|�}}|j|jf|j|jfk�r>||�}}|j|j�}}|rT|s\td��||�}t|j|j��}|s�dt|d|j�t d�����S�|j|�|j|��}|j|j�t |d�|t ||������} || �|�} || �|�}dt|�| �|�| ���t|�|�|�|�����S�)Nz$Expected another NormalDist instancez(overlap() not defined when sigma is zeror����r����)rd���r���rH���r����r����r���r���r���r���r���r���r����)r�����other�X�YZX_varZY_varZdvZdmrT����b�x1�x2r&���r&���r'����overlap���s"���� (zNormalDist.overlapc�����������������C���s���|�j�std��||�j�|�j��S�)Nz'zscore() not defined when sigma is zero)r����r���r����r����r&���r&���r'����zscore���s����zNormalDist.zscorec�����������������C���s���|�j�S�r)����r�����r����r&���r&���r'���r������s����zNormalDist.meanc�����������������C���s���|�j�S�r)���r����r����r&���r&���r'���r�����s����zNormalDist.medianc�����������������C���s���|�j�S�r)���r����r����r&���r&���r'���r�����s����zNormalDist.modec�����������������C���s���|�j�S�r)����r����r����r&���r&���r'���r�����s����zNormalDist.stdevc�����������������C���s ���|�j�d�S�)Nr����r����r����r&���r&���r'���r�����s����zNormalDist.variancec�����������������C���s8���t�|t�r&t|�j|j�t|�j|j��S�t|�j|�|�j�S�r)����rd���r���r����r���r�����r����r����r&���r&���r'����__add__��s���� zNormalDist.__add__c�����������������C���s8���t�|t�r&t|�j|j�t|�j|j��S�t|�j|�|�j�S�r)���r����r����r&���r&���r'����__sub__'��s���� zNormalDist.__sub__c�����������������C���s���t�|�j|�|�jt|���S�r)����r���r����r����r���r����r&���r&���r'����__mul__5��s����zNormalDist.__mul__c�����������������C���s���t�|�j|�|�jt|���S�r)���r����r����r&���r&���r'����__truediv__=��s����zNormalDist.__truediv__c�����������������C���s���t�|�j|�j�S�r)����r���r����r�����r����r&���r&���r'����__pos__E��s����zNormalDist.__pos__c�����������������C���s���t�|�j�|�j�S�r)���r����r����r&���r&���r'����__neg__I��s����zNormalDist.__neg__c�����������������C���s ���|�|��S�r)���r&���r����r&���r&���r'����__rsub__O��s����zNormalDist.__rsub__c�����������������C���s&���t�|t�stS�|�j|jko$|�j|jkS�r)���)rd���r����NotImplementedr����r����r����r&���r&���r'����__eq__U��s���� zNormalDist.__eq__c�����������������C���s���t�|�j|�jf�S�r)���)�hashr����r����r����r&���r&���r'����__hash__[��s����zNormalDist.__hash__c�����������������C���s ���t�|��j��d|�j�d|�j�d�S�)Nz(mu=z, sigma=�))r3���r#���r����r����r����r&���r&���r'����__repr___��s����zNormalDist.__repr__)r����r����)rz���) r#���r$���r%���� __slots__r�����classmethodr����r����r����r����r����r���r����r�����propertyr���r���r���r���r���r����r����r����r����r����r�����__radd__r�����__rmul__r����r����r����r&���r&���r&���r'���r������sF���� " r���)r���)rZ���)r(���)N)N)N)N)N)7�__all__rA���re���r����Z fractionsr���Zdecimalr���� itertoolsr����bisectr���r���r���r���r���r���r���r���r���r ����operatorr!����collectionsr"���rO���r���r?���rD���r1���r/���rR���rV���rY���r\���r���r���r���r���r���r ���r ���r���r���r���r���r����r���r���r���r ���r����Z_statistics�ImportErrorr���r&���r&���r&���r'����<module>S���sR���( : / 778 / , K