
    Vfd                     f   d dl mZ d dlZd dlmZmZ d dlZd dl	m
Z
mZmZmZ g dZ eej                  Ze ed          k     Ze ed          k     Ze ed          k     Z	 d d	lmZ n# e$ r	 d d	lmZ Y nw xY w	 d d
lmZ n# e$ r	 d dlmZ Y nw xY wej        ej        fZ	 d dlmZ n# e$ r d dl m!c mZ Y nw xY wej"        Z"ej#        Z#ej$        Z$dej%        de&fdZ'dej%        de&fdZ(	 d dl)m*Z+ n# e$ r d dl,Z,ddZ-d Z+Y nw xY wdej        dej.        fdZ/d Z0d Z1dee2         fdZ3dS )    )OptionalN)Versionparse)AppenderSubstitutioncache_readonlydeprecate_kwarg)assert_frame_equalassert_index_equalassert_series_equaldata_klassesfrequenciesis_numeric_dtypetestingr   r	   r   r   is_int_indexis_float_indexmake_dataframeto_numpyPD_LT_1_0_0get_cached_funcget_cached_doccall_cached_func	PD_LT_1_4PD_LT_2z1.0.0z1.3.99z1.9.99)r   )offsets)r   indexreturnc                     t          | t          j                  oBt          | j        t          j                  o#t	          j        | j        t          j                  S )z
    Check if an index is integral

    Parameters
    ----------
    index : pd.Index
        Any numeric index

    Returns
    -------
    bool
        True if is an index with a standard integral type
    )
isinstancepdIndexdtypenp
issubdtypeintegerr   s    9lib/python3.11/site-packages/statsmodels/compat/pandas.pyr   r   A   sF     	5"(## 	3u{BH--	3M%+rz22    c                     t          | t          j                  oBt          | j        t          j                  o#t	          j        | j        t          j                  S )z
    Check if an index is floating

    Parameters
    ----------
    index : pd.Index
        Any numeric index

    Returns
    -------
    bool
        True if an index with a standard numpy floating dtype
    )r   r    r!   r"   r#   r$   floatingr&   s    r'   r   r   V   sF     	5"(## 	4u{BH--	4M%+r{33r(   )makeDataFrameOc                    t          j        t          t          j        t          j        z             t           j        df          }t           j                            || t          j	        |          z            
                    t           j        | f                              |          }||S |                    |          S )z4
        Generate an array of byte strings.
           )r"   )size)r#   arrayliststringascii_lettersdigitsstr_randomchoiceprodviewreshapeastype)ncharsr/   r"   rands_charsretvals        r'   rands_arrayr?   p   s     h%566rwl
 
 
 I[v/EFFT27F#$$WT]] 	
 =M=='''r(   c                      dd} t          j        t          d          d          fdt          j        d|          D             }t          j        |          S )z@
        Simple verion of pandas._testing.makeDataFrame
              
   )r<   r/   N)namec                 x    i | ]6}|t          j        t          j                                                 7S )r&   )r    Seriesr#   r6   randn).0cr   ns     r'   
<dictcomp>z"make_dataframe.<locals>.<dictcomp>   sH     
 
 
 ry++5999
 
 
r(   )r    r!   r?   r2   ascii_uppercase	DataFrame)kdatar   rJ   s     @@r'   r   r      s|     BQ777dCCC
 
 
 
 
+BQB/
 
 

 |D!!!r(   poc                 Z    	 |                                  S # t          $ r
 | j        cY S w xY w)z
    Workaround legacy pandas lacking to_numpy

    Parameters
    ----------
    po : Pandas obkect

    Returns
    -------
    ndarray
        A numpy array
    )r   AttributeErrorvalues)rP   s    r'   r   r      s>    {{}}   ys    **c                 @    	 | j         S # t          $ r
 | j        cY S w xY wN)fgetrR   funccached_props    r'   r   r      s:            s   	 c                 0    t          |           } ||i |S rU   )r   )rY   argskwargsfs       r'   r   r      s$    $$A1dfr(   c                 *    t          |           j        S rU   )r   __doc__rX   s    r'   r   r      s    ;''//r(   )r,   )4typingr   numpyr#   packaging.versionr   r   pandasr    pandas.util._decoratorsr   r   r   r	   __all____version__versionr   r   r   pandas.api.typesr   ImportErrorpandas.core.commonpandas.tseriesr   r   rF   rM   r   pandas.testingr   pandas.util.testingutilr
   r   r   r!   boolr   r   pandas._testingr+   r   r2   r?   ndarrayr   r   r   strr    r(   r'   <module>rt      s!             , , , , , , , ,                 0 %

(((ggh'''	
GGH%%
%41111111 4 4 4333333334+5555555 + + +********+ 	2<(*$$$$$$$ * * *)))))))))))* / / 1  T    *"( t    *""???????  "  "  "MMM( ( ( ("" " " " ") "F "*    &       
08C= 0 0 0 0 0 0sH   %A, ,A:9A:>B BB%B, ,B=<B=0C7 7D
	D
