
    g)                        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
c mZ ddlZddlmZmZmZmZ ddlmZ ddlmZmZ ej        d             Zd Zd Zd	 Zd
 Zd Zej         j!        d             Z"ej         j!        d             Z#d Z$d Z%d Z&d Z'ej         (                    d          d             Z)d Z*ej         j!        d             Z+d Z,d Z- ej        dd ej.        d ej/        d                     ej.        d ej/        d                    g          d             Z0ej         1                    d d!d"g          d#             Z2d'd%Z3d& Z4dS )(z1
Testing that we work in the downstream packages
    N)IntCastingNaNError)	DataFrameDatetimeIndexSeriesTimedeltaIndex)DatetimeArrayTimedeltaArrayc                  (    t          dg di          S )NA         )r        h/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/pandas/tests/test_downstream.pydfr      s    c999%&&&r   c                 L   t          j        d          }	 t          j        d           t          j        d          }|                    | d          }|j        J |                                J 	 t          j        d|           d S # t          j        d|           w xY w)Ncompute.use_numexprtoolzdask.dataframer   npartitions)pd
get_optionpytestimportorskipfrom_pandasr   compute
set_option)r   olduseddddfs       r   	test_daskr$   !   s     ]011F5G$$$ !122nnRQn//u   {{}}((((
+V44444+V4444s   AB B#c                     t          j        d          } 	 t          j        d          }t          j        d          }t	          g d          }|                    |d          }|                    |                                          }t          j        |          }t          j
        ||           t          j        d|            d S # t          j        d|            w xY w)Nr   
dask.arrayr   )g      ?gffffff@g@g      @r   r   )r   r   r   r   r   r   fixr   nptmassert_series_equalr    )r!   dar"   sdsresultexpecteds          r   test_dask_ufuncr0   1   s     ]011F5 .. !122'''((^^A1^--##%%6!99
vx000
+V44444+V4444s   B C C$c                     t          j        d          } t          j        g d          }|                     |          }t          |          }t          |          }t          j        ||           d}t          j        t          |          5  t          |d           d d d            n# 1 swxY w Y   d}t          j
        |d<   t          j        t          |          5  t          |d           d d d            n# 1 swxY w Y   t          j        t          |          5  t          |d           d d d            d S # 1 swxY 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(   array
from_arrayr   r)   r*   raises
ValueErrornanr   )r"   arrdarrresr/   msgs         r   7test_construct_dask_float_array_int_dtype_match_ndarrayr@   D   s    
	-	.	.B
(;;;

C==D
,,Cc{{H3))) 6C	z	-	-	- ! !t4    ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! GCVCF	)	5	5	5 ! !t4    ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 
)	5	5	5    s$                                   s6   B..B25B2%DD
D)EEEc                 Z    t          j        d           |                                 J d S )Nxarray)r   r   	to_xarray)r   s    r   test_xarrayrD   ^   s-    
!!!<<>>%%%%%r   c                      t          j        d          } t          j        d          }|                    dd          }|                     ddd          }|                    |gd	          }d}||k    sJ d S )
NcftimerB   0001r   )periodsi  r   nearest)method)r   r   cftime_rangeDatetimeGregorianget_indexer)rF   rB   timeskeyr.   r/   s         r   test_xarray_cftimeindex_nearestrP   d   s     **F **F22E

"
"4A
.
.CuY77FHXr   c                  J    t          j        t          j        dddg           d S )N-OO-cimport pandas
subprocess
check_callsys
executabler   r   r   test_oo_optimizablerZ   p   s&     3>5$HIIIIIr   c                  J    t          j        t          j        dddg           d S )NrR   rS   z_import pandas as pd, pickle; pickle.loads(pickle.dumps(pd.date_range('2021-01-01', periods=1)))rU   r   r   r   )test_oo_optimized_datetime_index_unpickler\   v   s9     NU	

 
 
 
 
r   c                      t          j        d          } t          t          d          t          d          t          dd          d          }|                     d|                                           d S )Nzstatsmodels.formula.api   d   i   )LotteryLiteracyPop1831z$Lottery ~ Literacy + np.log(Pop1831))data)r   r   r   rangeolsfit)smfr   s     r   test_statsmodelsri      sn    

7
8
8C	!HH%((uS#OO
 
B GG2G<<@@BBBBBr   c                  8   t          j        d           ddlm} m} |                                 }|                    dd          }|                    |j        d d         |j	        d d                    |
                    |j        dd                     d S )Nsklearnr   )datasetssvmgMbP?g      Y@)gammaC)r   r   rk   rl   rm   load_digitsSVCrg   rd   targetpredict)rl   rm   digitsclfs       r   test_scikit_learnrw      s    
	"""       
 !!##F
'''
'
'CGGFKfmCRC0111KKBCC !!!!!r   c                      t          j        d          } t          t          j        ddd          t          d          d          }|                     dd|	           d S )
Nseaborn2023Dr^   )freqrH   )day
total_billr}   r~   )xyrd   )r   r   r   r   
date_rangere   	stripplot)ry   tipss     r   test_seabornr      sg    !),,Gf3:::%PQ((SS D D99999r   c                  .    t          j        d           d S )Npandas_datareader)r   r   r   r   r   test_pandas_datareaderr      s    
+,,,,,r   z0ignore:Passing a BlockManager:DeprecationWarningc                     t          j        d          }|j                            |           }|                                }t          j        ||            d S )Npyarrow)r   r   Tabler   	to_pandasr)   assert_frame_equal)r   r   tabler.   s       r   test_pyarrowr      sO    !),,GM%%b))E__F&"%%%%%r   c                    t          j        d          }|                    |           }|                    ||j                  }t          j        | |           |                    ||j                  }t          j        | |           d S )Nyaml)Loader)r   r   dumploadr   r)   r   UnsafeLoader)r   r   dumpedloadedloaded2s        r   test_yaml_dumpr      s|    v&&DYYr]]FYYvdkY22F"f%%%iit'8i99G"g&&&&&r   c                     t           j                            dd          } | ddg}t          j        |                                          }d|v rt          j        d           | dddg}d	|  d
}t          j        t          j	        |          5 }t          j        |t          j
                   d d d            n# 1 swxY w Y   |j        j                                        }dD ]}||v sJ 	d S )N\/rS   z$import pandas;print(pandas.__file__)zsite-packagesz pandas installed as site packagez-sSErT   zCommand '\['zD', '-sSE', '-c', 'import pandas'\]' returned non-zero exit status 1.r2   )stderr)numpypytzdateutil)rX   rY   replacerV   check_outputdecoder   skipr9   CalledProcessErrorSTDOUTvaluestdout)pyexecalloutputr?   excnames         r    test_missing_required_dependencyr      sb    N""4--E
 4?@D$T**1133F&  6777
 641D	+ 	+ 	+ 	+ 
 
z4C	@	@	@ @CZ->????@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ Y$$&&F-  v~~~~~ s   !B==CCc                     t          j        d          } 	 t          j        d          }|                    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          }t          j        ||           t          j	        d|            d S # t          j	        d|            w xY w)Nr   r&   r   r   abcr_   FT)r   r   r   )index)
r   r   r   r   r7   r   locr)   r   r    )r!   r+   ddar   r.   r/   s         r   *test_frame_setitem_dask_array_into_new_colr      s    
 ]011F5 ..hh1vc3Z())33%(t}c!"QQQC5uA3??sKKK
fh///
+V44444+V4444s   BC Cc                       G d d          }  |             }t          t          d                    }|                    |          t          u sJ ||z   |u sJ d S )Nc                       e Zd ZdZd ZdS )%test_pandas_priority.<locals>.MyClassi  c                     | S )Nr   )selfothers     r   __radd__z.test_pandas_priority.<locals>.MyClass.__radd__   s    Kr   N)__name__
__module____qualname____pandas_priority__r   r   r   r   MyClassr      s)        "	 	 	 	 	r   r   r   )r   re   __add__NotImplemented)r   leftrights      r   test_pandas_priorityr      s            799D588E==.00004<4r   
memoryviewr7   daskr&   )marksrB   )paramsc                 H   t          j        g dt           j                  }| j        }|dk    rt	          |          }n`|dk    rt          j        d|          }nD|dk    rddl}|j                            |          }n|d	k    rddl}|                    |          }||fS )
z
    Fixture giving a numpy array and a parametrized 'data' object, which can
    be a memoryview, array, dask or xarray object created from the numpy array.
    r   r5   r   r7   ir   r   NrB   )r(   r7   int64paramr   
dask.arrayrB   	DataArray)requestr<   r   rd   r   xrs         r   array_likesr     s     (999BH
-
-
-C=D|#	{3$$	z$$			||C  9r   r6   M8[ns]m8[ns]c                 t   |\  }}t           t          d|          }|j         d}t          j        t
          |          5   ||          }d d d            n# 1 swxY w Y   |                    ||           }t          j        ||           t          |t                    sTt          j        t          j        d|          } ||          j        } ||          j        }t          j        ||           t          t           d|          }	 |	|          } |	|          }t          j        ||           d S )N)r   r   z.__init__ is deprecatedr2   r5   )r   r	   r   r)   assert_produces_warningFutureWarning_from_sequenceassert_extension_array_equal
isinstancer   r   to_datetimeto_timedeltar7   assert_equalr   r   assert_index_equal)
r6   r   r<   rd   clsdepr_msgr/   r.   funcidx_clss
             r   test_from_obscure_arrayr   )  st    IC"n
=
=e
DC,777H		#M	B	B	B  3s88              E22F#FH555dJ'' * .BODDUKc4::#
))) '.AA%HGWS\\Fwt}}H&(+++++s    AAAreturnc                  *   t          j        d           t          g dg dd          } |                                 }|                                }ddg}||k    sJ t          g dd          }|                                }|j        dk    sJ dS )	z
    Test some basic methods of the dataframe consortium standard.

    Full testing is done at https://github.com/data-apis/dataframe-api-compat,
    this is just to check that the entry point works as expected.
    dataframe_api_compatr   )   r^      )r   r   r   r   )r   N)r   r   r   !__dataframe_consortium_standard__get_column_namesr   __column_consortium_standard__r   )df_pdr   result_1
expected_1sercols         r   test_dataframe_consortiumr   H  s     .///IIIIII6677E		0	0	2	2B""$$HsJz!!!!

%
%
%C

,
,
.
.C8s??????r   c                      t          j        d          } |                     g d          }t          j        |d          }t          g ddd           }t          j        ||           d S )NrB   r   ns)unit)z1970-01-01 00:00:00.000000001z1970-01-01 00:00:00.000000002z1970-01-01 00:00:00.000000003zdatetime64[ns])r6   r|   )r   r   r   r   r   r   r)   r   )r   r<   r.   r/   s       r   test_xarray_coerce_unitr   [  s    		X	&	&B
,,yyy
!
!C^Cd+++F	
 	
 	

   H &(+++++r   )r   N)5__doc__r7   rV   rX   r   r(   r   pandas.errorsr   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   r   r   r   r   pandas._testing_testingr)   pandas.core.arraysr   r	   fixturer   r$   r0   r@   rD   rP   mark
single_cpurZ   r\   ri   rw   r   r   filterwarningsr   r   r   r   r   r   
skip_if_nor   parametrizer   r   r   r   r   r   <module>r     s:         



      , , , , , , ) ) ) ) ) ) ) ) )                             ' ' '5 5 5 5 5 5&     4& & &	 	 	 J J J
   C C C
" 
" 
": : :- - - NOO& & PO&
' 
' 
' ! ! !H5 5 5,       V=2=#>#>???X]R]8%<%<===	    2 8X"677, , 87,<   &, , , , ,r   