§
    yhþhh*  ã                   óÒ  — 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 ddl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j0        d ej1        d¦  «        ¬¦  «         ej0        d ej1        d¦  «        ¬¦  «        g¬¦  «        d „ ¦   «         Z2ej"         3                    d!d"d#g¦  «        d$„ ¦   «         Z4d(d&„Z5d'„ Z6dS ))z1
Testing that we work in the downstream packages
é    N)ÚIntCastingNaNError)Ú	DataFrameÚDatetimeIndexÚSeriesÚTimedeltaIndex)ÚDatetimeArrayÚTimedeltaArray)ÚVersionc                  ó(   — t          dg d¢i¦  «        S )NÚA©é   é   é   )r   © ó    úS/var/www/histauto/venv/lib/python3.11/site-packages/pandas/tests/test_downstream.pyÚdfr      s   € å�c˜9˜9˜9Ð%Ñ&Ô&Ð&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Ô1€Fð5ÝÔ˜GÑ$Ô$Ð$ÝÔ Ð!1Ñ2Ô2ˆà�nŠn˜R¨QˆnÑ/Ô/ˆØŒuÐ Ð Ð Ø�{Š{‰}Œ}Ð(Ð(Ð(Ð(å
ŒÐ+¨VÑ4Ô4Ð4Ð4Ð4ø�ŒÐ+¨VÑ4Ô4Ð4Ð4øøøs   –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_ufuncr1   2   sÐ   € õ Œ]Ð0Ñ1Ô1€Fð5ÝÔ  Ñ.Ô.ˆÝÔ Ð!1Ñ2Ô2ˆåÐ'Ð'Ð'Ñ(Ô(ˆØ�^Š^˜A¨1ˆ^Ñ-Ô-ˆà—’˜‘”×#Ò#Ñ%Ô%ˆÝ”6˜!‘9”9ˆÝ
Ô˜v xÑ0Ô0Ð0å
ŒÐ+¨VÑ4Ô4Ð4Ð4Ð4ø�ŒÐ+¨VÑ4Ô4Ð4Ð4øøøs   –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Úresr0   Úmsgs         r   Ú7test_construct_dask_float_array_int_dtype_match_ndarrayrA   E   s  € õ 
Ô	Ð-Ñ	.Ô	.€Bå
Œ(�;�;�;Ñ
Ô
€CØ�=Š=˜ÑÔ€Då
�‰,Œ,€CÝ�c‰{Œ{€HÝÔ˜3 Ñ)Ô)Ð)ð 6€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð !ð !Ýˆt˜4Ð Ñ Ô Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !ð G€CÝŒV€Cˆ�FÝ	ŒÕ)°Ð	5Ñ	5Ô	5ð !ð !Ýˆt˜4Ð Ñ Ô Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !õ 
ŒÕ)°Ð	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_xarrayrE   _   s-   € Ý
Ô˜Ñ!Ô!Ð!à�<Š<‰>Œ>Ð%Ð%Ð%Ð%Ð%r   c                  óö   — t          j        d¦  «        } t          j        d¦  «        }|                     dd¬¦  «        }|                      ddd¦  «        }|                     |gd¬	¦  «        }d}||k    sJ ‚d S )
NÚcftimerC   Ú0001r   )ÚperiodsiÐ  r   Únearest)Úmethod)r   r   Úcftime_rangeÚDatetimeGregorianÚget_indexer)rG   rC   ÚtimesÚkeyr/   r0   s         r   Útest_xarray_cftimeindex_nearestrQ   e   s‡   € åÔ  Ñ*Ô*€FÝÔ  Ñ*Ô*€Fà×Ò °ÐÑ2Ô2€EØ
×
"Ò
" 4¨¨AÑ
.Ô
.€CØ×Ò ˜u¨YÐÑ7Ô7€FØ€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_optimizabler[   q   s&   € õ Ô�3œ>¨5°$¸ÐHÑIÔIÐIÐIÐIr   c                  óJ   — t          j        t          j        dddg¦  «         d S )NrS   rT   z_import pandas as pd, pickle; pickle.loads(pickle.dumps(pd.date_range('2021-01-01', periods=1)))rV   r   r   r   Ú)test_oo_optimized_datetime_index_unpickler]   w   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_statsmodelsrj   ‡   sn   € Ý
Ô
Ð7Ñ
8Ô
8€Cå	Ý˜!‘H”H­%°©(¬(½uÀSÈ#¹¼ÐOÐOñ
ô 
€Bð ‡G‚GÐ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Úsvmgü©ñÒMbP?g      Y@)ÚgammaÚCéÿÿÿÿ)r   r   rl   rm   rn   Úload_digitsÚSVCrh   re   ÚtargetÚpredict)rm   rn   ÚdigitsÚclfs       r   Útest_scikit_learnrx   �   s°   € Ý
Ô˜	Ñ"Ô"Ð"ðð ð ð ð ð ð ð ð
 ×!Ò!Ñ#Ô#€FØ
�'Š'˜ ˆ'Ñ
'Ô
'€CØ‡G‚GˆFŒK˜˜˜Ô˜fœm¨C¨R¨CÔ0Ñ1Ô1Ð1Ø‡K‚K�”˜B˜C˜CÔ Ñ!Ô!Ð!Ð!Ð!r   c                  óÆ   — t          j        d¦  «        } t          t          j        ddd¬¦  «        t          d¦  «        dœ¦  «        }|                      dd|¬	¦  «         d S )
NÚseabornÚ2023ÚDr_   )ÚfreqrI   )ÚdayÚ
total_billr~   r   )ÚxÚyre   )r   r   r   r   Ú
date_rangerf   Ú	stripplot)rz   Útipss     r   Útest_seabornr…   �   sg   € ÝÔ! )Ñ,Ô,€GÝÝ”˜f¨3¸Ð:Ñ:Ô:Í%Ð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à�YŠY�r‰]Œ]€Fà�YŠY�v d¤kˆYÑ2Ô2€FÝÔ˜"˜fÑ%Ô%Ð%à�iŠi˜ tÔ'8ˆiÑ9Ô9€GÝÔ˜"˜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ú\ú/rT   z$import pandas;print(pandas.__file__)zsite-packagesz pandas installed as site packagez-sSErU   zCommand '\['zD', '-sSE', '-c', 'import pandas'\]' returned non-zero exit status 1.r3   )Ústderr)ÚnumpyÚpytzÚdateutil)rY   rZ   ÚreplacerW   Úcheck_outputÚdecoder   Úskipr:   ÚCalledProcessErrorÚSTDOUTÚvalueÚstdout)ÚpyexeÚcallÚoutputr@   ÚexcÚnames         r   Ú test_missing_required_dependencyr®   ¾   sb  € õ ŒN×"Ò" 4¨Ñ-Ô-€Eð
 �4Ð?Ð@€DÝÔ$ TÑ*Ô*×1Ò1Ñ3Ô3€FØ˜&Ð Ð ÝŒÐ6Ñ7Ô7Ð7ð
 �6˜4 Ð1€Dð	+˜ð 	+ð 	+ð 	+ð õ
 
Œ•zÔ4¸CÐ	@Ñ	@Ô	@ð @ÀCÝÔ ­ZÔ->Ð?Ñ?Ô?Ð?ð@ð @ð @ñ @ô @ð @ð @ð @ð @ð @ð @øøøð @ð @ð @ð @ð ŒYÔ×$Ò$Ñ&Ô&€FØ-ð ð ˆØ�vˆ~ˆ~ˆ~ˆ~ˆ~ðð s   Â!B=Â=CÃCc                 óæ  — t          j        d¦  «        }	 t          j        d¦  «        }t          j        d¦  «        }t	          |j        ¦  «        t	          d¦  «        k    r]t	          t          j        ¦  «        t	          d¦  «        k    r3|                      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   Údaskr'   z2025.1.0z2.1z,loc.__setitem__ incorrectly mutated column c)Úreasonr   r   ÚaÚbÚcr`   FT)r²   r³   r´   )Úindex)r   r   r   r   r
   Ú__version__r)   ÚapplymarkerÚmarkÚxfailr8   r   Úlocr*   r�   r!   )Úrequestr"   r°   r,   Úddar   r/   r0   s           r   Ú*test_frame_setitem_dask_array_into_new_colr½   ã   s‚  € õ
 Œ]Ð0Ñ1Ô1€Fð5ÝÔ" 6Ñ*Ô*ˆÝÔ  Ñ.Ô.ˆÝ�4Ô#Ñ$Ô$­°
Ñ(;Ô(;Ò;Ð;ÅÝŒNñA
ô A
å�U‰^Œ^òAð Að ×ÒÝ”×!Ò!Ð)WÐ!ÑXÔXñô ð ð �hŠh˜˜1�vÑÔˆÝ˜˜c 3˜ZÐ(Ñ)Ô)ˆØˆˆ3‰Øˆˆ3‰Ø%(ˆŒ��tˆ}˜cÐ!Ñ"Ø”˜˜˜Q˜Q˜Q˜”ˆÝ C 5°¨u¸A¸3Ð?Ð?ÈÀsÐKÑKÔKˆÝ
Ô˜f hÑ/Ô/Ð/å
ŒÐ+¨VÑ4Ô4Ð4Ð4Ð4ø�ŒÐ+¨VÑ4Ô4Ð4Ð4øøøs   –D,E ÅE0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   rf   Ú__add__ÚNotImplemented)rÉ   ÚleftÚrights      r   Útest_pandas_priorityrÎ      s‚   € ðð ð ð ð ñ ô ð ð ˆ7‰9Œ9€DÝ•5˜‘8”8ÑÔ€Eà�=Š=˜ÑÔ¥.Ð0Ð0Ð0Ð0Ø�4‰<˜4ÐÐÐÐÐÐr   Ú
memoryviewr8   r°   r'   )ÚmarksrC   )Ú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   r6   rÏ   r8   Úir°   r   NrC   )r)   r8   Úint64ÚparamrÏ   Ú
dask.arrayrC   Ú	DataArray)r»   r=   r­   re   r°   Úxrs         r   Úarray_likesrÙ     s·   € õ Œ(�9�9�9¥B¤HÐ
-Ñ
-Ô
-€CàŒ=€DØˆ|ÒÐÝ˜#‰ŒˆˆØ	�ŠˆÝŒ{˜3 Ñ$Ô$ˆˆØ	�ŠˆØÐÐÐàŒz×Ò Ñ$Ô$ˆˆØ	�Ò	Ð	ØÐÐÐà�|Š|˜CÑ Ô ˆà�ˆ9Ðr   r7   ú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 deprecatedr3   r6   )r   r	   rÅ   r*   Úassert_produces_warningÚFutureWarningÚ_from_sequenceÚassert_extension_array_equalÚ
isinstancerÏ   r   Úto_datetimeÚto_timedeltar8   Úassert_equalr   r   Úassert_index_equal)
r7   rÙ   r=   re   ÚclsÚdepr_msgr0   r/   ÚfuncÚidx_clss
             r   Útest_from_obscure_arrayrê   1  st  € ð �I€Cˆå"­nÐ
=Ð
=¸eÔ
D€Cà”,Ð7Ð7Ð7€HÝ	Ô	#¥M¸Ð	BÑ	BÔ	Bð ð Ø�3�s‘8”8ˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à×Ò ¨EÐÑ2Ô2€FÝÔ# F¨HÑ5Ô5Ð5å�d�JÑ'Ô'ð *õ œ.µB´OÐDÐDÀUÔKˆØ��c‘””ˆØ�4˜‘:”:Ô#ˆÝ
Œ˜ Ñ)Ô)Ð)õ 'µ.ÐAÐAÀ%ÔH€GØˆW�S‰\Œ\€FØˆw�t‰}Œ}€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ø   P  s©   € õ ÔÐ.Ñ/Ô/Ð/Ý˜I˜I˜I¨I¨I¨IÐ6Ð6Ñ7Ô7€EØ	×	0Ò	0Ñ	2Ô	2€BØ×"Ò"Ñ$Ô$€HØ�s�€JØ�zÒ!Ð!Ð!Ð!å
��� Ð
%Ñ
%Ô
%€CØ
×
,Ò
,Ñ
.Ô
.€CØŒ8�sŠ?ˆ?ˆ?ˆ?ˆ?ˆ?r   c                  óÚ   — t          j        d¦  «        } |                      g d¢¦  «        }t          j        |d¬¦  «        }t          g d¢dd ¬¦  «        }t          j        ||¦  «         d S )NrC   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])r7   r}   )r   r   r×   r   râ   r   r*   rå   )rØ   r=   r/   r0   s       r   Útest_xarray_coerce_unitrü   c  s�   € å	Ô	˜XÑ	&Ô	&€Bà
�,Š,�y�y�yÑ
!Ô
!€CÝŒ^˜C dÐ+Ñ+Ô+€FÝð	
ð 	
ð 	
ð
 Øðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r   )rë   N)7Ú__doc__r8   rW   rY   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	   Úpandas.util.versionr
   Úfixturer   r%   r1   rA   rE   rQ   r¸   Ú
single_cpur[   r]   rj   rx   r…   rˆ   Úfilterwarningsr�   r™   r®   r½   rÎ   rÕ   Ú
skip_if_norÙ   Úparametrizerê   rø   rü   r   r   r   ú<module>r     sN  ððð ð €€€Ø Ð Ð Ð Ø 
€
€
€
à Ð Ð Ð Ø €€€à ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )à Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð (Ð 'Ð 'Ð 'Ð 'Ð 'ð „ð'ð 'ñ „ð'ð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 „×Ò˜ 8¨XÐ"6Ñ7Ô7ð,ð ,ñ 8Ô7ð,ð<ð ð ð ð&,ð ,ð ,ð ,ð ,r   