
    .i'                        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	 d dl
mZmZ d dlmZ d dlmZmZ ej&                  j)                  dg d      ej&                  j)                  d	 ej*                  i d
       ej*                  ddid       ej*                  ddid       ej*                  dddd      g      ej&                  j)                  dddg      d                      Zd Zej&                  j)                  dg d      ej&                  j)                  dddg      d               Zej&                  j3                  ed      ej&                  j)                  dg d      ej&                  j)                  dddg      d                       Zej&                  j)                  d! e ej6                   eej8                  "      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j6                   eej:                  dd-d.g      g d/       ej6                   ed0j=                               g d1                  d2        Zej&                  j)                  d! e ej6                   eej8                  "      d3 eg ej8                  "      fd4 eg ej8                  "      fg       ej6                   eej:                  dd-d.g      d3 eej:                  dd-d5g      fd4 eej:                  dd.d5g      fg       ej6                   ed0j=                               d4 eg d6      fg                  d7        Z ej&                  j)                  d8 e ej6                   e       d9 ed:"      fd$ ed:"      fd% ed:"      fd; ee!"      fd< ee!"      fd( ed:"      fd= ed:"      fd* ed:"      fd+ ed:"      fd, ed:"      fg
       ej6                   eej:                  dgdd-gg      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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:                  dAg      fd, edd?g      fg
                  dB        Z"ej&                  j)                  d8 e ej6                   e       d3 e       fd4 e       fg       ej6                   eej:                  dgdd-gg      d3 eej:                  dgdd-gg      fd4 eej:                  dgdd.gg      fg                  dC        Z#ej&                  j)                  de      dD        Z$ej&                  j)                  de      dE        Z%ej&                  j)                  dFg dG      dH        Z&y)I    )chainN)WASM)	is_number)	DataFrameSeries)frame_transform_kernelsseries_transform_kernelsfunc)summeanminmaxstdkwdsno_kwds)idaxis   on_axisnumeric_onlyT	func_kwds)r   r   axis_and_func_kwdshowaggapplyc                 z     t        | |      |fi |} t        | |      di |}t        j                  ||       y )N )getattrtmassert_series_equal)float_framer
   r   r   resultexpecteds         Y/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/apply/test_str.pytest_apply_with_string_funcsr%      sB     'W[#&t4t4F)w{D)1D1H68,    c                 V    | j                  |      } t        | |             }||k(  sJ y )N)r   r   )datetime_seriesall_numeric_reductionsr"   r#   s       r$   test_with_string_argsr*   )   s3    ""#9:F?w(>?AHXr&   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                  ||       y )Nr            )ab)r   r-   ddofr   r   )index)r   r   r   npcolumnsr   r    )r+   r   r!   r"   kwargsr#   s         r$   test_apply_np_reducerr9   /   s~     1a&1v67K&W[#&r*F.0fa[bFB6!6v6k>Q>QH 68,r&   zNo fp exception support in wasm)reason)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        t        j                         y # 1 sw Y    xY w)Ng      )r   r   )r@   rA   F)check_stacklevel)ilocRuntimeWarningr   assert_produces_warningr   r6   assert_frame_equal)r!   r+   r   warnr"   r#   s         r$   test_apply_np_transformerrK   =   s     "KTD	_		#	#D5	A 0 +c*2."72r?;/	0
 &(+0 0s   )A;;Bzseries, func, expected)dtype)r   r   r   r   allT)anyFr   )prodr   r   r-   r,   r/   r0   )
)r      )r   r0   )r   r   rM   rO   T)r   r/   )rP   rQ   )r   r   )r-   r   )r,   r/   za b c))r   abc)r   c)r   r2   rM   rR   c                    t        |t              rd nt        }t        j                  |d      5  | j                  |      }d d d        t        |      rt        j                  |d      sJ y |k(  sJ y # 1 sw Y   7xY w)Nis currently using Series.*matchT)	equal_nan)	
isinstancestrFutureWarningr   rH   r   r   r6   iscloseseriesr
   r#   rJ   r"   s        r$   test_agg_cython_table_seriesr`   T   su    b dC(4mD		#	#D0M	N "D!"zz&(d;;;!!!" "s   A88Bcumprodr>   rQ   )r2   abrS   c                     t        |t              rd nt        }t        j                  |d      5  | j                  |      }d d d        t        j                  |       y # 1 sw Y    xY w)NrV   rW   rZ   r[   r\   r   rH   r   r    r^   s        r$   &test_agg_cython_table_transform_seriesre      sX    4 dC(4mD		#	#D0M	N "D!"68," "s   A!!A*zdf, func, expectedr   float64rN   rO   rP   g      ?g      ?g۞?g      ?c                     t        |t              rd nt        }t        j                  |d      5  | j                  ||      }d d d        t        j                  |       y # 1 sw Y    xY w)Nis currently using DataFrame.*rW   r   rd   dfr
   r#   r   rJ   r"   s         r$   test_agg_cython_table_framerl      s_    N dC(4mD		#	#D0P	Q )4() 68,) )s   A##A,c                    |dv r|j                  d      }t        |t              rd nt        }t	        j
                  |d      5  | j                  ||      }d d d        t	        j                  |       y # 1 sw Y    xY w)N)r7   r   rf   rh   rW   ri   )astyperZ   r[   r\   r   rH   r   rI   rj   s         r$   %test_agg_cython_table_transform_framero      st    & ~??9-dC(4mD		#	#D0P	Q )4() &(+) )s   A88Bc                    |dk(  r4| j                  t        j                  j                  t        d             |dk(  rdgng }t        j                  |j                  d         }|dk(  rt        nd }d}t        j                  ||      5   |j                  |      j                  |g| }d d d         |j                  |dg| }t        j                  |       y # 1 sw Y   4xY w)	Nngroupngroup not valid for NDFrameraisesr:   fillna        r   z"SeriesGroupBy.fillna is deprecatedrW   )applymarkerpytestmarkxfail
ValueErrorr6   onesshaper\   r   rH   groupbyrC   r    )	requeststring_seriesr+   argsr|   rJ   msgr#   r"   s	            r$   $test_transform_groupby_kernel_seriesr      s     
X~KKZ8VW	
 (NC5D77=&&q)*D(N=D
.C		#	#D	4 D8=((.88CdCD$]$$R2T2F68,D Ds   #C""C+c                 T   |dk(  r4| j                  t        j                  j                  t        d             |dk(  rdgng }t        j                  |j                  d         }|j                  |      }|dk(  rt        nd }d}t        j                  ||      5   |j                  |g| }d d d         |j                  |dg| }	t        j                  |	       d	|j                  vsJ |d
   j                         |d	<   t!        |j"                  j$                        dkD  sJ t        j                  |j                  d         }|j                  |      }
 |
j                  |g| } |j                  |dg| }t        j                  ||       y # 1 sw Y   xY w)Nrq   rr   rs   ru   rv   r   z%DataFrameGroupBy.fillna is deprecatedrW   EAr   )rw   rx   ry   rz   r{   r6   r|   r}   r~   r\   r   rH   rC   rI   r7   copylen_mgrblocks)r   r!   r+   r   r|   gbrJ   op_msgr#   r"   gb2	expected2result2s                r$   #test_transform_groupby_kernel_framer     s   	X~KKZ8VW	
 (NC5D77;$$Q'(D			T	"B(N=D4F		#	#D	7 +2<<*T*+ #[""2q040F&(+ k)))))"3',,.K{&&'!+++77;$$Q'(D


d
#Cb(4(I#k##B1D1G'9-+ +s   FF'method)r;   shift
pct_changer>   rankc                     t        dddgi      }|j                  |       } t        j                  |       |      }t	        j
                  ||       y )Nr   r/   )r   rC   operatormethodcallerr   rI   )r   rk   r"   r#   s       r$   test_transform_method_namer   -  sK     
C"a>	"B\\&!F,x$$V,R0H&(+r&   )'	itertoolsr   r   numpyr6   rx   pandas.compatr   pandas.core.dtypes.commonr   pandasr   r   pandas._testing_testingr   pandas.tests.apply.commonr   r	   ry   parametrizeparamr%   r*   r9   skipifrK   get_cython_table_paramsrf   nansplitr`   re   boolrl   ro   r   r   r   r   r&   r$   <module>r      sp       0  !EF
RI&fa[Y/nd+<a6;OP	  01- 2 G- ?@ 01	- 2 A	- D!BC
J g 67, 8 D
,$ 	"""$ 266"	
 	#""BFFAq!$%	
 	#""7==?#		
?),Z
"[,Z
" 	"""$F2RZZ896"BJJ78	
 	#""BFFAq!$%FBFFAq!#45662661a"345	
 	#""7==?#x8J1K&L%M	
,--,- 	"""KY/0Y/0Y/0T*+T*+i01i01Y/0Y/06	23	
 	#""{QF+,Qx()Qx()Qx()d|,-d|,-C)*a)*123}-.61c(+,	
!"F-G"F- 	"""K9ik2Xy{4KL	
 	#""{QF+,I{QF&;<=9rvvqkAq6%:;<	
	,, 78- 9-" 67. 8.@ #ST, U,r&   