o
    0Gf?                     @   s   d Z ddlZddlZddlmZ ddlmZ dddZe	dkrqddl
mZ ejj Zejejdd	e_eejZeejdddd
f ZejdrsedZeejZeeejejfZeedd ejjD Z dS dS dS )z,
Glue for returning descriptive statistics.
    N)stats)	sign_testc              	      sJ  t |  |du r dddf  |du r" jdkr" dddf   jd dkrdi d|dddt dt d	 d	 d
t d d	 d  dt  ddt	 
  d t	   d d  d  dt dt dt dt j d d	ddt j    d d	ddt   }|dt fdddD  7 }t d	\}}t \}}tt  \}}	|d||||||	7 }|S  jd dkr!d tj }t jd D ]1}
 dd|
f }|
t|| | dt	|
  d t	|  d tj d!}|d"| 7 }q|S td#)$a  
    Prints descriptive statistics for one or multiple variables.

    Parameters
    ----------
    data: numpy array
        `x` is the data

    v: list, optional
        A list of the column number of variables.
        Default is all columns.

    axis: 1 or 0
        axis order of data.  Default is 0 for column-ordered data.

    Examples
    --------
    >>> descstats(data.exog,v=['x_1','x_2','x_3'])
    N   a  
    ---------------------------------------------
    Univariate Descriptive Statistics
    ---------------------------------------------

    Var. Name   %(name)12s
    ----------
    Obs.          %(nobs)22i  Range                  %(range)22s
    Sum of Wts.   %(sum)22s  Coeff. of Variation     %(coeffvar)22.4g
    Mode          %(mode)22.4g  Skewness                %(skewness)22.4g
    Repeats       %(nmode)22i  Kurtosis                %(kurtosis)22.4g
    Mean          %(mean)22.4g  Uncorrected SS          %(uss)22.4g
    Median        %(median)22.4g  Corrected SS            %(ss)22.4g
    Variance      %(variance)22.4g  Sum Observations        %(sobs)22.4g
    Std. Dev.     %(stddev)22.4g
    namesumzN/AZnobsmoder   Znmodemeanmedianrange(z, )ZvariancestddevZcoeffvarZskewnesskurtosisZuss   )axisssZsobsa  

    Percentiles
    -------------
    1  %%          %12.4g
    5  %%          %12.4g
    10 %%          %12.4g
    25 %%          %12.4g

    50 %%          %12.4g

    75 %%          %12.4g
    90 %%          %12.4g
    95 %%          %12.4g
    99 %%          %12.4g
    c                    s   g | ]}t  |qS  )r   Zscoreatpercentile).0Zperxr   =lib/python3.10/site-packages/statsmodels/sandbox/descstats.py
<listcomp>U   s    zdescstats.<locals>.<listcomp>)	r      
      2   K   Z   _   c   ao  

    Tests of Location (H0: Mu0=0)
    -----------------------------
    Test                Statistic       Two-tailed probability
    -----------------+-----------------------------------------
    Student's t      |  t {:7.5f}   Pr > |t|   <{:.4f}
    Sign             |  M {:8.2f}   Pr >= |M|  <{:.4f}
    Signed Rank      |  S {:8.2f}   Pr >= |S|  <{:.4f}

    z
    Var. Name   |     Obs.        Mean    Std. Dev.           Range
    ------------+--------------------------------------------------------)r   Zobsr   r   r
   z;%(name)15s %(obs)9i %(mean)12.4g %(stddev)12.4g %(range)20szdata not understood)npZarrayndimshapelenr   r   r   r	   strminmaxvarZstdZ	variationZskewr   r   tupleZttest_1sampr   ZwilcoxonZsqueezeformatoslinesepr
   
ValueError)dataZcolsr   ZdesctZp_tMZp_MSZp_Sr'   Zxvkwargsr   r   r   	descstats   s   

"



$(r2   __main__F)Zprependr   z./Econ724_PS_I_Data.csvc                 C   s   g | ]}t | qS r   )data2)r   _r   r   r   r      s    r   )Nr   )!__doc__r*   Znumpyr    Zscipyr   Z"statsmodels.stats.descriptivestatsr   r2   __name__Zstatsmodels.apiZapiZsmZdatasetsZlongleyloadr-   Zadd_constantZexogZsum1Zsum1apathisfileZ
recfromcsvr4   ZaheZsum2Zcolumn_stackZyrseducZsum3ZdtypenamesZsum4r   r   r   r   <module>   s,    
	 


