
    Mh                        S SK rS SKrS SKJs  Jr  S SKJrJ	r	  S SK
Jr  \R                  " S5      \R                  R                  /r\R"                  " S S/S9S 5       rS rS rS	 r\R                  R-                  S
S S S S /5      S 5       r\R                  R-                  S/ SQ/ SQ/5      S 5       rS rS rS rg)    N)	DataFrameIndexnumba   )paramsc                     U R                   $ N)param)requests    O/var/www/html/env/lib/python3.13/site-packages/pandas/tests/apply/test_numba.py
apply_axisr      s    ==    c                 z    S nU R                  USUS9nU R                  USUS9n[        R                  " X45        g )Nc                     U $ r	    xs    r   <lambda>+test_numba_vs_python_noop.<locals>.<lambda>       Qr   r   engineaxispython)applytmassert_frame_equal)float_framer   funcresultexpecteds        r   test_numba_vs_python_noopr"      sC    DtG*EF  hZ HH&+r   c            	          [         R                  " S5        [        S[        SS/SS9[        SS/SS9S	9n S
 nU R	                  USSS9nU R	                  USSS9n[
        R                  " X#SSS9  g )Npyarrowr   abzstring[pyarrow_numpy]dtyper   y)indexcolumnsc                     U $ r	   r   r   s    r   r   3test_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_indexr3      s    
	"		S#J&=>sCj(?@
B
 DXXd7X3FxxXAx6HEEr   c                  .   [        / SQ/ SQ/ SQS.[        / SQ5      S9n S nU R                  USS	S
9nU R                  USS	S
9n[        R                  " X#5        S nU R                  USSS
9nU R                  USSS
9n[        R                  " X#5        g )Nr                  )g      @g       @g      "@r%   r&   c)ABCr*   c                     U S   $ )Nr=   r   r   s    r   r   /test_numba_vs_python_indexing.<locals>.<lambda>0       3r   r   r   r   r   c                     U S   $ )Nr>   r   r   s    r   r   rC   5   rD   r   r   )r   r   r   r   assert_series_equal)framerow_funcr    r!   col_funcs        r   test_numba_vs_python_indexingrJ   +   s    io>O$E  H[['[:F{{8H1{=H6,H[['[:F{{8H1{=H6,r   	reductionc                 "    U R                  5       $ r	   )meanr   s    r   r   r   =   s
    qvvxr   c                 "    U R                  5       $ r	   )minr   s    r   r   r   =   s
    1557r   c                 "    U R                  5       $ r	   )maxr   s    r   r   r   =   s
    aeegr   c                 "    U R                  5       $ r	   )sumr   s    r   r   r   =   s
    r   c                     [        [        R                  " S[        R                  S95      nUR	                  U SUS9nUR	                  U SUS9n[
        R                  " X45        g )N)r9   r9   r'   r   r   r   )r   nponesfloat64r   r   rF   )rK   r   r2   r    r!   s        r   test_numba_vs_python_reductionsrX   ;   sS    
 
27764	5BXXijXAFxx	(xDH6,r   colnamesr5   )g      ?g       @g      @c                    ^ [        [        R                  " / SQ/ SQ/ SQ/[        R                  S9U S9nU S   mU4S jnUR	                  USS	S
9nUR	                  USS	S
9n[
        R                  " X45        g )Nr5   r8   )      	   r'   )r+   r   c                    > U T   $ r	   r   )r   	first_cols    r   r   -test_numba_numeric_colnames.<locals>.<lambda>M   s	    !I,r   r   r   r   r   )r   rU   arrayint64r   r   rF   )rY   r2   fr    r!   r_   s        @r   test_numba_numeric_colnamesrd   F   sp     

)Y	2"((CX
B IAXXaaX0Fxx(x3H6,r   c                     S n[         R                  " [        SS9   U R                  USSS0S9  S S S 5        g ! , (       d  f       g = f)Nc                     U $ r	   r   r   s    r   r   1test_numba_parallel_unsupported.<locals>.<lambda>T       !r   zAParallel apply is not supported when raw=False and engine='numba'matchr   parallelT)r   engine_kwargs)r0   raisesNotImplementedErrorr   )r   rc   s     r   test_numba_parallel_unsupportedro   S   sE    A	Q
 	!GJ;MN	
 
 
s	   :
Ac                     S n[        SSS/0[        SS/5      S9n[        R                  " [        SS9   UR                  USU S	9  S S S 5        g ! , (       d  f       g = f)
Nc                     U $ r	   r   r   s    r   r   2test_numba_nonunique_unsupported.<locals>.<lambda>]   rh   r   r%   r   r6   rA   zBThe index/columns must be unique when raw=False and engine='numba'ri   r   r   )r   r   r0   rm   rn   r   r   rc   r2   s      r    test_numba_nonunique_unsupportedrt   \   sZ    A	C!Q=sCj(9	:B	R
 	74	
 
 
s   A
Ac                    S n[        SS/SS/SS/S.5      nUS	   R                  S
5      US	'   [        R                  " [        SS9   UR                  USU S9  S S S 5        [        R                  " [        SS9   US	   R                  5       R                  USU S9  S S S 5        g ! , (       d  f       NS= f! , (       d  f       g = f)Nc                     U $ r	   r   r   s    r   r   /test_numba_unsupported_dtypes.<locals>.<lambda>g   rh   r   r   r6   r%   r&   r9   r:   r<   r=   zdouble[pyarrow]zAColumn b must have a numeric dtype. Found 'object|string' insteadri   r   r   zUColumn c is backed by an extension array, which is not supported by the numba engine.)r   astyper0   rm   
ValueErrorr   to_framers   s      r   test_numba_unsupported_dtypesr{   f   s    A	!QsCj1v>	?Bgnn./BsG	Q
 	74	
 
6

 	3  7 D
 

 

 
s   	B(<#B9(
B69
C)numpyrU   r0   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   r   pandas._testing_testingr   
skip_if_nomark
single_cpu
pytestmarkfixturer   r"   r3   rJ   parametrizerX   rd   ro   rt   r{   r   r   r   <module>r      s      ) ) mmG$fkk&<&<=
 1v , -  *,=?PQ-	- i%AB	- C	-O5Er   