§
    ªöÉgâ  ã                   ó„  — d dl Zd dlZd dlmc mZ d dlmZm	Z	 d dl
mZ  ej        d¦  «        ej        j        gZ ej        d dg¬¦  «        d„ ¦   «         Zd„ Zd„ Zd	„ Zej                             d
d„ d„ d„ d„ g¦  «        d„ ¦   «         Zej                             dg d¢g d¢g¦  «        d„ ¦   «         Zd„ Zd„ Zd„ ZdS )é    N)Ú	DataFrameÚIndexÚnumbaé   )Úparamsc                 ó   — | j         S ©N)Úparam)Úrequests    úi/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/pandas/tests/apply/test_numba.pyÚ
apply_axisr      s
   € àŒ=Ðó    c                 ó–   — d„ }|                       |d|¬¦  «        }|                       |d|¬¦  «        }t          j        ||¦  «         d S )Nc                 ó   — | S r	   © ©Úxs    r   ú<lambda>z+test_numba_vs_python_noop.<locals>.<lambda>   ó   € �Q€ r   r   ©ÚengineÚaxisÚpython)ÚapplyÚtmÚassert_frame_equal)Úfloat_framer   ÚfuncÚresultÚexpecteds        r   Útest_numba_vs_python_noopr!      sV   € Øˆ;€DØ×Ò˜t¨G¸*ÐÑEÔE€FØ× Ò  ¨h¸ZÐ ÑHÔH€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   c                  ó,  — t          j        d¦  «         t          dt          ddgd¬¦  «        t          ddgd¬¦  «        ¬	¦  «        } d
„ }|                      |dd¬¦  «        }|                      |dd¬¦  «        }t          j        ||dd¬¦  «         d S )NÚpyarrowr   ÚaÚbzstring[pyarrow_numpy]©Údtyper   Úy)ÚindexÚcolumnsc                 ó   — | S r	   r   r   s    r   r   z3test_numba_vs_python_string_index.<locals>.<lambda>#   r   r   r   r   r   r   F)Úcheck_column_typeÚcheck_index_type)ÚpytestÚimportorskipr   r   r   r   r   )Údfr   r   r    s       r   Ú!test_numba_vs_python_string_indexr1      s¸   € å
Ô˜	Ñ"Ô"Ð"Ý	Ø	Ý�S˜#�JÐ&=Ð>Ñ>Ô>Ý�s˜C�jÐ(?Ð@Ñ@Ô@ð
ñ 
ô 
€Bð
 ˆ;€DØ�XŠX�d 7°ˆXÑ3Ô3€FØ�xŠx˜ X°AˆxÑ6Ô6€HÝÔØ�¨EÀEðñ ô ð ð ð r   c                  óz  — t          g d¢g d¢g d¢dœt          g d¢¦  «        ¬¦  «        } d„ }|                      |dd	¬
¦  «        }|                      |dd	¬
¦  «        }t          j        ||¦  «         d„ }|                      |dd¬
¦  «        }|                      |dd¬
¦  «        }t          j        ||¦  «         d S )N©r   é   é   ©é   é   é   )g      @g       @g      "@©r$   r%   Úc)ÚAÚBÚC©r)   c                 ó   — | d         S )Nr;   r   r   s    r   r   z/test_numba_vs_python_indexing.<locals>.<lambda>0   ó
   € ˜˜3œ€ r   r   r   r   r   c                 ó   — | d         S )Nr<   r   r   s    r   r   z/test_numba_vs_python_indexing.<locals>.<lambda>5   rA   r   r   )r   r   r   r   Úassert_series_equal)ÚframeÚrow_funcr   r    Úcol_funcs        r   Útest_numba_vs_python_indexingrG   +   sØ   € ÝØˆiˆi˜i˜i˜i¨o¨o¨oÐ>Ð>Ý�O�O�OÑ$Ô$ðñ ô €Eð  Ð€HØ�[Š[˜¨'¸ˆ[Ñ:Ô:€FØ�{Š{˜8¨H¸1ˆ{Ñ=Ô=€HÝÔ˜6 8Ñ,Ô,Ð,àÐ€HØ�[Š[˜¨'¸ˆ[Ñ:Ô:€FØ�{Š{˜8¨H¸1ˆ{Ñ=Ô=€HÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r   Ú	reductionc                 ó*   — |                       ¦   «         S r	   )Úmeanr   s    r   r   r   =   s   € ˆq�vŠv‰xŒx€ r   c                 ó*   — |                       ¦   «         S r	   )Úminr   s    r   r   r   =   s   €  1§5¢5¡7¤7€ r   c                 ó*   — |                       ¦   «         S r	   )Úmaxr   s    r   r   r   =   s   € °a·e²e±g´g€ r   c                 ó*   — |                       ¦   «         S r	   )Úsumr   s    r   r   r   =   s   € ÈÏÊÉÌ€ r   c                 óê   — t          t          j        dt          j        ¬¦  «        ¦  «        }|                     | d|¬¦  «        }|                     | d|¬¦  «        }t          j        ||¦  «         d S )N)r7   r7   r&   r   r   r   )r   ÚnpÚonesÚfloat64r   r   rC   )rH   r   r0   r   r    s        r   Útest_numba_vs_python_reductionsrU   ;   si   € õ
 
•2”7˜6­¬Ð4Ñ4Ô4Ñ	5Ô	5€BØ�XŠX�i¨°jˆXÑAÔA€FØ�xŠx˜	¨(¸ˆxÑDÔD€HÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r   Úcolnamesr3   )g      ð?g       @g      @c                 ó  ‡— t          t          j        g d¢g d¢g d¢gt          j        ¬¦  «        | ¬¦  «        }| d         Šˆfd„}|                     |dd	¬
¦  «        }|                     |dd	¬
¦  «        }t          j        ||¦  «         d S )Nr3   r6   )é   é   é	   r&   )r*   r   c                 ó   •— | ‰         S r	   r   )r   Ú	first_cols    €r   r   z-test_numba_numeric_colnames.<locals>.<lambda>M   s   ø€ �!�I”,€ r   r   r   r   r   )r   rR   ÚarrayÚint64r   r   rC   )rV   r0   Úfr   r    r\   s        @r   Útest_numba_numeric_colnamesr`   F   s¢   ø€ õ 
Ý
Œ�)�)�)˜Y˜Y˜Y¨	¨	¨	Ð2½"¼(ÐCÑCÔCÈXð
ñ 
ô 
€Bð ˜”€IØÐÐÐ€AØ�XŠX�a ¨aˆXÑ0Ô0€FØ�xŠx˜ (°ˆxÑ3Ô3€HÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r   c                 ó¨   — d„ }t          j        t          d¬¦  «        5  |                      |dddi¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó   — | S r	   r   r   s    r   r   z1test_numba_parallel_unsupported.<locals>.<lambda>T   ó   € �!€ r   zAParallel apply is not supported when raw=False and engine='numba'©Úmatchr   ÚparallelT)r   Úengine_kwargs)r.   ÚraisesÚNotImplementedErrorr   )r   r_   s     r   Útest_numba_parallel_unsupportedrj   S   sÀ   € Øˆ€AÝ	ŒÝØQð
ñ 
ô 
ð Oð Oð 	×Ò˜! G¸JÈÐ;MÐÑNÔNÐNð	Oð Oð Oñ Oô Oð Oð Oð Oð Oð Oð Oð Oøøøð Oð Oð Oð Oð Oð Os   ŸAÁAÁAc                 óì   — d„ }t          dddgit          ddg¦  «        ¬¦  «        }t          j        t          d¬¦  «        5  |                     |d| ¬	¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nc                 ó   — | S r	   r   r   s    r   r   z2test_numba_nonunique_unsupported.<locals>.<lambda>]   rc   r   r$   r   r4   r?   zBThe index/columns must be unique when raw=False and engine='numba'rd   r   r   )r   r   r.   rh   ri   r   ©r   r_   r0   s      r   Ú test_numba_nonunique_unsupportedrn   \   sÊ   € Øˆ€AÝ	�C˜!˜Q˜�=­¨s°C¨jÑ(9Ô(9Ð	:Ñ	:Ô	:€BÝ	ŒÝØRð
ñ 
ô 
ð 5ð 5ð 	�Š�˜7¨ˆÑ4Ô4Ð4ð	5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ð 5ð 5s   ÁA)Á)A-Á0A-c                 óØ  — d„ }t          ddgddgddgdœ¦  «        }|d	                              d
¦  «        |d	<   t          j        t          d¬¦  «        5  |                     |d| ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  |d	                              ¦   «                              |d| ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó   — | S r	   r   r   s    r   r   z/test_numba_unsupported_dtypes.<locals>.<lambda>g   rc   r   r   r4   r$   r%   r7   r8   r:   r;   zdouble[pyarrow]zAColumn b must have a numeric dtype. Found 'object|string' insteadrd   r   r   zUColumn c is backed by an extension array, which is not supported by the numba engine.)r   Úastyper.   rh   Ú
ValueErrorr   Úto_framerm   s      r   Útest_numba_unsupported_dtypesrt   f   s˜  € Øˆ€AÝ	˜!˜Q˜ s¨C j¸¸1°vÐ>Ð>Ñ	?Ô	?€BØ�Œg�nŠnÐ.Ñ/Ô/€B€s�Gå	ŒÝØQð
ñ 
ô 
ð 5ð 5ð 	�Š�˜7¨ˆÑ4Ô4Ð4ð	5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5õ 
ŒÝð6ð
ñ 
ô 
ð Eð Eð
 	ˆ3Œ×ÒÑÔ× Ò  ¨7¸Ð ÑDÔDÐDðEð Eð Eñ Eô Eð Eð Eð Eð Eð Eð Eð Eøøøð Eð Eð Eð Eð Eð Es$   ÁA;Á;A?ÂA?Â!1CÃC#Ã&C#)ÚnumpyrR   r.   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdÚpandasr   r   Úpandas._testingÚ_testingr   Ú
skip_if_noÚmarkÚ
single_cpuÚ
pytestmarkÚfixturer   r!   r1   rG   ÚparametrizerU   r`   rj   rn   rt   r   r   r   ú<module>rƒ      s±  ðØ Ð Ð Ð Ø €€€à )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )ðð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð àˆbŒm˜GÑ$Ô$ f¤kÔ&<Ð=€
ð €„˜˜1�vÐÑÔðð ñ Ôðð,ð ,ð ,ðð ð ð -ð -ð -ð  „×ÒØØÐÐ*Ð*Ð,=Ð,=Ð?PÐ?PÐQñô ð-ð -ñ	ô ð-ð „×Ò˜ i i i°°°Ð%AÑBÔBð	-ð 	-ñ CÔBð	-ðOð Oð Oð5ð 5ð 5ðEð Eð Eð Eð Er   