U
    /e                     @   s0  d dl Z d dlZd dlZd dlZd dlZd dlmZ eej	Z
e
edkZe
edkZe
edkZe
edkZe
edkZe
edkZe
ed	kZe
ed
kZe
edkZe
jdkZd dlmZ dd Zdd Zdd Zdd Zdd Zd'ddZd(ddZdd Z d d! Z!e j"d"d# Z#e$e$e%d$d%d&Z&dS ))    N)Versionz1.0.4z1.1.0z1.2.0z1.2.1z1.3.0z1.3.1z1.3.3z1.4.0z1.5.0   c                 O   sT   t j| |f|| tjj| js2t|  dtjj|jsPt| dd S )Nz is not categorical dtype)tmZassert_extension_array_equalpdapitypesZis_categorical_dtypeZdtypeAssertionError)leftrightargskwargs r   :/tmp/pip-unpacked-wheel-dbjnr7gq/dask/dataframe/_compat.pyassert_categorical_equal   s    r   c                 C   sH   t | }t |}tj|| | |  }||  }tj|| d S N)r   ZisnanptestingZassert_array_equal)r	   r
   Zleft_naZright_naZ
left_validZright_validr   r   r   assert_numpy_array_equal"   s    



r   c                  C   s4   t jdd} ttjd d }tj| |tddS )N      ABCDindexcolumns)r   randomZrandnliststringascii_lettersr   	DataFrame)datar   r   r   r   makeDataFrame,   s    r    c                  C   s   t  } t | _| S r   )r    makeDateIndexr   )r   r   r   r   makeTimeDataFrame2   s    r"   c                   C   s
   t  d S )NA)r"   r   r   r   r   makeTimeSeries8   s    r$   r   Bc                 C   s   t jd| |dS )N2000periodsfreq)r   
date_rangekr)   r   r   r   r!   <   s    r!   Dc                 C   s   t jd| |dS )Nz1 dayr'   )r   Ztimedelta_ranger+   r   r   r   makeTimedeltaIndex@   s    r.   c                  C   s4   t  } | j}t|dktj|}tj|| j| jdS )N   r   )	r    valuesr   wherenanr   r   r   r   )dfr   r   r   r   makeMissingDataframeD   s    r4   c               	   C   sD   t dddddgdddddgdd td	D t jd
d	dd} | S )Ng        r/   r      r   r   c                 S   s   g | ]}d | qS )Zfoor   ).0ir   r   r   
<listcomp>P   s     z&makeMixedDataFrame.<locals>.<listcomp>   z
2009-01-01)r(   )r#   r%   Cr-   )r   r   ranger*   )r3   r   r   r   makeMixedDataFrameK   s    r<   c                	   c   s:   t r0t  tjddtd d V  W 5 Q R X nd V  d S )Nignorez$The default value of numeric_only in)messagecategory)PANDAS_GT_150warningscatch_warningsfilterwarningsFutureWarningr   r   r   r   check_numeric_only_deprecationW   s    
rE   )abreturnc                 C   s(   t s t| tjt|tjkr dS | |kS )NF)PANDAS_GT_130
isinstancer   ZCategoricalDtype)rF   rG   r   r   r   dtype_eqf   s     rK   )r   r%   )r   r-   )'
contextlibr   rA   Znumpyr   Zpandasr   Zpackaging.versionr   __version__ZPANDAS_VERSIONZPANDAS_GT_104ZPANDAS_GT_110ZPANDAS_GT_120ZPANDAS_GT_121rI   ZPANDAS_GT_131ZPANDAS_GT_133ZPANDAS_GT_140r@   majorZPANDAS_GT_200Zpandas.testingr   r   r   r   r    r"   r$   r!   r.   r4   r<   contextmanagerrE   typeboolrK   r   r   r   r   <module>   s:   






