
    Owg                     >    d dl Zd dlZd dlmZ d Zd Zd Z	d Z
d Zy)    Nc                     t        j                  g dg dd      j                  d      } d}t        j                  t
        |      5  | j                  dgd	      j                  d
       }d d d        d}t        j                  t
        |      5  | j                  dgd	      j                  d       }d d d        t        j                         y # 1 sw Y   jxY w# 1 sw Y   ,xY w)N)AliceBobCarl)      r   )nameager	   7DataFrameGroupBy.apply operated on the grouping columnsmatchr
   F
group_keysc                     | S N groups    ]/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/groupby/test_apply_mutate.py<lambda>z$test_group_by_copy.<locals>.<lambda>   s    %     c                 "    | j                         S r   )copyr   s    r   r   z$test_group_by_copy.<locals>.<lambda>   s    %**, r   )	pd	DataFrame	set_indextmassert_produces_warningDeprecationWarninggroupbyapplyassert_frame_equal)dfmsggrp_by_same_valuegrp_by_copys       r   test_group_by_copyr'      s    	,	


 i  DC		#	#$6c	B 
JJw5JAGG

 DC		#	#$6c	B 
jj%Uj;AA&

 +[9
 


 
s   	%C%C#C #C,c            	         t        j                  dgdz  dgdz  z   dgdz  dgdz  z   dgdz  z   d	gdz  z   dgdz  z   dgdz  z   dgdz  z   t        d
d      D  cg c]  } d|  	 c} t        j                  j                  d      j                  dd      d      }d }d }d}t        j                  t        |      5  |j                  d      j                  |      }d d d        t        j                  t        |      5  |j                  d      j                  |      }d d d        t        j                         y c c} w # 1 sw Y   ixY w# 1 sw Y   1xY w)Na   b   c   def      gd      )size)cat1cat2cat3valc                     | j                         } | j                  j                  d      | d<   | j                  d      d   j	                         S Nmin)methodrankr9   )r   r;   r@   r    r>   xs    r   f_copyz"test_mutate_groups.<locals>.f_copy/   sB    FFHEEJJeJ,&	yy (,,..r   c                     | j                   j                  d      | d<   | j                  d      d   j                         S r=   )r;   r@   r    r>   rA   s    r   	f_no_copyz%test_mutate_groups.<locals>.f_no_copy4   s7    EEJJeJ,&	yy (,,..r   r   r   r8   )r   r   rangenprandomdefault_rngintegersr   r   r   r    r!   assert_series_equal)rB   r#   rC   rE   r$   
grpby_copygrpby_no_copys          r   test_mutate_groupsrN      ss    
EAI	)EAIeaieai eai eai	
 eai eai ',Arl3qW399((+44Sr4B	

B/
/ DC		#	#$6c	B 6ZZ'--f5
6		#	#$6c	B <

6*00;<:}5' 46 6< <s   E !E	!E	EEc                     t        j                  g dt        d      d      } d}t        j                  t
        |      5  | j                  dd      j                  d	       }d d d        t        j                  t
        |      5  | j                  dd      j                  d
       }d d d        t        j                         y # 1 sw Y   gxY w# 1 sw Y   ,xY w)N)	r2   r2   r2   r.   r.   r.      rP   rP   	   )keyvaluer   r   rR   Tr   c                      | d d  j                   S r   rR   rA   s    r   r   z/test_no_mutate_but_looks_like.<locals>.<lambda>H   s    QqTXX r   c                     | j                   S r   rU   rA   s    r   r   z/test_no_mutate_but_looks_like.<locals>.<lambda>J   s
    QUU r   )	r   r   rF   r   r   r   r    r!   rK   )r#   r$   result1result2s       r   test_no_mutate_but_looks_likerY   @   s     
9E!HM	NB
CC		#	#$6c	B O**Ut*4::;MNO		#	#$6c	B L**Ut*4::?KL7G,	O OL Ls   $C$CCC c                    t        j                  g dg dd      }d }d}t        j                  t        ||        5  |j                  dgd	      j                  |      }d d d        t        j                  g d
t         j                  j                  g d      d      }t        j                  |       y # 1 sw Y   YxY w)N)Ar[   r[   Br\   r\   )r2   r.   rP         r,   )col1col2c                 V    d| j                   | j                  d   df<   | j                  S )Nr   r`   )locindexr`   rA   s    r   fnz-test_apply_function_with_indexing.<locals>.fnT   s&    %&aggbk6!"vvr   r   )r   raise_on_extra_warningsr_   F)as_index)r2   r.   r   r]   r^   r   ))r   r   )r   r2   )r   r.   )r2   rP   )r2   r]   )r2   r^   r`   )rd   r	   )r   r   r   r   r   r    r!   Series
MultiIndexfrom_tuplesrK   )warn_copy_on_writer#   re   r$   resultexpecteds         r   !test_apply_function_with_indexingrn   N   s    	/9KL
B DC		#	##CU?U
 @ VHu5;;B?@ yymm''<
 H 68,@ @s   $B;;Cc            	         t        j                  g dg dg dg dg dg ddt         j                  j                  g d            } d }d}t	        j
                  t        |      5  | j                  dd	      }d d d        j                  |      }t        j                  g d
g dg dgt         j                  j                  g d            }t	        j                  ||       y # 1 sw Y   pxY w)N)r2   r.   rP   )Cjulianr\   geoffreyr[   rr   r\   rr   r[   rt   rq   rt   )ru   rw   rv   rs   rp   rx   )columnsc                 X    | j                   d   d   }| j                  d      | d|f<   | S )Nr   r2   )axissum)ry   r|   )groupedr	   s     r   
add_columnz8test_apply_mutate_columns_multiindex.<locals>.add_column~   s3    q!!$&{{{2tr   z+DataFrame.groupby with axis=1 is deprecatedr   r2   )levelr{   )r2   r2   r2   rP   r2   r2   r2   rP   )r.   r.   r.   r,   r.   r.   r.   r,   )rP   rP   rP   rQ   rP   rP   rP   rQ   ))rt   r[   rt   )rt   r\   rt   )rt   rq   rt   )rt   r|   rt   )rr   r[   rr   )rr   r\   rr   )rr   rq   rr   )rr   r|   rr   )
r   r   ri   rj   r   r   FutureWarningr    r!   r"   )r#   r~   r$   gbrl   rm   s         r   $test_apply_mutate_columns_multiindexr   g   s    	&(&&((	
 ))	

B*
 8C		#	#M	= )ZZaaZ()XXj!F||$$		
 ))	
H8 &(+?) )s   *C--C6)numpyrG   pandasr   pandas._testing_testingr   r'   rN   rY   rn   r   r   r   r   <module>r      s(      :, 6F--2<,r   