'Vfih* dZddlZddlZddlZddlZddlZddlmZddl m cm Z ddl Zddl mZmZmZmZddlmZddlmZmZddlmZejdZdZd Zd Zd Z d Z!ej"j#d Z$ej"j#dZ%dZ&dZ'dZ(dZ)ej"*ddZ+dZ,ej"j#dZ-dZ.dZ/ejddej0de j1dej0de j1dgd Z2ej"3d!d"d#gd$Z4d(d&Z5d'Z6dS))z1 Testing that we work in the downstream packages N)IntCastingNaNError) DataFrame DatetimeIndexSeriesTimedeltaIndex) DatetimeArrayTimedeltaArray)Versionc(tdgdiS)NA)rKc:\PYTHON\DbComparer\venv\Lib\site-packages\pandas/tests/test_downstream.pydfrs c999% & &&rcLtjd} tjdtjd}||d}|jJ|J tjd|dS#tjd|wxYw)Ncompute.use_numexprtoolzdask.dataframer npartitions)pd get_optionpytest importorskip from_pandasr compute set_option)rolduseddddfs r test_daskr%"s]0 1 1F5G$$$  !1 2 2nnRQn//u   {{}}(((( +V44444 +V4444s AB B#ctjd} tjd}tjd}t gd}||d}||}tj|}tj ||tj d|dS#tj d|wxYw)Nr dask.arrayr)g?gffffff@g @g@rr) rrrrrrfixr nptmassert_series_equalr!)r"dar#sdsresultexpecteds rtest_dask_ufuncr12s]0 1 1F 5   . .  !1 2 2 ''' ( ( ^^A1^ - -##%%6!99 vx000 +V44444 +V4444s B C C$ctjd}tjgd}||}t |}t |}t j||d}tjt|5t |ddddn #1swxYwYd}tj |d<tjt|5t |ddddn #1swxYwYtjt|5t |dddddS#1swxYwYdS) Nr)rg@rz)Trying to coerce float values to integersmatchi8dtypez9Cannot convert non-finite values \(NA or inf\) to integerr) rrr)array from_arrayrr*r+raises ValueErrornanr)r#arrdarrresr0msgs r7test_construct_dask_float_array_int_dtype_match_ndarrayrAEs  - . .B (;;;  C ==  D ,,Cc{{H3))) 6C z - - -!!t4    !!!!!!!!!!!!!!! GC VCF ) 5 5 5!!t4    !!!!!!!!!!!!!!! ) 5 5 5  s$                  s6B..B25B2%DD D)EE E cZtjd|JdS)Nxarray)rr to_xarray)rs r test_xarrayrE_s- !!! <<>> % % % % %rctjd}tjd}|dd}|ddd}||gd }d}||ksJdS) NcftimerC0001r)periodsirnearest)method)rr cftime_rangeDatetimeGregorian get_indexer)rGrCtimeskeyr/r0s rtest_xarray_cftimeindex_nearestrQes   * *F   * *F     2 2E  " "4A . .C   uY  7 7FH X      rcJtjtjdddgdS)N-OO-c import pandas subprocess check_callsys executablerrrtest_oo_optimizabler[qs&3>5$HIIIIIrcJtjtjdddgdS)NrSrTz_import pandas as pd, pickle; pickle.loads(pickle.dumps(pd.date_range('2021-01-01', periods=1)))rVrrr)test_oo_optimized_datetime_index_unpickler]ws9 N  U       rctjd}ttdtdtddd}|d|dS)Nzstatsmodels.formula.apidi)LotteryLiteracyPop1831z$Lottery ~ Literacy + np.log(Pop1831))data)rrrrangeolsfit)smfrs rtest_statsmodelsrjsn  7 8 8C !HH%((uS#OO  BGG 2G<<@@BBBBBrc8tjdddlm}m}|}|dd}||jdd|j dd| |jdddS)Nsklearnr)datasetssvmgMbP?gY@)gammaC) rrrlrmrn load_digitsSVCrhretargetpredict)rmrndigitsclfs rtest_scikit_learnrxs  """  ! ! # #F ''' ' 'CGGFK fmCRC0111KK BCC !!!!!rctjd}ttjdddt dd}|dd| dS) Nseaborn2023Dr_)freqrI)day total_billr~r)xyre)rrrr date_rangerf stripplot)rztipss r test_seabornrsg!),,G  f3:::%PQ((SS  D D99999rc.tjddS)Npandas_datareader)rrrrrtest_pandas_datareaderrs +,,,,,rz0ignore:Passing a BlockManager:DeprecationWarningctjd}|j|}|}t j||dS)Npyarrow)rrTabler to_pandasr*assert_frame_equal)rrtabler/s r test_pyarrowrsO!),,G M % %b ) )E __  F&"%%%%%rctjd}||}|||j}t j|||||j}t j||dS)Nyaml)Loader)rrdumploadrr*r UnsafeLoader)rrdumpedloadedloaded2s rtest_yaml_dumprs|  v & &D YYr]]F YYvdkY 2 2F"f%%%iit'8i99G"g&&&&&rctjdd}|ddg}tj|}d|vrt jd|dddg}d |d }t jtj | 5}tj|tj dddn #1swxYwY|j j }d D]}||vsJ dS)N\/rTz$import pandas;print(pandas.__file__)z site-packagesz pandas installed as site packagez-sSErUz Command '\['zD', '-sSE', '-c', 'import pandas'\]' returned non-zero exit status 1.r3)stderr)numpypytzdateutil) rYrZreplacerW check_outputdecoderskipr:CalledProcessErrorSTDOUTvaluestdout)pyexecalloutputr@excnames r test_missing_required_dependencyrsb N " "4 - -E 4? @D  $T * * 1 1 3 3F&   6777 64 1D + + + + z4C @ @ @@CZ->????@@@@@@@@@@@@@@@Y  $ $ & &F-v~~~~~s!B==CCctjd} tjd}tjd}t |jt dkr]t t jt dkr3|tj d| dd g}td d d gi}||d <||d <d |j ddgd f<|j dgddf}td gd gd gddg}tj||tjd|dS#tjd|wxYw)Nrdaskr'z2025.1.0z2.1z,loc.__setitem__ incorrectly mutated column c)reasonrrabcr`FT)rrr)index)rrrrr __version__r) applymarkermarkxfailr8rlocr*rr!)requestr"rr,ddarr/r0s r*test_frame_setitem_dask_array_into_new_colrs ]0 1 1F5"6**   . . 4# $ $ (;(; ; ; NA A U^^AA    !!)W!XX   hh1v c3Z( ) )33%(t}c!"QQQC5uA3??sKKK fh/// +V44444 +V4444s D,EE0cGdd}|}ttd}||tusJ||z|usJdS)NceZdZdZdZdS)%test_pandas_priority..MyClassic|S)Nr)selfothers r__radd__z.test_pandas_priority..MyClass.__radd__sKrN)__name__ __module__ __qualname____pandas_priority__rrrrMyClassrs)"     rrr)rrf__add__NotImplemented)rleftrights rtest_pandas_priorityrs 799D 588  E ==  . 0 0 0 0 4<4      r memoryviewr8rr')marksrC)paramscHtjgdtj}|j}|dkrt |}n`|dkrtjd|}nD|dkrddl}|j|}n|d krddl}||}||fS) 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 r6rr8irrNrC)r)r8int64paramr dask.arrayrC DataArray)rr=rrerxrs r array_likesrs (999BH - - -C =D |# {3$$ z$$   ||C   9rr7M8[ns]m8[ns]ct|\}}ttd|}|jd}tjt |5||}dddn #1swxYwY|||}tj||t|tsTtj tj d|}||j }||j }tj||tt d|} | |}| |}tj||dS)N)rrz.__init__ is deprecatedr3r6)rr rr*assert_produces_warning FutureWarning_from_sequenceassert_extension_array_equal isinstancerr to_datetime to_timedeltar8 assert_equalrrassert_index_equal) r7rr=reclsdepr_msgr0r/funcidx_clss rtest_from_obscure_arrayr1st IC"n = =e DC,777H #M B B B3s88   E  2 2F#FH555 dJ ' '*.BODDUKc4::# )))'.AA%HG WS\\Fwt}}H&(+++++s AAAreturnc*tjdtgdgdd}|}|}ddg}||ksJt gdd}|}|jdksJdS) 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_)rrrr)rN)rrr!__dataframe_consortium_standard__get_column_namesr__column_consortium_standard__r)df_pdrresult_1 expected_1sercols rtest_dataframe_consortiumrPs ./// IIIIII66 7 7E  0 0 2 2B""$$HsJ z ! ! ! !  % % %C , , . .C 8s??????rctjd}|gd}tj|d}t gddd}t j||dS)NrCr ns)unit)z1970-01-01 00:00:00.000000001z1970-01-01 00:00:00.000000002z1970-01-01 00:00:00.000000003zdatetime64[ns])r7r})rrrrrrr*r)rr=r/r0s rtest_xarray_coerce_unitrcs  X & &B ,,yyy ! !C ^Cd + + +F    H&(+++++r)rN)7__doc__r8rWrYrr)r pandas.errorsrpandas.util._test_decoratorsutil_test_decoratorstdpandasrrrrrpandas._testing_testingr*pandas.core.arraysrr pandas.util.versionr fixturerr%r1rArErQr single_cpur[r]rjrxrrfilterwarningsrrrrrr skip_if_nor parametrizerrrrrrr sN   ,,,,,,))))))))) ('''''''' 5 5 5 555&   4&&&   JJJ    CCC " " ":::---NOO&&PO& ' ' '!!!H555:     V=2=#>#>??? X]R]8%<%<===  28X"677,,87,<&,,,,,r