
    >h1W                        S SK JrJrJr  S SKJr  S SKJr  S SKJ	r	  S SK
rS SKr\(       a  S SKJr  OS rS SKJr  S S	KJr  S S
KJr  S SKJr  S SKJrJr  S SKJrJrJrJr  Sr \RB                  " \ 5      S-  r"S r#S9S jr$S9S jr%S9S jr&S9S jr'S9S jr(S9S jr)\$\RT                  \RV                  \RX                  \RZ                  \%\R\                  \)\&\(\'S.r/S r0S r1S9S jr2Sr3Sr4\4 V s/ s H  o \3;  d  M
  U PM     sn r5\3\6" \55      -   r7 " S S5      r8\" \8Rr                  5      r:\:Rw                  S\" SS S!/5      5        \:Rw                  S"/ 5        \:Rw                  S#S$/S%/4S&/S'/4/5        \" \<" \:5      5       S:S(S(S)S*\ S+S,.S-\\Rz                  \R|                  \R~                  4   S.\	\<   S/\@S0\@S1\AS2\@S3\	\\B\A4      S4\@S5\R~                  4S6 jjj5       rC " S7 S85      rDgs  sn f );    )PD_LT_2Appenderis_numeric_dtype)SP_LT_19)Union)SequenceN)is_categorical_dtypec                 6    [        U [        R                  5      $ N)
isinstancepdCategoricalDtypedtypes    uC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\statsmodels/stats/descriptivestats.pyr	   r	      s    %!4!455    )stats)SimpleTable)jarque_bera)cache_readonly)	Docstring	Parameter)
array_like	bool_like
float_likeint_like)	      
      2   K   Z   _   c   g      Y@c                 D    U R                  5       U R                  5       -
  $ r   )maxmin)dfs    r   pd_ptpr*   "   s    668bffhr   c                 N    S[         R                  " U 5      -
  R                  US9$ )Nr   axis)npisnansum)xr-   s     r   nancountr2   &   s"    O  d ++r   c                 T    [         R                  " XS9[         R                  " XS9-
  $ Nr,   )r.   nanmaxnanminarrr-   s     r   nanptpr9   *   s    99S$ryy'@@@r   c                 2    [         R                  " U S-  US9$ )N   r,   )r.   nansumr7   s     r   nanussr=   .   s    99SAXD))r   c                 6    [         R                  " U [        US9$ r4   )r.   nanpercentilePERCENTILESr7   s     r   r?   r?   2   s    C488r   c                 ,    [         R                  " XSS9$ Nomit)r-   
nan_policy)r   kurtosisr7   s     r   nankurtosisrF   6   s    >>#V<<r   c                 ,    [         R                  " XSS9$ rB   )r   skewr7   s     r   nanskewnessrI   :   s    ::c88r   )obsmeanstdr'   r(   ptpvarrH   ussrE   percentilesc                 v     [         R                  " U 5      nU$ ! [         a    [        R                  n U$ f = f)z]
wrapper for scipy.stats.kurtosis that returns nan instead of raising Error

missing options
)r   rE   
ValueErrorr.   nanaress     r   	_kurtosisrW   M   s;    nnQ J  ffJ    88c                 v     [         R                  " U 5      nU$ ! [         a    [        R                  n U$ f = f)zY
wrapper for scipy.stats.skew that returns nan instead of raising Error

missing options
)r   rH   rR   r.   rS   rT   s     r   _skewrZ   Z   s:    jjm J  ffJrX   c                 h   [         R                  " U 5      n [         R                  " X:  5      n[         R                  " X:  5      nX#-
  S-  n [        R                  " [        X#5      X#-   S5      R                  nXE4$ ! [         a(    [        R                  " [        X#5      X#-   S5      n XE4$ f = f)a  
Signs test

Parameters
----------
samp : array_like
    1d array. The sample for which you want to perform the sign test.
mu0 : float
    See Notes for the definition of the sign test. mu0 is 0 by
    default, but it is common to set it to the median.

Returns
-------
M
p-value

Notes
-----
The signs test returns

M = (N(+) - N(-))/2

where N(+) is the number of values above `mu0`, N(-) is the number of
values below.  Values equal to `mu0` are discarded.

The p-value for M is calculated using the binomial distribution
and can be interpreted the same as for a t-test. The test-statistic
is distributed Binom(min(N(+), N(-)), n_trials, .5) where n_trials
equals N(+) + N(-).

See Also
--------
scipy.stats.wilcoxon
g       @      ?)	r.   asarrayr0   r   	binomtestr(   pvalueAttributeError
binom_test)sampmu0posnegMps         r   	sign_testrh   g   s    F ::dD
&&
C
&&
C	cA<OOCM39c:AA 4K  <S]CIs;4K<s   -A? ?-B10B1)nobsmissingrK   std_errcirL   iqr
iqr_normalmad
mad_normalcoef_varranger'   r(   rH   rE   r   modemedianrP   )ri   rj   distincttopfreqc                      \ rS rSrSr/ SQr\r\r	\
r SSSSS\SS	.S
\\R                  \R"                  \R$                  4   S\\   S\S\S\S\S\\\\4      S\4S jjjrS\R$                  S\R$                  4S jr\S\R$                  4S j5       r\S\R$                  4S j5       r\S\R$                  4S j5       rS\4S jrS\4S jr Sr!g)Description   a  
Extended descriptive statistics for data

Parameters
----------
data : array_like
    Data to describe. Must be convertible to a pandas DataFrame.
stats : Sequence[str], optional
    Statistics to include. If not provided the full set of statistics is
    computed. This list may evolve across versions to reflect best
    practices. Supported options are:
    "nobs", "missing", "mean", "std_err", "ci", "ci", "std", "iqr",
    "iqr_normal", "mad", "mad_normal", "coef_var", "range", "max",
    "min", "skew", "kurtosis", "jarque_bera", "mode", "freq",
    "median", "percentiles", "distinct", "top", and "freq". See Notes for
    details.
numeric : bool, default True
    Whether to include numeric columns in the descriptive statistics.
categorical : bool, default True
    Whether to include categorical columns in the descriptive statistics.
alpha : float, default 0.05
    A number between 0 and 1 representing the size used to compute the
    confidence interval, which has coverage 1 - alpha.
use_t : bool, default False
    Use the Student's t distribution to construct confidence intervals.
percentiles : sequence[float]
    A distinct sequence of floating point values all between 0 and 100.
    The default percentiles are 1, 5, 10, 25, 50, 75, 90, 95, 99.
ntop : int, default 5
    The number of top categorical labels to report. Default is

Attributes
----------
numeric_statistics
    The list of supported statistics for numeric data
categorical_statistics
    The list of supported statistics for categorical data
default_statistics
    The default list of statistics

See Also
--------
pandas.DataFrame.describe
    Basic descriptive statistics
describe
    A simplified version that returns a DataFrame

Notes
-----
The selectable statistics include:

* "nobs" - Number of observations
* "missing" - Number of missing observations
* "mean" - Mean
* "std_err" - Standard Error of the mean assuming no correlation
* "ci" - Confidence interval with coverage (1 - alpha) using the normal or
  t. This option creates two entries in any tables: lower_ci and upper_ci.
* "std" - Standard Deviation
* "iqr" - Interquartile range
* "iqr_normal" - Interquartile range relative to a Normal
* "mad" - Mean absolute deviation
* "mad_normal" - Mean absolute deviation relative to a Normal
* "coef_var" - Coefficient of variation
* "range" - Range between the maximum and the minimum
* "max" - The maximum
* "min" - The minimum
* "skew" - The skewness defined as the standardized 3rd central moment
* "kurtosis" - The kurtosis defined as the standardized 4th central moment
* "jarque_bera" - The Jarque-Bera test statistic for normality based on
  the skewness and kurtosis. This option creates two entries, jarque_bera
  and jarque_beta_pval.
* "mode" - The mode of the data. This option creates two entries in all tables,
  mode and mode_freq which is the empirical frequency of the modal value.
* "median" - The median of the data.
* "percentiles" - The percentiles. Values included depend on the input value of
  ``percentiles``.
* "distinct" - The number of distinct categories in a categorical.
* "top" - The mode common categories. Labeled top_n for n in 1, 2, ..., ``ntop``.
* "freq" - The frequency of the common categories. Labeled freq_n for n in 1,
  2, ..., ``ntop``.
ri   rj   ru   NT皙?Fr   numericcategoricalalphause_trP   ntopdatar   r~   r   r   r   rP   r   c          	      $	   Un	[        U[        R                  [        R                  45      (       d  [	        USSS9n	U	R
                  S:X  a  [        R                  " U5      n[        US5      n[        US5      n/ n
SnU(       a!  U
R                  [        R                  5        SnU(       a"  U
R                  S5        XS:w  a  S	OS-  nUS-  nU(       d  U(       d  [        S
5      e[        R                  " U5      R                  U
5      U l        U R                  R                  S   S:X  a  [        SU S35      eU R                  R                   Vs/ s H  n[        U5      PM     snU l        U R                  R                   Vs/ s H  n[#        U5      PM     snU l        UbA  U Vs/ s H  o[&        ;  d  M  UPM     nnU(       a  [        SR)                  U5       S35      eUc  [+        [&        5      O
[+        U5      U l        [/        US5      U l        SU R,                  ;   U l        SU R,                  ;   U l        U R2                  (       a8  U R0                  Ss=::  a  [7        U R$                  5      :  a  O  O[        S5      eSS/SS/SS/[9        SU R0                  S-   5       Vs/ s H  nSU 3PM
     sn[9        SU R0                  S-   5       Vs/ s H  nSU 3PM
     snS.nU H]  nUU R,                  ;   d  M  U R,                  R;                  U5      nU R,                  S U UU   -   U R,                  US-   S  -   U l        M_     [	        USSSS9U l        [        R>                  " U R<                  5      U l        [        R@                  " U R<                  5      R                  S   U R<                  R                  S   :w  a  [        S 5      e[        RB                  " U R<                  S!:  5      (       d(  [        RB                  " U R<                  S:*  5      (       a  [        S"5      e[E        US#5      U l#        SUs=:  a  S:  d  O  [        S$5      e[        US%5      U l$        g s  snf s  snf s  snf s  snf s  snf )&Nr   r;   )maxdimr   r~   r    categoryzand z4At least one of numeric and categorical must be Truer   z
Selecting z results in an empty DataFramez, z are not known statisticsr   rv   rw   z"top must be a non-negative integerrs   	mode_frequpper_cilower_cir   jarque_bera_pvaltop_freq_)rs   rl   r   rv   rw   rP   d)r   r   zpercentiles must be distinctd   z.percentiles must be strictly between 0 and 100r   z&alpha must be strictly between 0 and 1r   )%r   r   Series	DataFramer   ndimr   appendr.   numberrR   select_dtypes_datashapedtypesr   _is_numericr	   _is_cat_likeDEFAULT_STATISTICSjoinlist_statsr   _ntop_compute_top_compute_freqr0   rr   index_percentilessortuniqueanyr   _alpha_use_t)selfr   r   r~   r   r   r   rP   r   data_arrinclude	col_typesdtstatundefireplacementskeyidxs                      r   __init__Description.__init__  s    $BLL 9::!$q9H==A99T?DGY/];	NN299%!INN:&?:I&I{F  \\$'55g>
::A!#YK'EF  <@::;L;LM;LR,R0;LM/3zz/@/@
/@ $/@
 &+Ned;M/MTeEN yy'((AB  ).D#$4; 	 dF+
!T[[0#t{{2q!I3t7H7H3I!IABB [)z*)+=>(-aa(@A(@1d1#J(@A*/4::>*BC*BQuQC[*BC
  Cdkk!kk'',KK%"3'(kk#'),-    'q
 GGD$5$5699T&&'--a0D4E4E4K4KA4NN;<<66$##s*++rvvd6G6G16L/M/MMNN 05}1}EFFw/c N

 O& BCs$   Q9Q>0RR5R
!Rr)   returnc                     UR                   U R                   Vs/ s H  o"UR                  ;   d  M  UPM     sn   $ s  snf r   )locr   r   )r   r)   ss      r   _reorderDescription._reorderd  s/    vv$++?+Qbhhq+?@@?s   <<c                     U R                   nU R                  nUR                  S   S:X  a  U$ UR                  S   S:X  a  U$ [        R                  " X/SS9nU R                  X0R                  R                     5      $ )zl
Descriptive statistics for both numeric and categorical data

Returns
-------
DataFrame
    The statistics
r   r   r,   )r~   r   r   r   concatr   r   columns)r   r~   r   r)   s       r   frameDescription.frameg  sv     ,,&&Q1$N]]1"YY-A6}}R

 2 2344r   c           	         ^$ U R                   R                  SS2U R                  4   nUR                  nUR                  u  p4UR                  5       nUR                  5       nUR                  5       nX-
  R                  5       R                  5       nUR                  5       n	U	R                  US:  ==   UR                  US:     S-  -  ss'   U R                  (       a9  [        R                  " US-
  5      R                  SU R                  S-  -
  5      n
O/[        R                  R                  SU R                  S-  -
  5      n
S nUR!                  U5      R"                  nUR$                  S:  a  ['        U[(        R*                  5      (       aC  [,        R.                  " US   [0        S9n[,        R.                  " US   [,        R2                  S9nO/ n/ nUR4                   H:  nUR                  U   nUR7                  US   5        UR7                  US   5        M<     [,        R8                  " U5      n[,        R8                  " U5      nO[,        R:                  " S5      =pUS:  n[,        R<                  " UR                  S   [,        R>                  5      nUU   UR                  U   -  UU'   Un SS	K J!n  UR                  5       nU Hl  nU" UU   RD                  5      (       d  M  UU   RG                  5       RI                  5       (       d  MG  UU   RK                  [,        R>                  5      UU'   Mn     UR                  S   S:  a$  URO                  S
5      URO                  S5      -
  nOUnS m$UR!                  U$4S jSS9R"                  nUR                  5       n[,        R>                  UR                  US:H  '   UU-  n0 S[(        RP                  " [,        RR                  " U[,        R2                  S9UR                  S   -  US9_SUR                  S   U-
  _SU_SU	_SXzU	-  -   _SXzU	-  -
  _SU_SU_SU_SU_S[U        U5      _SURW                  5       _SURY                  5       _SUS   _SUS    _S!U[,        RZ                  " [        R                  R                  SS
/5      5      -  _S"U[,        R\                  " S[,        R^                  -  5      -  _US   US   [(        RP                  " XS9[(        RP                  " UUS9URa                  5       S#.EnURc                  5        VVs0 s H  u  nnX@Rd                  ;   d  M  UU_M     nnn[(        R*                  " [g        URi                  5       5      U[g        URk                  5       5      S$9nS%U Rd                  ;  a  U$ UR                  S   S:  a2  URO                  U Rl                  S&-  5      Ro                  [0        5      nO&[(        R*                  " U Rl                  S&-  [0        S'9n[,        Rp                  " [,        Rr                  " S&UR4                  -  5      S&UR4                  -  :H  5      (       a2  UR4                   Vs/ s H  n[u        S&U-  5       S(3PM     snUl        OS)nS&n UR4                  n!U(       ae  U S*-  n [,        Rr                  " U UR4                  -  5      n[,        Rp                  " [,        RZ                  " U5      S:  5      (       a  S+nU(       a  Me  [,        Rr                  " U U!-  5      U S&-  -  n!S,[w        [y        U S&-  5      5      S-
   S-3n"S.U" S/3n#U! Vs/ s H  nU#R{                  U5      PM     snUl        U Rd                  UR4                  R}                  5       -   U l2        U R                  [(        R                  " UU/SS095      $ ! [L         a     GNf = fs  snnf s  snf s  snf )1zn
Descriptive statistics for numeric data

Returns
-------
DataFrame
    The statistics of the numeric columns
Nr   r\   r   g      ?r;   c                 2   [        U R                  [        R                  5      (       a  U R                  OU R                  R                  nU R	                  5       R                  US9n[        (       a  0 OSS0n[        R                  " U40 UD6n[        R                  " US   5      (       a  [        US   5      US   4$ US   R                  S   S:  a  U Vs/ s H  n[        U5      PM     sn$ [        R                  [        R                  4$ s  snf )Nr   keepdimsTr   r   )r   r   r.   numpy_dtypedropnato_numpyr   r   rs   isscalarfloatr   rS   )serr   ser_no_missingkwargsmode_resvals         r   _mode"Description.numeric.<locals>._mode  s    !+CIIrxx!@!@CIIciiF[F[E ZZ\222?N#8R*d);Fzz.;F;H{{8A;''Xa[)8A;66{  #a'.67hsc
h7766266>! 8s   Dr   )is_extension_array_dtypeg      ?g      ?c                     [         R                  " U 5      nUR                  S   S:  a  [         R                  4S-  $ [	        U5      $ )Nr   r;      )r.   r]   r   rS   r   )crU   s     r   _safe_jarque_bera.Description.numeric.<locals>._safe_jarque_bera  s8    

1AwwqzA~y1}$q>!r   c                 B   > [        T" U R                  5       5      5      $ r   )r   r   )r1   r   s    r   <lambda>%Description.numeric.<locals>.<lambda>  s    d,QXXZ89r   expand)result_typeri   r   rj   rK   rk   r   r   rL   rm   ro   rq   rr   r'   r(   rH   rE      rn   rp   )r   r   rs   r   rt   )r   r   rP   r   )r   r   %Tr   Fz0.fz{0:z}%r,   )Ar   r   r   r   r   rL   countrK   abscopyr   r   tppfr   normapplyTsizer   r   r   r.   r]   r   int64r   r   
atleast_1demptyfullrS   pandas.api.typesr   r   isnullr   fillnaImportErrorquantiler   onesr*   r'   r(   diffsqrtpirt   itemsr   r   valueskeysr   astypeallfloorintlenstrformattolistr   r   )%r   r)   cols_krL   r   rK   ro   rk   qr   mode_valuesrs   mode_countsr   r   r   r   _dfr   colrm   jbnan_meanrq   resultsvfinal
results_dfpercdupescaler   fmtoutputr   s%                                       @r   r~   Description.numericz  s     ::>>!T-=-=*=>zzxxffh
wwyyoo$$&((*EAI%))EAI"6#"==;;	"&&sT[[1_'<=A

sT[[1_45A
	" hhuo''a+r||44zz+a.> jjQrxxH  &,,C%//#.CKKA'&&s1v. - }}T* mmK8!#!,DaiGGDJJqM2662	$S)EIIcN:	# 	A'')C+BsGMM::3x(,,..#&s8??266#:C  88A;?,,t$s||D'99CC	" XX9x  

! 	 99;&(ffX]#>
BII*RXXa[8
 rxx{U*	

 D
 w
 7{*
 7{*
 3
 3
 3
 
 VBZ
 2668
 2668
  BqE!
" 1#
$ #

d|(D EE%
& #BEE	 22'
( a5 "1IId/9D9iik1
4 #*--/F/$!QQ++5EA/F\\ $d5::<6H

 +88A;?<< 1 1C 78??FD<<d&7&7#&=UKD66"((3+,tzz1ABCC:>**E*3Ss^,A.*EDJDEJJEhhutzz1266"''#,*++ D	 $
 HHUU]+us{;Es3ucz?+A-.a0CC5_F8=>&--,>DJ kkDJJ$5$5$77}}RYY
D'9BCC]  		^ G F ?s6   =3_ 4$_ )_ _0_0_6*_;
_-,_-c                 .   U R                   R                  SS2U R                   Vs/ s H  oPM     sn4   nUR                  S   nUR                  nU Vs0 s H  oX!   R                  SS9_M     nn[        R                  " U Vs0 s H  oXQ   R                  S   _M     sn[        R                  S9n0 n0 nU H  nXQ   n	U	R                  S   U R                  :  aB  U	R                  SU R                   Xq'   [        R                  " U	R                  SS 5      X'   Mf  [        U	R                  5      n
U
S/U R                  [        U
5      -
  -  -  n
XU'   [        U	5      nU[        R                   /U R                  [        U5      -
  -  -  n[        R                  " U5      X'   M     [#        SU R                  S-   5       Vs/ s H  nSU 3PM
     nn[        R$                  " US	XS
9n[#        SU R                  S-   5       Vs/ s H  nSU 3PM
     nn[        R$                  " US	XS
9n[        R                  " [        R&                  " U[        R                  S9UR                  S   -  US9UR                  S   UR)                  5       -
  US.nUR+                  5        VVs0 s H  u  nnX0R,                  ;   d  M  UU_M     nnn[        R$                  " [        UR/                  5       5      U[        UR1                  5       5      S	S9nU R2                  (       a  [        R4                  " UU/SS9nU R6                  (       a  [        R4                  " UU/SS9nU R9                  U5      $ s  snf s  snf s  snf s  snf s  snf s  snnf )zv
Descriptive statistics for categorical data

Returns
-------
DataFrame
    The statistics of the categorical columns
Nr   T)	normalizer   r   r   r   object)r   r   r   r   r   r{   )r   r   r   r,   )r   r   r   r   r   value_countsr   r   r.   r   r   r   r]   ilocr   r   rS   rr   r   r   r   r   r   r   r   r   r   r   r   )r   r  r)   r  r   vcru   rv   rw   singler   freq_valr   r   top_dffreq_dfr
  r  r  r  s                       r   r   Description.categorical  s	    ZZ^^At/@/@A/@/@AABHHQKzzCEF2C27''$'772F99.01bs"'--""b1
 CWF||A$**,!<<$**5JJv{{2A7	6<<(vc#h!677C<RVVH

S](BCCJJx0	  &+1djj1n%=>%=4s%=>cM&+AtzzA~&>?&>5&>?,,t85O II*RXXa[8 xx{RXXZ/ 
 #*--/F/$!QQ++5EA/F\\ uzz|$	

 J#7a@JJ#8qAJ}}Z(([  B G1  ?? Gs)   M8M=N
NN.NNc                 4   U R                   R                  [        5      nUR                  5       R	                  5       R	                  5       (       a  UR                  S5      nUR                   Vs/ s H  n[        U5      PM     nnUR                   Vs/ s H  n[        U5      PM     nn/ nUR                  5        H&  u  pxUR                  U V	s/ s H  oPM     sn	5        M(     S n
[        UUUSSSU
S.0S/[        U5      -  S9$ s  snf s  snf s  sn	f )	z
Summary table of the descriptive statistics

Returns
-------
SimpleTable
    A table instance supporting export to text, csv and LaTeX
r   c                 r    [        U [        5      (       a  U $ U S-  U :X  a  [        [        U 5      5      $ U S $ )Nr   z0.4g)r   r   r   )r  s    r   
_formatter'Description.summary.<locals>._formatterY  s7    !S!!a13q6{"Xr   zDescriptive Statistics	data_fmtsz%s)r   r   r   )headerstubstitletxt_fmt	datatypes)r   r   r  r   r   r   r   r   r   iterrowsr   r   r   )r   r)   r  r   r   r%  r   r  rowr  r!  s              r   summaryDescription.summaryG  s     ZZv&99;??  ""2B$&JJ/JSCJ/%'XX.XcSX.kkmFAKKC(CqC() $	 * dz":;cCIo
 	
 0. )s   0DDD
c                 P    [        U R                  5       R                  5       5      $ r   )r   r+  as_text)r   s    r   __str__Description.__str__i  s    4<<>))+,,r   )
r   r   r   r   r   r   r   r   r   r   r   )"__name__
__module____qualname____firstlineno____doc___int_fmtNUMERIC_STATISTICSnumeric_statisticsCATEGORICAL_STATISTICScategorical_statisticsr   default_statisticsr@   r   r.   ndarrayr   r   r   r   r   boolr   r   r   r   r   r   r~   r   r   r+  r/  __static_attributes__ r   r   ry   ry      sd   Pd /H+3+
  $W0
  3>W0BJJ		2<<78W0 }W0
 W0 W0 W0 W0 eCJ/0W0 W0rA2<< ABLL A 5r|| 5 5$ PD PD PDd 7)R\\ 7) 7)r 
  
D- -r   ry   Returnsr   zDescriptive statistics
AttributeszSee Also)zpandas.DataFrame.describeNzBasic descriptive statistics)ry   Nz;Descriptive statistics class with additional output optionsTr|   Fr   r}   r   r   r~   r   r   r   rP   r   r   c                6    [        U UUUUUUUS9R                  $ )Nr}   )ry   r   )r   r   r~   r   r   r   rP   r   s           r   describerC    s0     	 e	r   c                       \ rS rSrSrS rSrg)Describei  z

Removed.
c                     [        S5      e)NzDescribe has been removed)NotImplementedError)r   datasets     r   r   Describe.__init__  s    !"=>>r   r?  N)r1  r2  r3  r4  r5  r   r>  r?  r   r   rE  rE    s    ?r   rE  )r   r   )Estatsmodels.compat.pandasr   r   r   statsmodels.compat.scipyr   typingr   collections.abcr   numpyr.   pandasr   pandas.core.dtypes.commonr	   scipyr   statsmodels.iolib.tabler   statsmodels.stats.stattoolsr   statsmodels.tools.decoratorsr   statsmodels.tools.docstringr   r   statsmodels.tools.validationr   r   r   r   r@   array	QUANTILESr*   r2   r9   r=   r?   rF   rI   nanmeannanstdr5   r6   nanvarMISSINGrW   rZ   rh   r7  r9  _additionaltupler   ry   r5  dsreplace_blockr   r<  r   r   r=  r   r   rC  rE  )r   s   0r   <module>ra     sk   I I -  $  
>6  / 3 7 <  1HH[!E)	,A*9=9
 JJ99999999 

,^ , H ++T;M/MD+ (%*<< w- w-t {""#   y{-E,FG   r "    11+,	

 ##JK	
	 
#b'   /:


BIIr||3
4C= 	
    %U
+,  \\ .? ?Ys   -	G+:G+