a
    j=ic:&  ã                	   @   s  d Z ddlZddlZddlZddlZddlZddlm  m	Z
 ddlZddlmZmZ ddlmZ ej d¡Zdd„ Zejdd„ ƒZej d	¡d
d„ ƒZej d	¡ej d¡dd„ ƒƒZe
 d¡dd„ ƒZdd„ Ze
 d¡e
 dd¡dd„ ƒƒZdd„ Zdd„ Zejj ej ej d¡ej d¡ej d	¡ej d¡ej d ¡d!d"„ ƒƒƒƒƒƒƒZ!ej d¡d#d$„ ƒZ"ejj ej ej d%¡d&d'„ ƒƒƒZ#d(d)„ Z$ejj ej ejj%e&d*d+d,d-„ ƒƒƒZ'd.d/„ Z(ej d0¡ej d1¡d2d3„ ƒƒZ)d4d5„ Z*d6d7„ Z+d8d9„ Z,d:d;„ Z-dS )<z1
Testing that we work in the downstream packages
é    N)Ú	DataFrameÚSerieszDignore:distutils Version classes are deprecated.*:DeprecationWarningc                 C   s6   zt  | ¡W S  ty0   t d| › d¡ Y n0 d S )Nzskipping as z not available)Ú	importlibÚimport_moduleÚModuleNotFoundErrorÚpytestÚskip)Úname© r
   úm/home/droni/.local/share/virtualenvs/DPS-5Je3_V2c/lib/python3.9/site-packages/pandas/tests/test_downstream.pyr      s    r   c                   C   s   t dg d¢iƒS )NÚA©é   é   é   )r   r
   r
   r
   r   Údf$   s    r   z,ignore:.*64Index is deprecated:FutureWarningc              
   C   sv   t  d¡}zXtdƒ}tdƒ}dd lm} |j| dd}|jd usDJ ‚| ¡ d usTJ ‚W t  d|¡ nt  d|¡ 0 d S )Núcompute.use_numexprÚtoolzÚdaskr   r   ©Znpartitions)	ÚpdÚ
get_optionr   Údask.dataframeÚ	dataframeÚfrom_pandasr   ÚcomputeÚ
set_option)r   Úolduser   r   ÚddZddfr
   r
   r   Ú	test_dask)   s    
r   z,ignore:The __array_wrap__:DeprecationWarningc               
   C   sŒ   t  d¡} zntdƒ}dd lm} dd lm} tg d¢ƒ}|j|dd}| 	|¡ 
¡ }t 	|¡}t ||¡ W t  d| ¡ nt  d| ¡ 0 d S )Nr   r   r   )g      ø?gffffff@gš™™™™™@g      @r   r   )r   r   r   Ú
dask.arrayÚarrayr   r   r   r   Zfixr   ÚnpÚtmÚassert_series_equalr   )r   r   Údar   ÚsZdsÚresultÚexpectedr
   r
   r   Útest_dask_ufunc=   s    

r)   r   c                  C   sö   dd l m}  t g d¢¡}|  |¡}t|ƒ}t|ƒ}t ||¡ t|dd}t|dd}t ||¡ d}tj|d< tj	t
|d t|dd}W d   ƒ n1 s¢0    Y  tj	t
|d t|dd}W d   ƒ n1 sÜ0    Y  t ||¡ d S )Nr   )r   g      @r   Úi8)Zdtypez>In a future version, passing float-dtype values containing NaNr   ©Úmatch)r   r   r"   r!   Z
from_arrayr   r#   r$   ÚnanÚassert_produces_warningÚFutureWarning)r   ZarrÚdarrÚresr(   Úmsgr
   r
   r   Ú7test_construct_dask_float_array_int_dtype_match_ndarrayV   s     

**r3   c                 C   s   t dƒ}|  ¡ d usJ ‚d S )NÚxarray)r   Z	to_xarray)r   r4   r
   r
   r   Útest_xarrayp   s    r5   Úcftimer4   z0.10.4c                  C   s~   dd l } dd l}|jddd}|  ddd¡}tjtddd	 |j|d
d}W d   ƒ n1 s`0    Y  d}||kszJ ‚d S )Nr   Z0001r   )ZperiodsiÐ  r   Ú
deprecatedF)r,   Zcheck_stacklevelZnearest)Úmethod)r6   r4   Zcftime_rangeZDatetimeGregorianr#   r.   r/   Zget_loc)r6   r4   ÚtimesÚkeyr'   r(   r
   r
   r   Útest_xarray_cftimeindex_nearestw   s    ÿ,r;   c                   C   s   t  tjdddg¡ d S )Nú-OOú-cúimport pandas©Ú
subprocessÚ
check_callÚsysÚ
executabler
   r
   r
   r   Útest_oo_optimizableˆ   s    rD   c                   C   s   t  tjdddg¡ d S )Nr<   r=   z_import pandas as pd, pickle; pickle.loads(pickle.dumps(pd.date_range('2021-01-01', periods=1)))r?   r
   r
   r
   r   Ú)test_oo_optimized_datetime_index_unpickle   s    ûÿrE   z(ignore:pandas.util.testing is deprecatedzignore:can't:ImportWarningzGignore:Using or importing the ABCs from 'collections:DeprecationWarningz5ignore:`np.MachAr` is deprecated.*:DeprecationWarningc                  C   sL   t dƒ} dd lm} dd lm  m} |j dd¡j}|jd|d 	¡  d S )NÚstatsmodelsr   ZGuerryZHistDataz$Lottery ~ Literacy + np.log(Pop1831))Údata)
r   Zstatsmodels.apiÚapiZstatsmodels.formula.apiZformulaÚdatasetsZget_rdatasetrG   ZolsÚfit)rF   ÚsmZsmfr   r
   r
   r   Útest_statsmodelsœ   s
    rL   c                  C   sf   t dƒ} ddlm}m} | ¡ }|jddd}| |jd d… |jd d… ¡ | 	|jdd … ¡ d S )NÚsklearnr   )rI   Úsvmgü©ñÒMbP?g      Y@)ÚgammaÚCéÿÿÿÿ)
r   rM   rI   rN   Zload_digitsZSVCrJ   rG   ÚtargetZpredict)rM   rI   rN   ÚdigitsZclfr
   r
   r   Útest_scikit_learnµ   s     rT   Úignorec                  C   s&   t dƒ} |  d¡}| jdd|d d S )NÚseabornÚtipsÚdayZ
total_bill)ÚxÚyrG   )r   Zload_datasetZ	stripplot)rV   rW   r
   r
   r   Útest_seabornÅ   s    
r[   c                  C   s   t jddd tdƒ} d S )NÚ
pandas_gbqz0.10.0)Z
minversion)r   Zimportorskipr   )r\   r
   r
   r   Útest_pandas_gbqÏ   s    r]   z|The Quandl API key must be provided either through the api_key variable or through the environmental variable QUANDL_API_KEY)ÚraisesÚreasonc                  C   s   t dƒ} |  dddd¡ d S )NÚpandas_datareaderÚFZquandlz
2017-01-01z
2017-02-01)r   Z
DataReader)r`   r
   r
   r   Útest_pandas_datareaderÕ   s    	rb   c                  C   sR   t dƒ} |  g d¢|  g d¢g d¢¡dœ¡}|ddg jj tg d¢ƒ¡sNJ ‚d S )NÚ	geopandasr   )ÚcolÚgeometryrd   re   )g      ð?g       @g      @)r   ZGeoDataFrameZpoints_from_xyre   rY   Úequalsr   )rc   Zgdfr
   r
   r   Útest_geopandasâ   s
    ÿrg   z"ignore:can't resolve:ImportWarningz4ignore:RangeIndex.* is deprecated:DeprecationWarningc                 C   s,   t dƒ}|j | ¡}| ¡ }t || ¡ d S )NÚpyarrow)r   ÚTabler   Z	to_pandasr#   Úassert_frame_equal)r   rh   Útabler'   r
   r
   r   Útest_pyarrowì   s    rl   c                 C   sP   t dƒ}| dd¡}t|ƒ}| s0t ||¡s0J ‚t|d ƒ}t ||¡sLJ ‚d S )NÚtorchi¼  é@   r   )r   Zrandnr   r"   Zshares_memoryr   )Zusing_array_managerrm   Z
val_tensorr   Zserr
   r
   r   Útest_torch_frame_constructionö   s    ro   c                 C   sN   t dƒ}| | ¡}|j||jd}t | |¡ |j||jd}t | |¡ d S )NÚyaml)ÚLoader)r   ÚdumpÚloadrq   r#   rj   ZUnsafeLoader)r   rp   ZdumpedZloadedZloaded2r
   r
   r   Útest_yaml_dump  s    
rt   c                  C   s¶   t j dd¡} | ddg}t |¡ ¡ }d|v r8t d¡ | dddg}d	| › d
}tjtj	|d }tj|tj
d W d   ƒ n1 s†0    Y  |jj ¡ }dD ]}||v s J ‚q d S )Nú\ú/r=   z$import pandas;print(pandas.__file__)zsite-packagesz pandas installed as site packagez-sSEr>   zCommand '\['zD', '-sSE', '-c', 'import pandas'\]' returned non-zero exit status 1.r+   )Ústderr)ÚnumpyZpytzZdateutil)rB   rC   Úreplacer@   Úcheck_outputÚdecoder   r   r^   ÚCalledProcessErrorÚSTDOUTÚvalueÚstdout)ZpyexeÚcallÚoutputr2   Úexcr	   r
   r
   r   Ú test_missing_required_dependency  s    


ÿ.rƒ   c               
   C   s¾   t  d¡} z tdƒ}dd lm} | ddg¡}tdddgiƒ}||d< ||d< d	|jd
dgdf< |jdgd d …f }tdgd	gdgdœdgd}t ||¡ W t  	d| ¡ nt  	d| ¡ 0 d S )Nr   r   r   r   r   ÚaÚbÚcéd   FT)r„   r…   r†   )Úindex)
r   r   r   r    r!   r   Úlocr#   rj   r   )r   r   r%   Zddar   r'   r(   r
   r
   r   Ú*test_frame_setitem_dask_array_into_new_col5  s    
rŠ   ).Ú__doc__r   r@   rB   rx   r"   r   Zpandas.util._test_decoratorsÚutilZ_test_decoratorsÚtdZpandasr   r   r   Zpandas._testingZ_testingr#   ÚmarkÚfilterwarningsZ
pytestmarkr   Zfixturer   r   r)   Z
skip_if_nor3   r5   r;   rD   rE   ÚnetworkrL   rT   r[   r]   ZxfailÚ
ValueErrorrb   rg   rl   ro   rt   rƒ   rŠ   r
   r
   r
   r   Ú<module>   s|   ÿ










þþ


þ


$