grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026a XC?h³”ã@s¼gd¢ZddlZddlZddlZddlmZddlmZddlm Z ddl m Z m Z ddlm Z mZmZmZmZmZmZmZddlmZdd lmZGd d „d eƒZdFd d „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„Z3zddCl4m3Z3Wne5�y¨Yn0GdDdE„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 eZdZdS)rN)Ú__name__Ú __module__Ú __qualname__©r&r&ú//opt/alt/python39/lib64/python3.9/statistics.pyrusrc Cs®d}t|ƒ\}}||i}|j}ttt|ƒƒ}t|tƒD]@\}} t||ƒ}tt| ƒD]"\}}|d7}||dƒ|||<qRq6d|vrŠ|d} ntdd„t|  ¡ƒDƒƒ} || |fS)Nrécss|]\}}t||ƒVqdS©Nr)Ú.0ÚdÚnr&r&r'Ú ±óz_sum..) Ú _exact_ratioÚgetÚ_coerceÚintÚtyperÚmapÚsumÚsortedÚitems) ÚdataÚstartÚcountr,r+ZpartialsZ partials_getÚTÚtypÚvaluesÚtotalr&r&r'Ú_sum{s$  r?cCs,z | ¡WSty&t |¡YS0dSr))Z is_finiteÚAttributeErrorÚmathZisfinite)Úxr&r&r'Ú _isfiniteµs  rCcCs°||ur |S|tus|tur |S|tur,|St||ƒr:|St||ƒrH|St|tƒrV|St|tƒrd|St|tƒr|t|tƒr||St|tƒr”t|tƒr”|Sd}t||j|jfƒ‚dS)Nz"don't know how to coerce %s and %s)r2ÚboolÚ issubclassrÚfloatÚ TypeErrorr#)r;ÚSÚmsgr&r&r'r1¼s  r1c Csªznt|ƒtust|ƒtur$| ¡WSz|j|jfWWStyjz| ¡WYWStydYn0Yn0WnttfyŒ|dfYS0d}t |  t|ƒj ¡ƒ‚dS)Nz0can't convert type '{}' to numerator/denominator) r3rFrÚas_integer_ratioÚ numeratorÚ denominatorr@Ú OverflowErrorÚ ValueErrorrGÚformatr#)rBrIr&r&r'r/Ûs   r/cCsnt|ƒ|ur|St|tƒr(|jdkr(t}z ||ƒWStyht|tƒrb||jƒ||jƒYS‚Yn0dS)Nr()r3rEr2rLrFrGrrK)Úvaluer;r&r&r'Ú_convertûs    rQcCs.t||ƒ}|t|ƒkr&|||kr&|St‚dSr))rÚlenrN)ÚarBÚir&r&r'Ú _find_lteq s rUcCs>t|||d�}|t|ƒdkr6||d|kr6|dSt‚dS)N)Úlor()rrRrN)rSÚlrBrTr&r&r'Ú _find_rteqs rXúnegative valueccs$|D]}|dkrt|ƒ‚|VqdS)Nr)r)r=ÚerrmsgrBr&r&r'Ú _fail_negsr[cCsHt|ƒ|urt|ƒ}t|ƒ}|dkr,tdƒ‚t|ƒ\}}}t|||ƒS)Nr(z%mean requires at least one data point)ÚiterÚlistrRrr?rQ)r8r,r;r>r:r&r&r'r's rcspz t|ƒ‰Wn.ty:d‰‡fdd„}t||ƒƒ}Yn 0t|ƒ}z |ˆWStyjtdƒd‚Yn0dS)Nrc3s t|dd�D]\‰}|Vq dS)Nr()r9)Ú enumerate)ÚiterablerB©r,r&r'r:Oszfmean..countz&fmean requires at least one data point)rRrGr ÚZeroDivisionErrorr)r8r:r>r&r`r'rAs      rcCs6ztttt|ƒƒƒWSty0tdƒd‚Yn0dS)NzGgeometric mean requires a non-empty dataset containing positive numbers)rrr4rrNr)r8r&r&r'r\s  ÿrcCs´t|ƒ|urt|ƒ}d}t|ƒ}|dkr2tdƒ‚n<|dkrn|d}t|tjtfƒrf|dkrbt|ƒ‚|Stdƒ‚z"t dd„t ||ƒDƒƒ\}}}Wnt y¤YdS0t |||ƒS)Nz.harmonic mean does not support negative valuesr(z.harmonic_mean requires at least one data pointrzunsupported typecss|]}d|VqdS)r(Nr&©r*rBr&r&r'r-–r.z harmonic_mean..) r\r]rRrÚ isinstanceÚnumbersZRealrrGr?r[rarQ)r8rZr,rBr;r>r:r&r&r'ros$  " rcCs\t|ƒ}t|ƒ}|dkr tdƒ‚|ddkr8||dS|d}||d||dSdS©Nrúno median for empty dataér(©r6rRr)r8r,rTr&r&r'ržs   rcCsLt|ƒ}t|ƒ}|dkr tdƒ‚|ddkr8||dS||ddSdSrerh©r8r,r&r&r'r ¶s   r cCs,t|ƒ}t|ƒ}|dkr tdƒ‚||dS)Nrrfrgrhrir&r&r'r Ìs r r(c CsÜt|ƒ}t|ƒ}|dkr"tdƒ‚n|dkr2|dS||d}||fD]}t|ttfƒrFtd|ƒ‚qFz||d}Wn&tyœt|ƒt|ƒd}Yn0t||ƒ}t |||ƒ}|}||d} |||d|| S)Nrrfr(rgzexpected number but got %r) r6rRrrcÚstrÚbytesrGrFrUrX) r8Zintervalr,rBÚobjÚLÚl1Úl2ZcfÚfr&r&r'rßs&       rcCsBtt|ƒƒ d¡}z|ddWSty<tdƒd‚Yn0dS)Nr(rzno mode for empty data)r"r\Ú most_commonÚ IndexErrorr)r8Zpairsr&r&r'r s  r cCs@tt|ƒƒ ¡}tt|tdƒd�dgfƒ\}}tttdƒ|ƒƒS)Nr()Úkeyr)r"r\rqÚnextrr!r]r4)r8ZcountsZmaxcountZ mode_itemsr&r&r'r 4s r éÚ exclusive)r,Úmethodc CsB|dkrtdƒ‚t|ƒ}t|ƒ}|dkr0tdƒ‚|dkr˜|d}g}td|ƒD]D}t|||ƒ\}}||||||d||} | | ¡qN|S|dk�r0|d}g}td|ƒD]r}|||}|dkrÔdn||dkrè|dn|}||||}||d||||||} | | ¡q¸|Std|›�ƒ‚dS)Nr(zn must be at least 1rgz"must have at least two data pointsZ inclusivervzUnknown method: )rr6rRÚrangeÚdivmodÚappendrN) r8r,rwZldÚmÚresultrTÚjZdeltaZ interpolatedr&r&r'rks2$   $$ rcsˆˆdur,t‡fdd„|Dƒƒ\}}}||fSt|ƒ‰t‡fdd„|Dƒƒ\}}}t‡fdd„|Dƒƒ\}}}||dt|ƒ8}||fS)Nc3s|]}|ˆdVqdS©rgNr&rb©Úcr&r'r-¬r.z_ss..c3s|]}|ˆdVqdSr~r&rbrr&r'r-¯r.c3s|]}|ˆVqdSr)r&rbrr&r'r-²r.rg)r?rrR)r8r€r;r>r:ÚUZtotal2Zcount2r&rr'Ú_ss£sr‚cCsLt|ƒ|urt|ƒ}t|ƒ}|dkr,tdƒ‚t||ƒ\}}t||d|ƒS)Nrgz*variance requires at least two data pointsr(©r\r]rRrr‚rQ)r8Úxbarr,r;Ússr&r&r'r¹s& rcCsHt|ƒ|urt|ƒ}t|ƒ}|dkr,tdƒ‚t||ƒ\}}t|||ƒS)Nr(z*pvariance requires at least one data pointrƒ)r8Úmur,r;r…r&r&r'rès# rcCs6t||ƒ}z | ¡WSty0t |¡YS0dSr))rrr@rA)r8r„Úvarr&r&r'rs   rcCs6t||ƒ}z | ¡WSty0t |¡YS0dSr))rrr@rA)r8r†r‡r&r&r'r $s   r cCs|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¿tcI,\ó>g×Å�—¼ÈI?g*F2ùvŽ?gûC4ë†Á?g×ÇOÓ1ã?)rrr)Úpr†ÚsigmaÚqÚrZnumZdenrBr&r&r'Ú_normal_dist_inv_cdf7sd  ÿÿþþýýüüûûúúùùÿÿþþýýüüûûúúù  ÿÿþþýýüüûûúúùÿÿþþýýüüûûúúù ÿÿþþýýüüûûúúùÿÿþþýýüüûûúúù r�)r�c@seZdZdddœZd9dd„Zedd „ƒZd d œd d „Zdd„Zdd„Z dd„Z d:dd„Z dd„Z dd„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);rz(Arithmetic mean of a normal distributionz+Standard deviation of a normal distribution)Ú_muÚ_sigmarŠr‰cCs(|dkrtdƒ‚t|ƒ|_t|ƒ|_dS)NrŠzsigma must be non-negative)rrFr�r‘)Úselfr†rŒr&r&r'Ú__init__’s zNormalDist.__init__cCs.t|ttfƒst|ƒ}t|ƒ}||t||ƒƒSr))rcr]Útuplerr)Úclsr8r„r&r&r'Ú from_samples™szNormalDist.from_samplesN)ÚseedcsB|durtjn t |¡j‰|j|j‰‰‡‡‡fdd„t|ƒDƒS)Ncsg|]}ˆˆˆƒ‘qSr&r&©r*rT©Úgaussr†rŒr&r'Ú ¥r.z&NormalDist.samples..)ÚrandomršZRandomr�r‘rx)r’r,r—r&r™r'Úsamples¡szNormalDist.samplescCs<|jd}|stdƒ‚t||jdd|ƒtt|ƒS)Nç@z$pdf() not defined when sigma is zerogÀ)r‘rrr�rr)r’rBrr&r&r'Úpdf§s zNormalDist.pdfcCs2|jstdƒ‚ddt||j|jtdƒƒS)Nz$cdf() not defined when sigma is zerorˆr‰rž)r‘rrr�r©r’rBr&r&r'Úcdf®szNormalDist.cdfcCs:|dks|dkrtdƒ‚|jdkr*tdƒ‚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)rr‘r�r�)r’r‹r&r&r'Úinv_cdf´s  zNormalDist.inv_cdfrucs‡‡fdd„tdˆƒDƒS)Ncsg|]}ˆ |ˆ¡‘qSr&)r¢r˜©r,r’r&r'r›Ír.z(NormalDist.quantiles..r()rx)r’r,r&r£r'rÄs zNormalDist.quantilesc Cst|tƒstdƒ‚||}}|j|jf|j|jfkr>||}}|j|j}}|rT|s\tdƒ‚||}t|j|jƒ}|s–dt|d|jt dƒƒS|j||j|}|j|jt |d|t ||ƒƒ} || |} || |} dt|  | ¡|  | ¡ƒt|  | ¡|  | ¡ƒS)Nz$Expected another NormalDist instancez(overlap() not defined when sigma is zeror‰rž) rcrrGr‘r�rrrrrrr¡) r’ÚotherÚXÚYZX_varZY_varZdvZdmrSÚbÚx1Úx2r&r&r'ÚoverlapÏs"   (  zNormalDist.overlapcCs|jstdƒ‚||j|jS)Nz'zscore() not defined when sigma is zero)r‘rr�r r&r&r'ÚzscoreñszNormalDist.zscorecCs|jSr)©r�©r’r&r&r'rüszNormalDist.meancCs|jSr)r¬r­r&r&r'rszNormalDist.mediancCs|jSr)r¬r­r&r&r'r szNormalDist.modecCs|jSr)©r‘r­r&r&r'rszNormalDist.stdevcCs |jdS)Nržr®r­r&r&r'rszNormalDist.variancecCs8t|tƒr&t|j|jt|j|jƒƒSt|j||jƒSr)©rcrr�rr‘©r¨r©r&r&r'Ú__add__s zNormalDist.__add__cCs8t|tƒr&t|j|jt|j|jƒƒSt|j||jƒSr)r¯r°r&r&r'Ú__sub__'s zNormalDist.__sub__cCst|j||jt|ƒƒSr)©rr�r‘rr°r&r&r'Ú__mul__5szNormalDist.__mul__cCst|j||jt|ƒƒSr)r³r°r&r&r'Ú __truediv__=szNormalDist.__truediv__cCst|j|jƒSr)©rr�r‘©r¨r&r&r'Ú__pos__EszNormalDist.__pos__cCst|j |jƒSr)r¶r·r&r&r'Ú__neg__IszNormalDist.__neg__cCs || Sr)r&r°r&r&r'Ú__rsub__OszNormalDist.__rsub__cCs&t|tƒstS|j|jko$|j|jkSr))rcrÚNotImplementedr�r‘r°r&r&r'Ú__eq__Us zNormalDist.__eq__cCst|j|jfƒSr))Úhashr�r‘r­r&r&r'Ú__hash__[szNormalDist.__hash__cCs t|ƒj›d|j›d|j›d�S)Nz(mu=z, sigma=ú))r3r#r�r‘r­r&r&r'Ú__repr___szNormalDist.__repr__)rŠr‰)ru) r#r$r%Ú __slots__r“Ú classmethodr–r�rŸr¡r¢rrªr«Úpropertyrrr rrr±r²r´rµr¸r¹Ú__radd__rºÚ__rmul__r¼r¾rÀr&r&r&r'rˆsFþ   "      r)r)rY)r()N)N)N)N)N)7Ú__all__rArdrœZ fractionsrÚdecimalrÚ itertoolsrZbisectrrrrrrrrrr Úoperatorr!Ú collectionsr"rNrr?rCr1r/rQrUrXr[rrrrrr r rr r rr‚rrrr r�Z _statisticsÚ ImportErrorrr&r&r&r'ÚSsR   (   :  / 778  / ,  K