grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026U iÛf ›ã@sjdddddddddd d d d d dddgZddlZddlZddlZddlmZddlmZddlm Z ddl m Z m Z ddlm Z mZmZmZmZmZmZmZddlmZddlmZGdd„deƒZdcdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%d&„Z d'd(„Z!ddd*d+„Z"d,d„Z#d-d„Z$d.d„Z%d/d„Z&d0d„Z'd1d „Z(d2d„Z)ded4d„Z*d5d „Z+d6d „Z,d7d8d9œd:d„Z-dfd;d<„Z.dgd=d„Z/dhd>d „Z0did?d„Z1djd@d „Z2dAdB„Z3GdCd„dƒZ4zddDl5m3Z3Wne6k �rÖYnXe7dEk�rfddFlm8Z8ddGlm9Z9m:Z:m;Z;mZ>e4dIdJƒZ?e4dKdLƒZ@dMZAe? BeA¡ZCe@ BeA¡ZDe9e:fD] P¡ƒdS)kÚ 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/python38/lib64/python3.8/statistics.pyrusc Cs®d}t|ƒ\}}||i}|j}ttt|ƒƒ}t|tƒD]@\}} t||ƒ}tt| ƒD]"\}}|d7}||dƒ|||<qRq6d|krŠ|d} ntdd„t|  ¡ƒDƒƒ} || |fS)Nrécss|]\}}t||ƒVqdS©Nr)Ú.0ÚdÚnr&r&r'Ú ±sz_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 | ¡WStk r(t |¡YSXdSr))Z is_finiteÚAttributeErrorÚmathZisfinite)Úxr&r&r'Ú _isfiniteµs rBcCs°||kr |S|tks|tkr |S|tkr,|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)r1ÚboolÚ issubclassrÚfloatÚ TypeErrorr#)r:ÚSÚmsgr&r&r'r0¼s(     r0c Cs°zrt|ƒtkst|ƒtkr$| ¡WSz|j|jfWWStk rnz| ¡WYWStk rhYnXYnXWn ttfk r’|dfYSXd}t |  t|ƒj ¡ƒ‚dS)Nz0can't convert type '{}' to numerator/denominator) r2rErÚas_integer_ratioÚ numeratorÚ denominatorr?Ú OverflowErrorÚ ValueErrorrFÚformatr#)rArHr&r&r'r.Ûs r.cCspt|ƒ|kr|St|tƒr(|jdkr(t}z ||ƒWStk rjt|tƒrd||jƒ||jƒYS‚YnXdS)Nr()r2rDr1rKrErFrrJ)Úvaluer:r&r&r'Ú_convertûs   rPcCs.t||ƒ}|t|ƒkr&|||kr&|St‚dSr))rÚlenrM)ÚarAÚir&r&r'Ú _find_lteq s rTcCs>t|||d�}|t|ƒdkr6||d|kr6|dSt‚dS)N)Úlor()rrQrM)rRÚlrArSr&r&r'Ú _find_rteqs rWúnegative valueccs$|D]}|dkrt|ƒ‚|VqdS)Nr)r)r<ÚerrmsgrAr&r&r'Ú _fail_negsrZcCsHt|ƒ|krt|ƒ}t|ƒ}|dkr,tdƒ‚t|ƒ\}}}t|||ƒS)Nr(z%mean requires at least one data point)ÚiterÚlistrQrr>rP)r7r,r:r=r9r&r&r'r's cstz t|ƒ‰Wn0tk r<d‰‡fdd„}t||ƒƒ}Yn Xt|ƒ}z |ˆWStk rntdƒd‚YnXdS)Nrc3s t|dd�D]\‰}|Vq dS)Nr()r8)Ú enumerate)ÚiterablerA©r,r&r'r9Oszfmean..countz&fmean requires at least one data point)rQrFr ÚZeroDivisionErrorr)r7r9r=r&r_r'rAs    cCs8ztttt|ƒƒƒWStk r2tdƒd‚YnXdS)NzHgeometric mean requires a non-empty dataset containing positive numbers)rrr3rrMr)r7r&r&r'r\s ÿcCs¶t|ƒ|krt|ƒ}d}t|ƒ}|dkr2tdƒ‚n<|dkrn|d}t|tjtfƒrf|dkrbt|ƒ‚|Stdƒ‚z"t dd„t ||ƒDƒƒ\}}}Wnt k r¦YdSXt |||ƒS)Nz.harmonic mean does not support negative valuesr(z.harmonic_mean requires at least one data pointrzunsupported typecss|]}d|VqdS)r(Nr&©r*rAr&r&r'r-–sz harmonic_mean..) r[r\rQrÚ isinstanceÚnumbersZRealrrFr>rZr`rP)r7rYr,rAr:r=r9r&r&r'ros$  "cCs\t|ƒ}t|ƒ}|dkr tdƒ‚|ddkr8||dS|d}||d||dSdS©Nrúno median for empty dataér(©r5rQr)r7r,rSr&r&r'ržs   cCsLt|ƒ}t|ƒ}|dkr tdƒ‚|ddkr8||dS||ddSdSrdrg©r7r,r&r&r'r ¶s   cCs,t|ƒ}t|ƒ}|dkr tdƒ‚||dS)Nrrerfrgrhr&r&r'r Ìs r(c CsÞt|ƒ}t|ƒ}|dkr"tdƒ‚n|dkr2|dS||d}||fD]}t|ttfƒrFtd|ƒ‚qFz||d}Wn(tk ržt|ƒt|ƒd}YnXt||ƒ}t |||ƒ}|}||d} |||d|| S)Nrrer(rfzexpected number but got %r) r5rQrrbÚstrÚbytesrFrErTrW) r7Zintervalr,rAÚobjÚLÚl1Úl2ZcfÚfr&r&r'rßs&      cCsHt|ƒ}t|ƒ d¡}z|ddWStk rBtdƒd‚YnXdS)Nr(rzno mode for empty data)r[r"Ú most_commonÚ IndexErrorr)r7Zpairsr&r&r'r s cCs@tt|ƒƒ ¡}tt|tdƒd�dgfƒ\}}tttdƒ|ƒƒS)Nr()Úkeyr)r"r[rpÚnextrr!r\r3)r7ZcountsZmaxcountZ mode_itemsr&r&r'r 5s éÚ exclusive)r,Úmethodc CsL|dkrtdƒ‚t|ƒ}t|ƒ}|dkr0tdƒ‚|dkr¢|d}g}td|ƒD]N}|||}||||}||||||d||} | | ¡qN|S|dk�r:|d}g}td|ƒD]r}|||}|dkrÞdn||dkrò|dn|}||||}||d||||||} | | ¡qÂ|Std|›�ƒ‚dS)Nr(zn must be at least 1rfz"must have at least two data pointsZ inclusiveruzUnknown method: )rr5rQÚrangeÚappendrM) r7r,rvZldÚmÚresultrSÚjZdeltaZ interpolatedr&r&r'rls4 $   $$ csˆˆdk r,t‡fdd„|Dƒƒ\}}}||fSt|ƒ‰t‡fdd„|Dƒƒ\}}}t‡fdd„|Dƒƒ\}}}||dt|ƒ8}||fS)Nc3s|]}|ˆdVqdS©rfNr&ra©Úcr&r'r-®sz_ss..c3s|]}|ˆdVqdSr|r&rar}r&r'r-±sc3s|]}|ˆVqdSr)r&rar}r&r'r-´srf)r>rrQ)r7r~r:r=r9ÚUZtotal2Zcount2r&r}r'Ú_ss¥sr€cCsLt|ƒ|krt|ƒ}t|ƒ}|dkr,tdƒ‚t||ƒ\}}t||d|ƒS)Nrfz*variance requires at least two data pointsr(©r[r\rQrr€rP)r7Úxbarr,r:Ússr&r&r'r»s& cCsHt|ƒ|krt|ƒ}t|ƒ}|dkr,tdƒ‚t||ƒ\}}t|||ƒS)Nr(z*pvariance requires at least one data pointr�)r7Úmur,r:rƒr&r&r'rês# cCs8t||ƒ}z | ¡WStk r2t |¡YSXdSr))rrr?r@)r7r‚Úvarr&r&r'rs  cCs8t||ƒ}z | ¡WStk r2t |¡YSXdSr))rrr?r@)r7r„r…r&r&r'r &s  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ÚrZnumZdenrAr&r&r'Ú_normal_dist_inv_cdf9sd  ÿÿþþýýüüûûúúùùÿÿþþýýüüûûúúù  ÿÿþþýýüüûûúúùÿÿþþýýüüûûúúù ÿÿþþýýüüûûúúùÿÿþþýýüüûûúúù r�c@søeZdZdddœZd7dd„Zedd „ƒZd d œd d „Zdd„Zdd„Z dd„Z d8dd„Z dd„Z e dd„ƒZe dd„ƒZe dd„ƒZe dd „ƒZe d!d"„ƒZd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„ZeZd/d0„ZeZd1d2„Zd3d4„Zd5d6„Zd S)9rz(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)rrErŽr�)Úselfr„rŠr&r&r'Ú__init__�s zNormalDist.__init__cCs.t|ttfƒst|ƒ}t|ƒ}||t||ƒƒSr))rbr\Útuplerr)Úclsr7r‚r&r&r'Ú from_samples”szNormalDist.from_samplesN)ÚseedcsB|dkrtjn t |¡j‰|j|j‰‰‡‡‡fdd„t|ƒDƒS)Ncsg|]}ˆˆˆƒ‘qSr&r&©r*rS©Úgaussr„rŠr&r'Ú  sz&NormalDist.samples..)Úrandomr˜ZRandomrŽr�rw)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�rArr&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�rAr&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_cdfrtcs‡‡fdd„tdˆƒDƒS)Ncsg|]}ˆ |ˆ¡‘qSr&)rŸr–©r,r�r&r'r™Èsz(NormalDist.quantiles..r()rw)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œ) rbrrFr�rŽrrrrrrrž) r�ÚotherÚXÚYZX_varZY_varZdvZdmrRÚbÚx1Úx2r&r&r'ÚoverlapÊs"   (  zNormalDist.overlapcCs|jSr)©rŽ©r�r&r&r'rìszNormalDist.meancCs|jSr)r¨r©r&r&r'rñszNormalDist.mediancCs|jSr)r¨r©r&r&r'r öszNormalDist.modecCs|jSr)©r�r©r&r&r'rÿszNormalDist.stdevcCs |jdS)Nrœrªr©r&r&r'rszNormalDist.variancecCs8t|tƒr&t|j|jt|j|jƒƒSt|j||jƒSr)©rbrrŽ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__%szNormalDist.__mul__cCst|j||jt|ƒƒSr)r¯r¬r&r&r'Ú __truediv__-szNormalDist.__truediv__cCst|j|jƒSr)©rrŽr�©r¥r&r&r'Ú__pos__5szNormalDist.__pos__cCst|j |jƒSr)r²r³r&r&r'Ú__neg__9szNormalDist.__neg__cCs || Sr)r&r¬r&r&r'Ú__rsub__?szNormalDist.__rsub__cCs&t|tƒstS|j|jko$|j|jkSr))rbrÚNotImplementedrŽr�r¬r&r&r'Ú__eq__Es zNormalDist.__eq__cCst|j|jfƒSr))ÚhashrŽr�r©r&r&r'Ú__hash__KszNormalDist.__hash__cCs t|ƒj›d|j›d|j›d�S)Nz(mu=z, sigma=ú))r2r#rŽr�r©r&r&r'Ú__repr__OszNormalDist.__repr__)rˆr‡)rt)r#r$r%Ú __slots__r‘Ú classmethodr”r›r�ržrŸrr§Úpropertyrrr rrr­r®r°r±r´rµÚ__radd__r¶Ú__rmul__r¸rºr¼r&r&r&r'rƒsDþ   "     )r�Ú__main__)Úisclose)ÚaddÚsubÚmulÚtruediv)Úrepeaté ééûÿÿÿéi †z Test z with another NormalDist:é z with a constant:éz Test constant with ú:cCsdSr)r&)ÚG1ÚG2r&r&r'Ú assert_closesrÒi—ÿÿÿéIéé/g`@@cCsg|] }|t‘qSr&©Úsrar&r&r'r™ˆsr™cCsg|] }|t‘qSr&rÖrar&r&r'r™‹scCsg|] }|t‘qSr&rÖrar&r&r'r™ŽscCsg|] }|t‘qSr&rÖrar&r&r'r™‘scCsg|]\}}||‘qSr&r&©r*rAÚyr&r&r'r™”scCsg|]\}}||‘qSr&r&rØr&r&r'r™˜s)r)rX)r()N)N)N)N)N)QÚ__all__r@rcršZ fractionsrÚdecimalrÚ itertoolsrZbisectrrrrrrrrrr Úoperatorr!Ú collectionsr"rMrr>rBr0r.rPrTrWrZrrrrrr r rr r rr€rrrr r�rZ _statisticsÚ ImportErrorr#rÃrÄrÅrÆrÇrÈZdoctestZg1Zg2r,r›rÐrÑÚfuncÚprintr”r3ZconstrÒr¢r£r×rGÚzipZtestmodr&r&r&r'ÚTsÒï   (   :  / 779  / ,  JQ          ÿ ÿ