o
    dp                     @   sb  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Z ddl	m
  mZ ddlZddlmZmZ ddlmZ dd Zejdd Zd	d
 Z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 dd Z!dd Z"ejj ej dd  Z#d!d" Z$ejj ej ejj%e&d#d$d%d& Z'd'd( Z(d)d* Z)d+d, Z*d-d. Z+dS )/z1
Testing that we work in the downstream packages
    N)IntCastingNaNError)	DataFrameSeriesc                 C   s4   zt | W S  ty   td|  d Y d S w )Nzskipping as z not available)	importlibimport_moduleModuleNotFoundErrorpytestskip)name r   a/var/www/html/visualizacion-main/env/lib/python3.10/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   c              
   C   st   t d}z-td}td}dd lm} |j| dd}|jd us"J | d us*J W t d| d S t d| w )Ncompute.use_numexprtoolzdaskr   r   npartitions)	pd
get_optionr   dask.dataframe	dataframefrom_pandasr   compute
set_option)r   olduser   r   ddddfr   r   r   	test_dask%   s   
r!   c               
   C   s   t d} z8td}dd lm} dd lm} tg d}|j|dd}|	|
 }t	|}t|| W t d|  d S t d|  w )Nr   r   r   )g      ?gffffff@g@g      @r   r   )r   r   r   
dask.arrayarrayr   r   r   r   fixr   nptmassert_series_equalr   )r   r   dar   sdsresultexpectedr   r   r   test_dask_ufunc7   s   

r-   r   c                  C   s  dd l m}  tg d}| |}t|}t|}t|| d}tj	t
|d t|dd W d    n1 s:w   Y  d}tj|d< tj	t|d t|dd W d    n1 s^w   Y  tj	t|d t|dd W d    d S 1 s|w   Y  d S )	Nr   )r   g      @r   z)Trying to coerce float values to integersmatchi8)dtypez9Cannot convert non-finite values \(NA or inf\) to integerr   )r   r   r%   r#   
from_arrayr   r&   r'   r   raises
ValueErrornanr   )r   arrdarrresr,   msgr   r   r   7test_construct_dask_float_array_int_dtype_match_ndarrayK   s$   

"r:   c                 C   s   t d}|  d usJ d S )Nxarray)r   	to_xarray)r   r;   r   r   r   test_xarrayf   s   r=   cftimer;   z0.21.0c                  C   sP   dd l } dd l}|jddd}| ddd}|j|gdd}d}||ks&J d S )	Nr   0001r   )periodsi  r   nearest)method)r>   r;   cftime_rangeDatetimeGregorianget_indexer)r>   r;   timeskeyr+   r,   r   r   r   test_xarray_cftimeindex_nearestl   s   rH   c                   C      t tjdddg d S )N-OO-cimport pandas
subprocess
check_callsys
executabler   r   r   r   test_oo_optimizablez   s   rR   c                   C   rI   )NrJ   rK   z_import pandas as pd, pickle; pickle.loads(pickle.dumps(pd.date_range('2021-01-01', periods=1)))rM   r   r   r   r   )test_oo_optimized_datetime_index_unpickle   s   rS   c                  C   sL   t d} dd lm} dd lm  m} |jddj}|jd|d	  d S )Nstatsmodelsr   GuerryHistDataz$Lottery ~ Literacy + np.log(Pop1831))data)
r   statsmodels.apiapistatsmodels.formula.apiformuladatasetsget_rdatasetrW   olsfit)rT   smsmfr   r   r   r   test_statsmodels   s
   rb   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   )r\   svmgMbP?g      Y@)gammaC)
r   rc   r\   rd   load_digitsSVCr_   rW   targetpredict)rc   r\   rd   digitsclfr   r   r   test_scikit_learn   s    rn   c                  C   s&   t d} | d}| jdd|d d S )Nseaborntipsday
total_bill)xyrW   )r   load_dataset	stripplot)ro   rp   r   r   r   test_seaborn   s   
rw   c                  C   s   t jddd td} d S )N
pandas_gbqz0.10.0)
minversion)r   importorskipr   )rx   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)r3   reasonc                  C   s   t d} | dddd d S )Npandas_datareaderFquandlz
2017-01-01z
2017-02-01)r   
DataReader)r}   r   r   r   test_pandas_datareader   s   r   c                 C   s,   t d}|j| }| }t||  d S )Npyarrow)r   Tabler   	to_pandasr&   assert_frame_equal)r   r   tabler+   r   r   r   test_pyarrow   s   r   c                 C   sN   t d}|| }|j||jd}t| | |j||jd}t| | d S )Nyaml)Loader)r   dumploadr   r&   r   UnsafeLoader)r   r   dumpedloadedloaded2r   r   r   test_yaml_dump   s   
r   c                  C   s   t jdd} | ddg}t| }d|v rtd | dddg}d	|  d
}tjtj	|d}tj|tj
d W d    n1 sCw   Y  |jj }dD ]}||v sXJ qPd S )N\/rK   z$import pandas;print(pandas.__file__)zsite-packagesz pandas installed as site packagez-sSErL   zCommand '\['zD', '-sSE', '-c', 'import pandas'\]' returned non-zero exit status 1.r.   )stderr)numpypytzdateutil)rP   rQ   replacerN   check_outputdecoder   r	   r3   CalledProcessErrorSTDOUTvaluestdout)pyexecalloutputr9   excr
   r   r   r    test_missing_required_dependency   s   


r   c               
   C   s   t d} zQt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|  d S t 	d|  w )Nr   r   r   r   r   abcd   FT)r   r   r   )index)
r   r   r   r"   r#   r   locr&   r   r   )r   r   r(   ddar   r+   r,   r   r   r   *test_frame_setitem_dask_array_into_new_col   s   
r   ),__doc__r   rN   rP   r   r%   r   pandas.errorsr   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   r   r   pandas._testing_testingr&   r   fixturer   r!   r-   
skip_if_nor:   r=   rH   rR   rS   marknetworkrb   rn   rw   r{   xfailr4   r   r   r   r   r   r   r   r   r   <module>   sV    



	$