
    bMh+                        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
mZ d dlmZ ej                            dddg          d             Zd	 Zd
 Zd Zej                            dddg          d             Zej                            dg d          ej                            ddddiidddgiig          d                         Zej                            ddddgiddgddgdg          d             Zd Zej                            dddg          d              Zej                            dg d          ej                            dddiddgig          d!                         Zd" Zej                            d#d$d%dd&d'gffd(g          d)             Zd* Zd+ Zej                            d, ej         e	d&d'gd'd&gg          d-e gg                    d.             Z!ej                            d/ e ej         e
d0"                                          de fd1e fd2e fd3e fd4e fd-e fg                              d5             Z#d6 Z$d7 Z%ej                            dd8 d9 d: g          d;             Z&d< Z'ej        (                    d=          ej                            d>d?dgd@fej)        dddAfg          dB                         Z*ej                            dddgdd?gg          dC             Z+ej                            dddgd?dgg          dD             Z,ej                            dEdF dG dH dI g          dJ             Z-dS )K    )chainN)SpecificationError)	DataFrameSeries
date_rangeresult_typefoo   c                 F   t          t          j        t          j        dd          d                              dd          dz   g d          }d	}t          j        t          |
          5  |                    d d|            d d d            d S # 1 swxY w Y   d S )N   int64dtype   r
   ABCcolumnszUinvalid value for result_type, must be one of {None, 'reduce', 'broadcast', 'expand'}matchc                 
    g dS )Nr
      r    xs    c/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/apply/test_invalid_arg.py<lambda>z(test_result_type_error.<locals>.<lambda>&   s
    999     axisr   	r   nptilearangereshapepytestraises
ValueErrorapply)r   dfmsgs      r    test_result_type_errorr0      s    

	!7+++Q//772>>B
 
 
B	2  
z	-	-	- G G
$$1+FFFG G G G G G G G G G G G G G G G G Gs   /BBBc                      t          g dg dg dgg d          } d}t          j        t          |          5  |                     d d	           d d d            d S # 1 swxY w Y   d S )
Nr   )      r   )      	   )ar7   c)indexz)No axis named 2 for object type DataFramer   c                     | S Nr   r   s    r    r!   z/test_apply_invalid_axis_value.<locals>.<lambda>-   s    1 r"   r   r   r*   r+   r,   r-   r.   r/   s     r    test_apply_invalid_axis_valuer>   )   s    	IIIyyy)))4OOO	L	L	LB
5C	z	-	-	- ! !
a   ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !s   AA#&A#c                      t          ddgddgd          } d}t          j        t          |          5  |                                  d d d            d S # 1 swxY w Y   d S )Nr   r
   r   r   r   zMust provider   )r   r*   r+   	TypeErroraggr=   s     r    test_agg_raisesrC   0   s    	!Qq!f--	.	.B
C	y	,	,	,  
                 s   AAAc                      t          g d          } d}t          j        t          |          5  |                     d d           d d d            d S # 1 swxY w Y   d S )Nr   z)na_action must either be 'ignore' or Noner   c                     | S r;   r   r   s    r    r!   z8test_map_with_invalid_na_action_raises.<locals>.<lambda>>   s     r"   ____	na_actionr   r*   r+   r,   map)sr/   s     r    &test_map_with_invalid_na_action_raisesrL   9   s    yyyA
5C	z	-	-	- - -	kkV,,,- - - - - - - - - - - - - - - - - -s   AAAinput_na_actionrF   Tc                     t          g d          }d|  d}t          j        t          |          5  |                    ddi|            d d d            d S # 1 swxY w Y   d S )Nr   z+na_action must either be 'ignore' or None, z was passedr   r
   r   rG   rI   )rM   rK   r/   s      r    2test_map_arg_is_dict_with_invalid_na_action_raisesrO   A   s     	yyyA
T
T
T
TC	z	-	-	- 1 1	q!f0001 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1s   AA!Amethod)r-   rB   	transformfuncr   r   sumc                      | ddgi          }d}t          j        t          |          5   t          ||          |           d d d            d S # 1 swxY w Y   d S )Nr   r
   nested renamer is not supportedr   )r*   r+   r   getattr)frame_or_seriesrP   rR   objr   s        r    test_nested_renamerrY   J   s     /3*
%
%C-E	)	7	7	7 # #VT"""# # # # # # # # # # # # # # # # # #s   AAArenamerminmaxmean)r	   barc                     t          t          d          dd          }d}t          j        t          |          5  |                    |            d d d            d S # 1 swxY w Y   d S )Nr   r   series)r   namerU   r   )r   ranger*   r+   r   rB   )rZ   rK   r/   s      r    test_series_nested_renamerrc   T   s    
 	uQxxwX666A
+C	)	5	5	5  	g                 s   A  A$'A$c                  T   t          t          j                            d                              d          g dt          dd                    } d}t          j        t          |	          5  | j	        
                    d
ddgi           d d d            d S # 1 swxY w Y   d S )Nr   )
   r   r   z1/1/2000re   )periods)r   r9   rU   r   r	   rS   r]   )r   r&   randomdefault_rngstandard_normalr   r*   r+   r   r   rB   )tsdfr/   s     r    test_apply_dict_deprrk   _   s    
	a  0099R000  D
 ,C	)	5	5	5 - -

EE6?+,,,- - - - - - - - - - - - - - - - - -s   1BB!$B!rB   rQ   c                     t          t          d          dd          }d}t          j        t          |          5   t          ||           ddiddid           d d d            d S # 1 swxY w Y   d S )	Nr3   r@   rU   r   r	   r[   r^   r\   )r   rb   r*   r+   r   rV   )rP   r.   r/   s      r    test_dict_nested_renaming_deprrm   j   s    	q**	+	+B -C	)	5	5	5 H HF5%.u~FFGGGH H H H H H H H H H H H H H H H H Hs   !A++A/2A/c                     t          ddgi          }t          j        d          }t          j        t
          |          5   t          ||           |           d d d            d S # 1 swxY w Y   d S )Nr   r
   zColumn(s) ['B'] do not existr   )r   reescaper*   r+   KeyErrorrV   )rP   rR   rX   r   s       r    test_missing_columnrr   t   s     S1#J

CI455E	xu	-	-	- # #VT"""# # # # # # # # # # # # # # # # # #s   A))A-0A-c                      t          ddgi          } d}t          j        t          |          5  |                     t
          t          t
          d           d d d            d S # 1 swxY w Y   d S )Nr7   1z#Column\(s\) \[1, 'b'\] do not existr   )r7   r
   b)r   r*   r+   rq   rQ   intstrr=   s     r    'test_transform_mixed_column_name_dtypesrx   ~   s    	C#<	 	 B
0C	xs	+	+	+ 3 3
33S112223 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3s   )A&&A*-A*z	how, args)
pct_changer   	nsmallestr7   ru   )tailr
   c                     t          ddgddgd          }d|  d}t          j        t          |          5  |                    | d|	           d d d            d S # 1 swxY w Y   d S )
Nr
   r   r   r2   )r7   ru   z
Operation z does not support axis=1r   )r$   argsr<   )howr}   r.   r/   s       r    test_apply_str_axis_1_raisesr      s    
 
!Qq!f--	.	.B
4s
4
4
4C	z	-	-	- ) )
14((() ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )s   AA"%A"c                      d} t          j        t          |           5  t          dg                              dd           d d d            d S # 1 swxY w Y   d S )Nz&No axis named 1 for object type Seriesr   r
   rS   r$   )r*   r+   r,   r   rQ   )r/   s    r    test_transform_axis_1_raisesr      s    
2C	z	-	-	- - -se!,,,- - - - - - - - - - - - - - - - - -s   &AAAc            
      &   t          g dg dg dt          j                            d                              d          t          j                            d                              d          t          j                            d                              d          d          } t          j        | j        d<   d }d	}t          j        t          |
          5  | 
                    |d           d d d            d S # 1 swxY w Y   d S )N)r	   r	   r	   r	   r^   r^   r^   r^   r	   r	   r	   )oner   r   twor   r   r   r   r   r   r   )dullr   shinyr   r   r   r   r   r   r   r   r      )r   r   r   DEF)r2   r   c                 ^    | d                              d          r| d         dk    rd| d<   | S )Nr   shinr   r	   r4   r   )
startswith)rows    r    rQ   z.test_apply_modify_traceback.<locals>.transform   s8    s8v&& 	3s8u+<+<CH
r"   z,'float' object has no attribute 'startswith'r   r
   r   )r   r&   rg   rh   ri   nanlocr*   r+   AttributeErrorr-   )datarQ   r/   s      r    test_apply_modify_tracebackr      sd          &&q))99"==&&q))99"==&&q))99"==U+	
 +	
- -D^ vDHV  
 9C	~S	1	1	1 & &

91
%%%& & & & & & & & & & & & & & & & & &s   !DD
D
zdf, func, expectedcumprodc                 D   |r	|t           f}d}t          |t                    rd nt          }t	          j        ||          5  t          j        |d          5  |                     ||           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nzcan't multiply sequence by non-int of type 'str'|cannot perform cumprod with type str|operation 'cumprod' not supported for dtype 'str'r   zusing DataFrame.cumprodr   )	NotImplementedError
isinstancerw   FutureWarningr*   r+   tmassert_produces_warningrB   )r.   rR   expectedr$   using_infer_stringr/   warns          r    "test_agg_cython_table_raises_framer      s6     312	= 
 dC((;44mD	xs	+	+	+ $ $'4MNNN 	$ 	$FF4dF###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $s6   BA=1B=B	BB	BBBzseries, func, expectedza b cprodstdvarmedianc                    d}|dk    s|t           j        u s|t           j        u rd}|r$|dt           j        t           j        fv r	|t
          f}|dz   }t          |t                    rd nt          }t          j
        ||          5  t          j        |d          5  |                     |           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nz?[Cc]ould not convert|can't multiply sequence by non-int of typer   z)Cannot convert \['a' 'b' 'c'\] to numericr   zG|does not support|has no kernel|Cannot perform|cannot perform|operationr   zis currently using Series.*)r&   	nanmedianr   r   
nancumprodr   r   rw   r   r*   r+   r   r   rB   )r`   rR   r   r   r/   r   s         r    #test_agg_cython_table_raises_seriesr      s{   $ MCx42<//4293D3D: 3dy"*bm&LLL12 	WW  dC((;44mD	xs	+	+	+  '4QRRR 	 	JJt	 	 	 	 	 	 	 	 	 	 	 	 	 	 	                 s6   CB?3C?C	CC	CCCc                      t          dd gi          } t          j        d          }t          j        t
          |          5  |                     dd i           d d d            d S # 1 swxY w Y   d S )Nr7   zint() argument must be a stringr   c                 6    t          | j        d                   S Nr   rv   ilocr   s    r    r!   z'test_agg_none_to_type.<locals>.<lambda>  s    s16!9~~ r"   )r   ro   rp   r*   r+   rA   rB   r=   s     r    test_agg_none_to_typer     s    	C$=	!	!B
)5
6
6C	y	,	,	, 0 0
--.///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s   A((A,/A,c                      t          dd gi          } d}t          j        t          |          5  |                     dd i           d d d            d S # 1 swxY w Y   d S )Nr7   zargument must be ar   c                 6    t          | j        d                   S r   r   r   s    r    r!   z-test_transform_none_to_type.<locals>.<lambda>  s    S^^ r"   )r   r*   r+   rA   rQ   r=   s     r    test_transform_none_to_typer     s    	C$=	!	!B
C	y	,	,	, 6 6
c3345556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6s   AAAc                 V    t          j        ddg                              dd          S )Nr
   r   r   )r&   arrayr)   r   s    r    r!   r!   !  s$    "(Aq6""**2q11 r"   c                 
    ddgS Nr
   r   r   r   s    r    r!   r!   "  s
    1a& r"   c                 $    t          ddg          S r   )r   r   s    r    r!   r!   #  s    &!Q.. r"   c                 D   t          t          j        t          j        dd          d                              dd          dz   g d          }d	}t          j        t          |
          5  |                    | dd           d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   r   r
   r   r   z2too many dims to broadcast|cannot broadcast resultr   	broadcastr#   r%   )rR   r.   r/   s      r    test_apply_broadcast_errorr     s     

	!7+++Q//772>>B
 
 
B ?C	z	-	-	- 8 8
A;7778 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8s   /BBBc                     d}t          j        t          |          5  t          j        d          5  |                    ddg|            d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nz3cannot combine transform and aggregation operationsr   ignoreallr\   sqrtr   r*   r+   r,   r&   errstaterB   )r$   float_framer/   s      r    test_transform_and_agg_err_aggr   2  s   
?C	z	-	-	- 8 8[X&&& 	8 	8OOUFO$O777	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	88 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8s4   A2AA2A	A2!A	"A22A69A6zignore::FutureWarningz	func, msgr   z(cannot combine transform and aggregationz2cannot perform both aggregation and transformationc                     t          j        t          |          5  t          j        d          5  |                     |           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   string_seriesrR   r/   s      r    !test_transform_and_agg_err_seriesr   :  s     
z	-	-	- $ $[X&&& 	$ 	$d###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $s4   A,AA,A	A,A	A,,A03A0c                     d}t          j        t          |          5  |                    ||            d d d            d S # 1 swxY w Y   d S )NFunction did not transformr   r   r*   r+   r,   rQ   )r$   r   rR   r/   s       r    test_transform_wont_agg_framer   L  s     'C	z	-	-	- / /d.../ / / / / / / / / / / / / / / / / /s   AA
Ac                     d}t          j        t          |          5  |                     |           d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   s      r    test_transform_wont_agg_seriesr   U  s     'C	z	-	-	- & &%%%& & & & & & & & & & & & & & & & & &s   AAA
op_wrapperc                     | S r;   r   r   s    r    r!   r!   `  s    Q r"   c                     | gS r;   r   r   s    r    r!   r!   `  s    1# r"   c                 
    d| iS Nr   r   r   s    r    r!   r!   `  s
    #q r"   c                     d| giS r   r   r   s    r    r!   r!   `  s    cTUSVZ r"   c                     ||           }t          dg di          }t          j        ||          }d}t          j        t
          |          5  |                    |           d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   )r   r   get_objr*   r+   r,   rQ   )all_reductionsrW   r   oprX   r/   s         r    test_transform_reducer_raisesr   _  s    
 
N	#	#B
S)))$
%
%C
*S/
*
*C
&C	z	-	-	-  b                 s   A44A8;A8).	itertoolsr   ro   numpyr&   r*   pandas.errorsr   pandasr   r   r   pandas._testing_testingr   markparametrizer0   r>   rC   rL   rO   rY   rc   rk   rm   rr   rx   r   r   r   get_cython_table_paramsrA   r   splitr   r   r   r   r   filterwarningsr   r   r   r   r   r   r"   r    <module>r      s         				      , , , , , ,         
       
33G G 43G! ! !  - - - *VTN;;1 1 <;1 #@#@#@AA3e"5cE7^7L!MNN# # ON BA# eU^ueneV_MMN  	 - - - E;#788H H 98H #@#@#@AA3,ug!?@@# # A@ BA#3 3 3 ${Qc
O&DkR ) ) )- - -9& 9& 9&x B	C:Sz*++y).D-E  $ $ $  	E""F7==??####	"	"9%I&
	
 
	
    !  (0 0 06 6 6 
11   	8 	8 	88 8 8 344
%DEGE**@	
	 	$ $	 	 54$ 5%.5&/!BCC/ / DC/ 5%.65/!BCC& & DC& ;;/A/ACWCWX 	 	 	 	 	r"   