
    M/Ph                     (   d dl Zd dlmZmZ d dlZd dlZd dl	Z	d dl
mZ d dlmZmZmZ e	j                            d          Z e	j        d          d             Zd	 Zg d
g dg dgZ ej        g ddefdefddg          Z ej        g ddefdefg          Z ej        g dg dg dge          Z ej        g dg dg dg          Zd Zd Zd Z d Z!d Z"dd d!d" e#d#  e$d$d%          D                       fd& e#d'  e$d$d%          D                       ffZ%e	j        &                    d(e%d) e%D             *          d+             Z'd, Z(e	j        )                     e*ed-           d./          d0             Z+d1 Z,d2 Z-dS )3    N)assert_almost_equalassert_equal)SimpleTable)Descriptiondescribe	sign_testz=ignore::DeprecationWarning:statsmodels.stats.descriptivestatsfunction)scopec                      t           j                            d                              d          } t	          j        t          j        d          dz  d          }t	          j        | |d          S )Nr   d   
   categorydtypeab)nprandomRandomStatestandard_normalpdSeriesarange	DataFramer   s     m/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/stats/tests/test_descriptivestats.pydfr      s^    
	a  0055A
	")C..2%Z888A<aa(()))    c                  x    g d} t          | d          \  }}t          |dd           t          |d           d S )N)g333333@gffffff@      @g@g333333@      @g@gffffff@g@gffffff@g333333@r    )mu0gf?      )r   r   r   )xMps      r   test_sign_testr(      sM    ???AQC   DAq 7A&&&Ar   )   BobTg333333?))   JohnFg      ?)   AliceTg333333?))      r   aa)r0      r   bb)r0   r$   r   ccalphabeta)gammaz|S1)deltaz|S2r   ))r/   r0   )r0   r2   )r0   r$   )r/   r0   r$   r$   )r0   r2   r2   r2   )r0   r$   r$   r2   )r/   r0   r2   r$   r#      )r9   r#   r$   r2   r0   r/   )	   r:   r:   r:   r:   r:   c                     t          j        t          j        d          t          j        t          j        d          dz            dd          } t          j        t                    5  t          | dg           d d d            n# 1 swxY w Y   t          j        t                    5  t          | d	           d d d            n# 1 swxY w Y   t          j        t                    5  t          | d
dg           d d d            n# 1 swxY w Y   t          j        t                    5  t          | g d           d d d            n# 1 swxY w Y   t          j        t                    5  t          | d           d d d            n# 1 swxY w Y   t          j        t                    5  t          | dd           d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   r   unknownstatsg333333ӿ)r5   r   percentiles)r      r-   r   ntopF)numericcategorical)
r   r   r   emptyr   r   pytestraises
ValueErrorr   r   s    r   test_description_exceptionsrL   <   s5   	hsmm")BIcNNR,?"@"@AA
 
 
B 
z	"	" + +Byk****+ + + + + + + + + + + + + + +	z	"	" $ $Bd####$ $ $ $ $ $ $ $ $ $ $ $ $ $ $	z	"	" . .BQH----. . . . . . . . . . . . . . .	z	"	" 6 6B$4$4$455556 6 6 6 6 6 6 6 6 6 6 6 6 6 6	z	"	" ! !BR    ! ! ! ! ! ! ! ! ! ! ! ! ! ! !	z	"	" : :B59999: : : : : : : : : : : : : : : : : :sl   ,BBB/CCC1DDD5EEE9FFF;GG"Gc                    t          |           }t          |j        t          j                  sJ t          |j        t          j                  sJ t          |j        t          j                  sJ t          |                                t                    sJ t          |                                	                                t                    sJ dt          |          v sJ t          | j                  }t          |j        t          j                  sJ t          |j        t          j                  sJ t          |j        t          j                  sJ t          |                                t                    sJ t          |                                	                                t                    sJ dt          |          v sJ t          | j                  }t          |j        t          j                  sJ t          |j        t          j                  sJ t          |j        t          j                  sJ t          |                                t                    sJ t          |                                	                                t                    sJ dt          |          v sJ d S )NDescriptive)r   
isinstanceframer   r   rE   rF   summaryr   as_textstrr   r   r   ress     r   test_description_basicrV   O   s8   
b//Cci.....ck2<00000cor|44444ckkmm[11111ckkmm++--s33333CHH$$$$
bd

Cci.....ck2<00000cor|44444ckkmm[11111ckkmm++--s33333CHH$$$$
bd

Cci.....ck2<00000cor|44444ckkmm[11111ckkmm++--s33333CHH$$$$$$r   c                     t          j        ddd          }t          | |          }g d}t          |j        j                                        |           d S )Nr!   g     @W@   r?   ).nobsmissingmeanstd_errupper_cilower_cistdiqr
iqr_normalmad
mad_normalcoef_varrangemaxminskewkurtosisjarque_berajarque_bera_pvalmode	mode_freqmediandistincttop_1top_2top_3top_4top_5freq_1freq_2freq_3freq_4freq_5z7.0%z14.1%z21.3%z28.5%z35.6%z42.8%z50.0%z57.1%z64.3%z71.5%z78.6%z85.8%z93.0%)r   linspacer   r   rP   indextolist)r   r@   rU   r>   s       r   test_odd_percentilesr}   i   s`    +c4,,K
bk
2
2
2C, , ,E ''))511111r   c                 H    t          | d          }d|j        j        v sJ d S )N   rC   top_15)r   rP   r{   rT   s     r   test_large_ntopr   w   s/    
br
"
"
"Csy&&&&&&r   c                     t          |           }t          | d          }|j        j        j        |j        j        j        k     sJ |j        j        j        |j        j        j        k    sJ d S )NT)use_t)r   rP   r   r^   r]   )r   rU   res_ts      r   
test_use_tr   |   sc    
b//C$'''E;=!CIK$88888;=!CIK$8888888r   )ci)r^   r]   )rj   )rj   rk   )rl   )rl   rm   topc                     g | ]}d | S )top_ .0is     r   
<listcomp>r      s    333!:!::333r   r/   r9   freqc                     g | ]}d | S )freq_r   r   s     r   r   r      s    555AKAKK555r   statc                     g | ]
}|d          S )r   r   )r   ss     r   r   r      s    .E.E.Eqt.E.E.Er   )idsc                     d t           j        D             }|                    |d                    t          | |          }|d         D ]}||j        j        vsJ d S )Nc                     g | ]}|S r   r   )r   sts     r   r   z&test_special_stats.<locals>.<listcomp>   s    ======r   r   r=   r/   )r   default_statisticsremoverP   r{   )r   r   	all_statsrU   vals        r   test_special_statsr      sw    ==k<===IT!W
b	
*
*
*CAw * *#)/)))))* *r   c                 Z   t           j        | d<   t          |           }|j        j                                        }|j        d         dk    sJ d|v sJ d|v sJ t           j        | d<   t          | j                  }|j                                        }|j        d         dk    sJ d S )Ncr   r0   rZ   rY   )r   nanr   rP   r   dropnashape)r   rU   droppeds      r   test_empty_columnsr      s    fBsG
b//Cik  ""G=q    WfBsG
bd

Ci  G=q      r   NAzMust support NA)reasonc                    t          j        t          j        d                    | d<   t          j        t          j        d          t          j                              | d<   t          j        | j        | j        d d d         df<   t           j        | j        | j        d d d         df<   t          |           }t          j
                            |j        j        |j        j                   d S )Ng      Y@r   r   r   dr0   )r   r   r   r   
Int64Dtyper   locr{   r   r   testingassert_allcloserP   r   r   rT   s     r   test_extension_typesr      s    i	%(())BsGi	#bmoo>>>BsG!#BF28CCaC=#!#BF28CCaC=#
b//CJsy{CIK88888r   c                     t           j                            t          | d                   j        j        d         t          j                            | d                              dS )zQ
    Test the standard error of the mean matches result from scipy.stats.sem
    r   r\   N)	r   r   r   r   rP   r   scipyr>   semrK   s    r   test_std_errr      sW     JBsG"&y13      r   c                     t           j                            t          |           t	          |           j                   d S )N)r   r   assert_frame_equalr   r   rP   rK   s    r   test_describer      s/    J!!(2,,B0EFFFFFr   ).numpyr   numpy.testingr   r   pandasr   scipy.statsr   rH   statsmodels.iolib.tabler   "statsmodels.stats.descriptivestatsr   r   r   markfilterwarnings
pytestmarkfixturer   r(   data5arrayfloatintdata1data2data3data4rL   rV   r}   r   r   tuplere   SPECIALparametrizer   r   skipifhasattrr   r   r   r   r   r   <module>r      sD       ; ; ; ; ; ; ; ;          / / / / / /          [''C 

 j!!!* * "!*   	 	===	%			 	 	 	gu%5$G	 	 	 	,,,lll;5III$$$&8&8&8:L:L:LMNN: : :&% % %42 2 2' ' '
9 9 9 %8#
EE33uuQ{{333445UU55q!555667 .E.EW.E.E.EFF* * GF*! ! ! D)))2CDD9 9 ED9  G G G G Gr   