
    o[we                     @    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gd                              d           }|                     dgd                              d	           }t          j        ||           d S )
N)AliceBobCarl)      r   )nameager	   r
   F
group_keysc                     | S N groups    Flib/python3.11/site-packages/pandas/tests/groupby/test_apply_mutate.py<lambda>z$test_group_by_copy.<locals>.<lambda>   s    RW     c                 *    |                                  S r   )copyr   s    r   r   z$test_group_by_copy.<locals>.<lambda>   s    ejjll r   )pd	DataFrame	set_indexgroupbyapplytmassert_frame_equal)dfgrp_by_same_valuegrp_by_copys      r   test_group_by_copyr!      s    	,,,<<	
 	

 

 i  

E7u
==CCDWDWXX**eW*77=="" K +[99999r   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                              |          }|                     d                              |          }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rankr7   )r   r9   r>   r   r<   r/   s    r   f_copyz"test_mutate_groups.<locals>.f_copy)   sK    FFHHEJJeJ,,&	yy  (,,...r   c                     | j                             d          | d<   |                     d          d                                         S r;   )r9   r>   r   r<   r?   s    r   	f_no_copyz%test_mutate_groups.<locals>.f_no_copy.   s>    EJJeJ,,&	yy  (,,...r   r6   )r   r   rangenprandomdefault_rngintegersr   r   r   assert_series_equal)r   r@   rB   
grpby_copygrpby_no_copys        r   test_mutate_groupsrK      sP    
EAI	)EAIeaieai eai eai	
 eai eai 43eArll3339((++44Sr4BB	
 	

 
B/ / /
/ / / F##))&11JJJv&&,,Y77M:}55555r   c                  (   t          j        g dt          d          d          } |                     dd                              d           }|                     dd                              d           }t          j        ||           d S )	N)	r1   r1   r1   r(   r(   r(      rM   rM   	   )keyvaluerO   Tr   c                      | d d          j         S r   rO   r?   s    r   r   z/test_no_mutate_but_looks_like.<locals>.<lambda>=   s    111 r   c                     | j         S r   rR   r?   s    r   r   z/test_no_mutate_but_looks_like.<locals>.<lambda>>   s     r   )r   r   rC   r   r   r   rH   )r   result1result2s      r   test_no_mutate_but_looks_likerV   7   s     
999E!HHMM	N	NBjj4j00667I7IJJGjj4j0066GGG7G,,,,,r   c                  2   t          j        g dg dd          } d }|                     dgd                              |          }t          j        g dt           j                            g d	          d
          }t          j        ||           d S )N)ArX   rX   BrY   rY   )r1   r(   rM         r&   )col1col2c                 >    d| j         | j        d         df<   | j        S )Nr   r]   )locindexr]   r?   s    r   fnz-test_apply_function_with_indexing.<locals>.fnH   s     %&agbk6!"vr   r\   F)as_index)r1   r(   r   rZ   r[   r   ))r   r   )r   r1   )r   r(   )r1   rM   )r1   rZ   )r1   r[   r]   )ra   r	   )	r   r   r   r   Series
MultiIndexfrom_tuplesr   rH   )r   rb   resultexpecteds       r   !test_apply_function_with_indexingri   B   s    	///9K9K9KLL
 
B   ZZ5Z1177;;Fym''<<<
 
   H 68,,,,,r   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)r1   r(   rM   )CjulianrY   geoffreyrX   rm   rY   rm   rX   ro   rl   ro   )rp   rr   rq   rn   rk   rs   )columnsc                 b    | j         d         d         }|                     d          | d|f<   | S )Nr   r1   )axissum)rt   rw   )groupedr	   s     r   
add_columnz8test_apply_mutate_columns_multiindex.<locals>.add_columnn   s4    q!!$&{{{22tr   z+DataFrame.groupby with axis=1 is deprecated)matchr1   )levelrv   )r1   r1   r1   rM   r1   r1   r1   rM   )r(   r(   r(   r&   r(   r(   r(   r&   )rM   rM   rM   rN   rM   rM   rM   rN   ))ro   rX   ro   )ro   rY   ro   )ro   rl   ro   )ro   rw   ro   )rm   rX   rm   )rm   rY   rm   )rm   rl   rm   )rm   rw   rm   )
r   r   re   rf   r   assert_produces_warningFutureWarningr   r   r   )r   ry   msggbrg   rh   s         r   $test_apply_mutate_columns_multiindexr   W   s   	&YY(yy&YY&YY(yy(yy	
 	
 ))  	
 	

 
 
B*  
 8C		#M	=	=	= ) )ZZaaZ(() ) ) ) ) ) ) ) ) ) ) ) ) ) )XXj!!F|$$$$$$	 	 		
 ))	 	 	
 
  H8 &(+++++s   )BBB)numpyrD   pandasr   pandas._testing_testingr   r!   rK   rV   ri   r   r   r   r   <module>r      s                 : : : 6 6 6@- - -- - -*<, <, <, <, <,r   