
    o[we@)                     ,   d dl mZ d dlZd dlZd dlZd dlmZ d dlm	Z	m
Z
 d dlmZ d dlmZmZ ej                            dg d          ej                            d ej        g i d	
           ej        dgi d
           ej        g ddid
           ej        g ddid
           ej        ddgddid
          g          ej                            dddg          d                                     Zej                            dg d          d             Zej                            dg d          ej                            dddg          d                         Zej                            dg d          ej                            dddg          d                         Zej                            d e ej         e
ej                   d!d"ej        fd#ej        fd$d%d&ej        fd'd(ej        fd)ej        fd*ej        fg
           ej         e
ej        dd+d,g          g d-           ej         e
d.                                          g d/                              d0             Zej                            d e ej         e
ej                   d1 e
g ej                   fd2 e
g ej                   fg           ej         e
ej        dd+d,g          d1 e
ej        dd+d3g          fd2 e
ej        dd,d3g          fg           ej         e
d.                                          d2 e
g d4          fg                              d5             Zej                            d6 e ej         e	            d7 e
d8           fd" e
d8           fd# e
d8           fd9 e
e           fd: e
e           fd& e
d8           fd; e
d8           fd( e
d8           fd) e
d8           fd* e
d8           fg
           ej         e	ej        dgdd+gg          d7 e
d<d,g          fd" e
d<d+g          fd# e
d<dg          fd9 e
ddg          fd: e
ddg          fd& e
dd=g          fd; e
d<d+g          fd( e
ej        d>g          fd) e
ej        d?g          fd* e
dd=g          fg
                              d@             Zej                            d6 e ej         e	            d1 e	            fd2 e	            fg           ej         e	ej        dgdd+gg          d1 e	ej        dgdd+gg          fd2 e	ej        dgdd,gg          fg                              dA             Z ej                            de          dB             Z!ej                            de          dC             Z"ej                            dDg dE          dF             Z#dS )G    )chainN)	is_number)	DataFrameSeries)frame_transform_kernelsseries_transform_kernelsfunc)summeanminmaxstdz	args,kwdsno_args_or_kwds)id   axis_from_argsaxisaxis_from_kwdsnumeric_onlyToptional_kwdsargs_and_kwdshowaggapplyc                 >   t          |          dk    rD|dk    r>| j                            t          j                            t          d                      t          ||          |g|R i |} t          ||          |i |}t          j	        ||           d S )Nr   r   z>agg/apply signature mismatch - agg passes 2nd argument to funcraisesreason)
lennode
add_markerpytestmarkxfail	TypeErrorgetattrtmassert_series_equal)requestfloat_framer	   argskwdsr   resultexpecteds           ;lib/python3.11/site-packages/pandas/tests/apply/test_str.pytest_apply_with_string_funcsr0      s     4yy1}}K #   	
 	
 	
 'W[#&&t;d;;;d;;F)w{D))48488H68,,,,,    argc                 p    |                      |          } t          | |                      }||k    sJ d S )N)r   r&   )datetime_seriesr2   r-   r.   s       r/   test_with_string_argsr5   .   sC    ""3''F,w,,..HXr1   op)r   medianr   varc                    t          ddgddgd          } t          ||          |           }| dv rddini }t           t          t          |           |fdd	i||j        
          }t          j        ||           d S )Nr            )ab)r   r8   ddofr   r   )index)r   r&   r   npcolumnsr'   r(   )r6   r   r*   r-   kwargsr.   s         r/   test_apply_np_reducerrD   5   s     1a&1v6677K&W[#&&r**F.00fa[[bFB66!6v66k>Q  H 68,,,,,r1   )absceilcoscumsumexplogsqrtsquare	transformc                 (   d| j         d<   d }|dv rt          }t          j        |d          5   t	          | |          |          } t	          t
          |          |           }d d d            n# 1 swxY w Y   t          j        ||           d S )Ng      )r   r   )rJ   rK   F)check_stacklevel)ilocRuntimeWarningr'   assert_produces_warningr&   rA   assert_frame_equal)r*   r6   r   warnr-   r.   s         r/   test_apply_np_transformerrU   C   s     "KTD	_		#D5	A	A	A 0 0 +c**2.."72r??;//	0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 &(+++++s   8A22A69A6zseries, func, expected)dtype)r
   r   r   r   allT)anyFr   )prodr   r   r8   r7   r:   r;   )
)r
      )r   r;   )r   r   rW   rY   T)r   r:   )rZ   r[   )r   r   )r8   r   )r7   r:   za b c))r
   abc)r   c)r   r=   rW   r\   c                 ,   t          |t                    rd nt          }t          j        |d          5  |                     |          }d d d            n# 1 swxY w Y   t          |          rt          j        ||d          sJ d S ||k    sJ d S )Nis currently using Series.*matchT)	equal_nan)	
isinstancestrFutureWarningr'   rR   r   r   rA   iscloseseriesr	   r.   rT   r-   s        r/   test_agg_cython_table_seriesrj   Y   s    b dC((;44mD		#D0M	N	N	N " "D!!" " " " " " " " " " " " " " " "z&(d;;;;;;;;!!!!!!   AAAcumprodrH   r[   )r=   abr]   c                     t          |t                    rd nt          }t          j        |d          5  |                     |          }d d d            n# 1 swxY w Y   t          j        ||           d S )Nr`   ra   rd   re   rf   r'   rR   r   r(   rh   s        r/   &test_agg_cython_table_transform_seriesrp      s    4 dC((;44mD		#D0M	N	N	N " "D!!" " " " " " " " " " " " " " "68,,,,,rk   zdf, func, expectedr
   float64rX   rY   rZ   g      ?g      ?g۞?g      ?c                     t          |t                    rd nt          }t          j        |d          5  |                     ||          }d d d            n# 1 swxY w Y   t          j        ||           d S )Nis currently using DataFrame.*ra   r   ro   dfr	   r.   r   rT   r-   s         r/   test_agg_cython_table_framerw      s    N dC((;44mD		#D0P	Q	Q	Q ) )4(() ) ) ) ) ) ) ) ) ) ) ) ) ) ) 68,,,,,s   AA Ac                 (   |dv r|                     d          }t          |t                    rd nt          }t	          j        |d          5  |                     ||          }d d d            n# 1 swxY w Y   t	          j        ||           d S )N)rB   r   rq   rs   ra   rt   )astyperd   re   rf   r'   rR   r   rS   ru   s         r/   %test_agg_cython_table_transform_framerz      s    & ~??9--dC((;44mD		#D0P	Q	Q	Q ) )4(() ) ) ) ) ) ) ) ) ) ) ) ) ) ) &(+++++s   A22A69A6c                 l   |dk    r>| j                             t          j                            t
          d                     |dk    rdgng }t          j        |j        d                   } |	                    |          j
        |g|R  } |j
        |dg|R  }t          j        ||           d S )Nngroupngroup not valid for NDFramer   fillna        r   )r    r!   r"   r#   r$   
ValueErrorrA   onesshapegroupbyrM   r'   r(   )r)   string_seriesr6   r+   r   r.   r-   s          r/   $test_transform_groupby_kernel_seriesr      s     
X~~KZ8VWW	
 	
 	
 (NNC55D7=&q)**D4}$$T**4R?$???H$]$R2T222F68,,,,,r1   c                 6   |dk    r>| j                             t          j                            t
          d                     |dk    rdgng }|dv r"t          j        |j        d                   }d}n!t          j        |j        d	                   }d
}t          j
        t          |          5  |                    ||          }d d d            n# 1 swxY w Y    |j        |g|R  } |j        ||g|R  }	t          j        |	|           d|j        vsJ |d                                         |d<   t#          |j        j                  d	k    sJ |dv r t          j        |j        d                   }nt          j        |j        d	                   }t          j
        t          |          5  |                    ||          }
d d d            n# 1 swxY w Y    |
j        |g|R  } |j        ||g|R  }t          j        ||           d S )Nr|   r}   r   r~   r   )r   r@   r   z5The 'axis' keyword in DataFrame.groupby is deprecatedr   z+DataFrame.groupby with axis=1 is deprecatedra   rt   EA)r    r!   r"   r#   r$   r   rA   r   r   r'   rR   rf   r   rM   rS   rB   copyr   _mgrarrays)r)   r   r*   r6   r+   r   msggbr.   r-   gb2	expected2result2s                r/   #test_transform_groupby_kernel_framer     s   	X~~KZ8VWW	
 	
 	
 (NNC55D|w{(+,,Ew{(+,,;		#M	=	=	= 2 2  D 112 2 2 2 2 2 2 2 2 2 2 2 2 2 2r|B&&&&H"["2t3d333F&(+++ k)))))"3',,..K{&''!++++|w{(+,,w{(+,,		#M	=	=	= 3 3!!$T!223 3 3 3 3 3 3 3 3 3 3 3 3 3 3b(4(((I#k#B4t444G'9-----s$   2CCC8GG #G method)rE   shift
pct_changerH   rankc                     t          dddgi          }|                    |           } t          j        |           |          }t	          j        ||           d S )Nr   r:   )r   rM   operatormethodcallerr'   rS   )r   rv   r-   r.   s       r/   test_transform_method_namer   4  s]     
C"a>	"	"B\\&!!F,x$V,,R00H&(+++++r1   )$	itertoolsr   r   numpyrA   r"   pandas.core.dtypes.commonr   pandasr   r   pandas._testing_testingr'   pandas.tests.apply.commonr   r   r#   parametrizeparamr0   r5   rD   rU   get_cython_table_paramsrq   nansplitrj   rp   boolrw   rz   r   r   r    r1   r/   <module>r      s               / / / / / /                     !E!E!EFFR 1222aS"!1222R&!)9:::R.$/ODDDaY 6?KKK	 	  011- - 21	 	 GF-  D D DEE  FE ???@@ 011	- 	- 21 A@	- 
J
J
J  g 677, , 87 ,$ 	E""F$$$ 26"	
 	
 	#"FBFAq!$%%  	
 	
 	#"F7==??##  		
 		
?) ), ,Z
" 
"[, ,Z
" 	E""F$$$FF2RZ888966"BJ7778	
 	
 	#"FBFAq!$%%FFBFAq!#455666261a"3445	
 	
 	#"F7==??##x8J8J8J1K1K&L%M	
 	
  ,- -- ,- 	E""IKKY///0Y///0Y///0T***+T***+i0001i0001Y///0Y///066	2223	
 	
 	#"I{QF+,,Qx(()Qx(()Qx(()d|,,-d|,,-C))*a))*1223}--.661c(++,	
 	
! " "F- -G" "F- 	E""IKK9iikk2Xyy{{4KL	
 	
 	#"I{QF+,,II{QF&;<<=99rvqkAq6%:;;<	
 	
	  , , , 788
- 
- 98
- 677#. #. 87#.L #S#S#STT, , UT, , ,r1   