
    Mh)                        S r SSKrSSKrSSKrSSKrSSKrSSKJr  SSK	J
s  Jr  SSKrSSKJrJrJrJr  SSKJr  SSKJrJr  \R2                  S 5       rS rS rS	 rS
 rS r\R@                  RB                  S 5       r"\R@                  RB                  S 5       r#S r$S r%S r&S r'\R@                  RQ                  S5      S 5       r)S r*\R@                  RB                  S 5       r+S r,S r-\R2                  " SS\R\                  " S\R^                  " S5      S9\R\                  " S\R^                  " S5      S9/S9S 5       r0\R@                  Rc                  S S!S"/5      S# 5       r2S&S$ jr3S% r4g)'z1
Testing that we work in the downstream packages
    N)IntCastingNaNError)	DataFrameDatetimeIndexSeriesTimedeltaIndex)DatetimeArrayTimedeltaArrayc                       [        S/ SQ05      $ )NA         )r        N/var/www/html/env/lib/python3.13/site-packages/pandas/tests/test_downstream.pydfr      s    c9%&&r   c                 V   [         R                  " S5      n [        R                  " S5        [        R                  " S5      nUR	                  U SS9nUR
                  c   eUR                  5       c   e [         R                  " SU5        g ! [         R                  " SU5        f = f)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1F5G$  !12nnRQn/uu   {{}(((
+V4+V4s   AB B(c                     [         R                  " S5      n  [        R                  " S5      n[        R                  " S5      n[	        / SQ5      nUR                  USS9nUR                  U5      R                  5       n[        R                  " U5      n[        R                  " XV5        [         R                  " SU 5        g ! [         R                  " SU 5        f = f)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1F5  .  !12'(^^A1^-##%66!9
v0
+V4+V4s   BC Cc                  v   [         R                  " S5      n [        R                  " / SQ5      nU R	                  U5      n[        U5      n[        U5      n[        R                  " X45        Sn[         R                  " [        US9   [        USS9  S S S 5        Sn[        R                  US'   [         R                  " [        US9   [        USS9  S S S 5        [         R                  " [        US9   [        USS9  S S S 5        g ! , (       d  f       N|= f! , (       d  f       NL= f! , (       d  f       g = f)	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VVCF	)	5t4  
6 
)	5s$ 
6	5 
.	-
 
6	5 
6	5s$   DD4D*
D
D'*
D8c                 V    [         R                  " S5        U R                  5       c   eg )Nxarray)r   r   	to_xarray)r   s    r   test_xarrayrD   ^   s"    
!<<>%%%r   c                      [         R                  " S5      n [         R                  " S5      nUR                  SSS9nU R                  SSS5      nUR	                  U/SS	9nSnXE:X  d   eg )
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   ss      *F  *F2E

"
"4A
.CuY7FHr   c                  T    [         R                  " [        R                  SSS/5        g )N-OO-cimport pandas
subprocess
check_callsys
executabler   r   r   test_oo_optimizablerZ   p   s     3>>5$HIr   c                  T    [         R                  " [        R                  SSS/5        g )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   s*     NNU	

r   c                      [         R                  " S5      n [        [        S5      [        S5      [        SS5      S.5      nU R	                  SUS9R                  5         g )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      sQ    


7
8C	!H%(uS#O
B GG2G<@@Br   c                     [         R                  " S5        SSKJn Jn  U R                  5       nUR                  SSS9nUR                  UR                  S S UR                  S S 5        UR                  UR                  SS  5        g )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      sr    
	"
 !!#F
'''
'CGGFKKfmmCR01KKBC !r   c                      [         R                  " S5      n [        [        R                  " SSSS9[        S5      S.5      nU R                  SSUS	9  g )
Nseaborn2023Dr^   )freqrH   )day
total_billr}   r~   )xyrd   )r   r   r   r   
date_rangere   	stripplot)ry   tipss     r   test_seabornr      sM    !!),Gf3:%PQ(SD D9r   c                  0    [         R                  " S5        g )Npandas_datareader)r   r   r   r   r   test_pandas_datareaderr      s    
+,r   z0ignore:Passing a BlockManager:DeprecationWarningc                     [         R                  " S5      nUR                  R                  U 5      nUR	                  5       n[
        R                  " X05        g )Npyarrow)r   r   Tabler   	to_pandasr)   assert_frame_equal)r   r   tabler.   s       r   test_pyarrowr      s@    !!),GMM%%b)E__F&%r   c                    [         R                  " S5      nUR                  U 5      nUR                  X!R                  S9n[
        R                  " X5        UR                  X!R                  S9n[
        R                  " X5        g )Nyaml)Loader)r   r   dumploadr   r)   r   UnsafeLoader)r   r   dumpedloadedloaded2s        r   test_yaml_dumpr      se    v&DYYr]FYYvkkY2F"%ii'8'8i9G"&r   c                     [         R                  R                  SS5      n U SS/n[        R                  " U5      R                  5       nSU;   a  [        R                  " S5        U SSS/nS	U  S
3n[        R                  " [        R                  US9 n[        R                  " U[        R                  S9  S S S 5        WR                  R                  R                  5       nS H
  nXR;   a  M
   e   g ! , (       d  f       NC= f)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      s     NN""4-E
 4?@D$$T*113F& 67
 641D w + 	+ 
 
z44C	@CZ->->? 
A YY$$&F-~~ .	 
A	@s   $C66
Dc                     [         R                  " S5      n  [        R                  " S5      nUR	                  SS/5      n[        SSS/05      nX#S'   X#S'   SUR                  S	S
/S4'   UR                  S/S S 24   n[        S/S/S/S.S/S9n[        R                  " XE5        [         R                  " SU 5        g ! [         R                  " SU 5        f = f)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1F5  .hh1vc3Z()33%(t}c!"QC5uA3?sK
f/
+V4+V4s   BB? ?Cc                       " S S5      n U " 5       n[        [        S5      5      nUR                  U5      [        L d   eX!-   UL d   eg )Nc                       \ rS rSrSrS rSrg)%test_pandas_priority.<locals>.MyClass   i  c                     U $ )Nr   )selfothers     r   __radd__.test_pandas_priority.<locals>.MyClass.__radd__   s    Kr   r   N)__name__
__module____qualname____firstlineno____pandas_priority__r   __static_attributes__r   r   r   MyClassr      s    "	r   r   r   )r   re   __add__NotImplemented)r   leftrights      r   test_pandas_priorityr      sJ      9D58E==.000<4r   
memoryviewr7   daskr&   )marksrB   )paramsc                 Z   [         R                  " / SQ[         R                  S9nU R                  nUS:X  a  [	        U5      nX4$ US:X  a  [        R                  " SU5      nX4$ US:X  a"  SSKnUR                  R                  U5      nX4$ US	:X  a  SSKnUR                  U5      nUW4$ )
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     ((9BHH
-C==D|# 9 
{{3$ 9 
zz$ 9 
	||C 9r   r6   M8[ns]m8[ns]c                 ^   Uu  p#[         [        S.U    nUR                   S3n[        R                  " [
        US9   U" U5      nS S S 5        UR                  X0S9n[        R                  " UW5        [        U[        5      (       d^  [        R                  [        R                  S.U    nU" U5      R                  nU" U5      R                  n[        R                  " Xv5        [        [         S.U    n	U	" U5      nU	" U5      n[        R"                  " Xv5        g ! , (       d  f       N= f)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   )  s     IC"n
=e
DC,,67H		#	#M	Bs8 
C2F##FH5dJ'' ..BOODUKc:##
) '.A%HGS\Ft}H&+# 
C	Bs   	D
D,c                     [         R                  " S5        [        / SQ/ SQS.5      n U R                  5       nUR	                  5       nSS/nX#:X  d   e[        / SQSS9nUR                  5       nUR                  S:X  d   eg)	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}     ./II67E		0	0	2B""$HsJ!!!

%C

,
,
.C88s??r   c                      [         R                  " S5      n U R                  / SQ5      n[        R                  " USS9n[        / SQSS S9n[        R                  " X#5        g )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   [  sW    			X	&B
,,y
!C^^Cd+F	

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