
    m*i^                        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  S SKJr  S SKJr  \R$                  " S5      \R&                  R(                  \R&                  R+                  5       /r\R.                  " S5      r\R3                  \R&                  R+                  \" \R4                  5      \" S5      :H  =(       a    \" 5       S\R4                   3S95        \R6                  " S S	/S
9S 5       rS rS rS r\R&                  RA                  SS S S S /5      S 5       r!\R&                  RA                  S/ SQ/ SQ/5      S 5       r"S r#S r$S r%g)    N)is_platform_arm)	DataFrameIndex)Versionnumbaz0.61z&Segfaults on ARM platforms with numba )reason   )paramsc                     U R                   $ N)param)requests    ]/var/www/html/land-doc-ocr/venv/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                  8   [        S[        SS/[        R                  " [        R
                  S9S9[        SS/[        R                  " [        R
                  S9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 )Nr	   ab)na_value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)	r   r   pdStringDtypenpnanr   r   r    )dfr"   r#   r$   s       r   !test_numba_vs_python_string_indexr8   &   s    		S#Jbnnbff&EFsCj(GH
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   $ )NrB   r   r   s    r   r   /test_numba_vs_python_indexing.<locals>.<lambda>:       3r   r   r	   r   r   c                     U S   $ )NrC   r   r   s    r   r   rH   ?   rI   r   r   )r   r   r   r   assert_series_equal)framerow_funcr#   r$   col_funcs        r   test_numba_vs_python_indexingrO   5   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   G   s
    qvvxr   c                 "    U R                  5       $ r   )minr   s    r   r   r   G   s
    1557r   c                 "    U R                  5       $ r   )maxr   s    r   r   r   G   s
    aeegr   c                 "    U R                  5       $ r   )sumr   s    r   r   r   G   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)r>   r>   r*   r   r   r   )r   r5   onesfloat64r   r   rK   )rP   r   r7   r#   r$   s        r   test_numba_vs_python_reductionsr\   E   sS    
 
27764	5BXXijXAFxx	(xDH6,r   colnamesr:   )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 )Nr:   r=   )      	   r*   )r.   r   c                    > U T   $ r   r   )r   	first_cols    r   r   -test_numba_numeric_colnames.<locals>.<lambda>W   s	    !I,r   r   r	   r   r   )r   r5   arrayint64r   r   rK   )r]   r7   fr#   r$   rc   s        @r   test_numba_numeric_colnamesrh   P   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>^       !r   zAParallel apply is not supported when raw=False and engine='numba'matchr   parallelT)r   engine_kwargs)pytestraisesNotImplementedErrorr   )r!   rg   s     r   test_numba_parallel_unsupportedrt   ]   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>g   rl   r   r'   r	   r;   rF   zBThe index/columns must be unique when raw=False and engine='numba'rm   r   r   )r   r   rq   rr   rs   r   r   rg   r7   s      r    test_numba_nonunique_unsupportedry   f   sZ    A	C!Q=sCj(9	:B	R
 	74	
 
 
s   A
Ac                    [         R                  " S5        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)Npyarrowc                     U $ r   r   r   s    r   r   /test_numba_unsupported_dtypes.<locals>.<lambda>r   rl   r   r	   r;   r'   r(   r>   r?   rA   rB   zdouble[pyarrow]z>Column b must have a numeric dtype. Found 'object|str' insteadrm   r   r   zUColumn c is backed by an extension array, which is not supported by the numba engine.)rq   importorskipr   astyperr   
ValueErrorr   to_framerx   s      r   test_numba_unsupported_dtypesr   p   s    
	"A	!QsCj1v>	?Bgnn./BsG	N
 	74	
 
6

 	3  7 D
 

 

 
s   B>#C>
C
C)&numpyr5   rq   pandas.compatr   pandas.util._test_decoratorsutil_test_decoratorstdpandasr3   r   r   pandas._testing_testingr   pandas.util.versionr   
skip_if_nomark
single_cpuskipif
pytestmarkr~   r   append__version__fixturer   r%   r8   rO   parametrizer\   rh   rt   ry   r   r   r   r   <module>r      sV     ) ) )   'mmG$fkk&<&<fkk>P>P>RS
G$ 
  
KK!!"gfo5K/:K78I8I7JK   1v ,-  *,=?PQ-	- i%AB	- C	-O5Er   