
    bMh                     @    d dl Zd dlZd dlmZ d Zd Zd Z	d Z
d ZdS )    Nc                     t          j        g dg dd                              d          } d}t          j        t
          |          5  |                     dgd	                              d
           }d d d            n# 1 swxY w Y   d}t          j        t
          |          5  |                     dgd	                              d           }d d d            n# 1 swxY w Y   t          j        ||           d S )N)AliceBobCarl)      r   )nameager	   7DataFrameGroupBy.apply operated on the grouping columnsmatchr
   F
group_keysc                     | S N groups    f/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/groupby/test_apply_mutate.py<lambda>z$test_group_by_copy.<locals>.<lambda>   s    %     c                 *    |                                  S r   )copyr   s    r   r   z$test_group_by_copy.<locals>.<lambda>   s    %**,, r   )	pd	DataFrame	set_indextmassert_produces_warningFutureWarninggroupbyapplyassert_frame_equal)dfmsggrp_by_same_valuegrp_by_copys       r   test_group_by_copyr'      s   	,,,<<	
 	

 

 i  DC		#M	=	=	= 
 
JJw5JAAGG
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 DC		#M	=	=	= 
 
jj%Uj;;AA&&
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 +[99999s$   -BB	B	--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   d
 t          dd          D             t          j                            d                              dd          d          } d }d }d}t          j        t          |          5  | 
                    d                              |          }d d d            n# 1 swxY w Y   t          j        t          |          5  | 
                    d                              |          }d d d            n# 1 swxY w Y   t          j        ||           d S )Na   b   c   defc                     g | ]}d | S )gr   ).0xs     r   
<listcomp>z&test_mutate_groups.<locals>.<listcomp>*   s    333WWW333r         d      )size)cat1cat2cat3valc                     |                                  } | j                            d          | d<   |                     d          d                                         S Nmin)methodrankr=   )r   r?   rD   r    rB   r5   s    r   f_copyz"test_mutate_groups.<locals>.f_copy/   sK    FFHHEJJeJ,,&	yy  (,,...r   c                     | j                             d          | d<   |                     d          d                                         S rA   )r?   rD   r    rB   rE   s    r   	f_no_copyz%test_mutate_groups.<locals>.f_no_copy4   s>    EJJeJ,,&	yy  (,,...r   r   r   r<   )r   r   rangenprandomdefault_rngintegersr   r   r   r    r!   assert_series_equal)r#   rF   rH   r$   
grpby_copygrpby_no_copys         r   test_mutate_groupsrQ      s,    
EAI	)EAIeaieai eai eai	
 eai eai 43eArll3339((++44Sr4BB	
 	

 
B/ / /
/ / / DC		#M	=	=	= 6 6ZZ''--f55
6 6 6 6 6 6 6 6 6 6 6 6 6 6 6		#M	=	=	= < <

6**00;;< < < < < < < < < < < < < < <:}55555s$    )C55C9<C9)EEEc                     t          j        g dt          d          d          } d}t          j        t
          |          5  |                     dd                              d	           }d d d            n# 1 swxY w Y   t          j        t
          |          5  |                     dd                              d
           }d d d            n# 1 swxY w Y   t          j        ||           d S )N)	r7   r7   r7   r.   r.   r.      rS   rS   	   )keyvaluer   r   rU   Tr   c                      | d d          j         S r   rU   rE   s    r   r   z/test_no_mutate_but_looks_like.<locals>.<lambda>H   s    QqqqTX r   c                     | j         S r   rX   rE   s    r   r   z/test_no_mutate_but_looks_like.<locals>.<lambda>J   s    QU r   )	r   r   rI   r   r   r   r    r!   rN   )r#   r$   result1result2s       r   test_no_mutate_but_looks_liker\   @   s    
999E!HHMM	N	NB
CC		#M	=	=	= O O**Ut*44::;M;MNNO O O O O O O O O O O O O O O		#M	=	=	= L L**Ut*44::??KKL L L L L L L L L L L L L L L7G,,,,,s$   ,A<<B B ",CC!Cc                    t          j        g dg dd          }d }d}t          j        t          ||            5  |                    dgd	                              |          }d d d            n# 1 swxY w Y   t          j        g d
t           j        	                    g d          d          }t          j
        ||           d S )N)Ar^   r^   Br_   r_   )r7   r.   rS         r,   )col1col2c                 >    d| j         | j        d         df<   | j        S )Nr   rc   )locindexrc   rE   s    r   fnz-test_apply_function_with_indexing.<locals>.fnT   s     %&agbk6!"vr   r   )r   raise_on_extra_warningsrb   F)as_index)r7   r.   r   r`   ra   r   ))r   r   )r   r7   )r   r.   )r7   rS   )r7   r`   )r7   ra   rc   )rg   r	   )r   r   r   r   r   r    r!   Series
MultiIndexfrom_tuplesrN   )warn_copy_on_writer#   rh   r$   resultexpecteds         r   !test_apply_function_with_indexingrq   N   sQ   	///9K9K9KLL
 
B   DC		#S>P:P
 
 
 @ @ VHu55;;B??@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ym''<<<
 
   H 68,,,,,s   ,A66A:=A:c            	         t          j        g dg dg dg dg dg ddt           j                            g d                    } d }d}t	          j        t          |          5  |                     dd	          }d d d            n# 1 swxY w Y   |                    |          }t          j        g d
g dg dgt           j                            g d                    }t	          j	        ||           d S )N)r7   r.   rS   )Cjulianr_   geoffreyr^   ru   r_   ru   r^   rw   rt   rw   )rx   rz   ry   rv   rs   r{   )columnsc                 b    | j         d         d         }|                     d          | d|f<   | S )Nr   r7   )axissum)r|   r   )groupedr	   s     r   
add_columnz8test_apply_mutate_columns_multiindex.<locals>.add_column~   s4    q!!$&{{{22tr   z+DataFrame.groupby with axis=1 is deprecatedr   r7   )levelr~   )r7   r7   r7   rS   r7   r7   r7   rS   )r.   r.   r.   r,   r.   r.   r.   r,   )rS   rS   rS   rT   rS   rS   rS   rT   ))rw   r^   rw   )rw   r_   rw   )rw   rt   rw   )rw   r   rw   )ru   r^   ru   )ru   r_   ru   )ru   rt   ru   )ru   r   ru   )
r   r   rl   rm   r   r   r   r    r!   r"   )r#   r   r$   gbro   rp   s         r   $test_apply_mutate_columns_multiindexr   g   s   	&YY(yy&YY&YY(yy(yy	
 	
 ))  	
 	

 
 
B*  
 8C		#M	=	=	= ) )ZZaaZ(() ) ) ) ) ) ) ) ) ) ) ) ) ) )XXj!!F|$$$$$$	 	 		
 ))	 	 	
 
  H8 &(+++++s   )BBB)numpyrJ   pandasr   pandas._testing_testingr   r'   rQ   r\   rq   r   r   r   r   <module>r      s                 : : :, 6  6  6F- - -- - -2<, <, <, <, <,r   