U
    md                     @   s  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 ddddd	d
dddddddddddddddgZeejZeedk Zeedk Zeedk Zzd dlmZ W n  ek
r   d dlmZ Y nX zd dlmZ W n" ek
r   d dlmZ Y nX ejejfZzd dlmZ W n( ek
rJ   d dl m!  mZ Y nX ej"Z"ej#Z#ej$Z$ej%e&d d!dZ'ej%e&d d"dZ(zd d#l)m*Z+ W n0 ek
r   d dl,Z,d.d%d&Z-d'd Z+Y nX ejej.d(d)dZ/d*d Z0d+d Z1ee2 d,d-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                 C   s*   t | tjo(t | jtjo(t| 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    r%   R/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/statsmodels/compat/pandas.pyr   A   s
    c                 C   s*   t | tjo(t | jtjo(t| 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"   Zfloatingr$   r%   r%   r&   r   V   s
    )makeDataFrameOc                 C   sf   t jttjtj t jdfd}t jj|| t 	| d
t j| f|}|dkrX|S ||S dS )z4
        Generate an array of byte strings.
           )r    )sizeN)r!   arrayliststringascii_lettersdigitsZstr_randomchoiceprodviewZreshapeZastype)ncharsr*   r    Zrands_charsretvalr%   r%   r&   rands_arrayp   s     r6   c                     sF   dd} t jtdddd  fddtjd|  D }t |S )	z@
        Simple verion of pandas._testing.makeDataFrame
              
   )r4   r*   N)namec                    s$   i | ]}|t jtj d qS )r$   )r   Seriesr!   r0   Zrandn).0cr   nr%   r&   
<dictcomp>   s    z"make_dataframe.<locals>.<dictcomp>)r   r   r6   r-   ascii_uppercase	DataFrame)kdatar%   r>   r&   r      s    )por   c                 C   s*   z
|   W S  tk
r$   | j Y S X dS )z
    Workaround legacy pandas lacking to_numpy

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

    Returns
    -------
    ndarray
        A numpy array
    N)r   AttributeErrorvalues)rE   r%   r%   r&   r      s    
c                 C   s(   z| j W S  tk
r"   | j Y S X d S N)fgetrF   funccached_propr%   r%   r&   r      s    c                 O   s   t | }|||S rH   )r   )rL   argskwargsfr%   r%   r&   r      s    )r   c                 C   s
   t | jS rH   )r   __doc__rK   r%   r%   r&   r      s    )r(   )4typingr   numpyr!   Zpackaging.versionr   r   Zpandasr   Zpandas.util._decoratorsr   r   r   r   __all____version__versionr   r   r   Zpandas.api.typesr   ImportErrorZpandas.core.commonZpandas.tseriesr   r   r;   rB   r   Zpandas.testingr   Zpandas.util.testingutilr	   r
   r   r   boolr   r   Zpandas._testingr'   r   r-   r6   Zndarrayr   r   r   strr   r%   r%   r%   r&   <module>   st   

