a
    d                     @   sH   d dl Zd dlZd dlmZ dd Zdd Zdd Z	dd	 Z
d
d ZdS )    Nc                  C   sb   t g dg ddd} | jdgdddd	 }| jdgddd
d	 }t|| d S )N)ZAliceZBobZCarl)      r   )nameager   r   FZ
group_keysc                 S   s   | S N groupr   r   o/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/pandas/tests/groupby/test_apply_mutate.py<lambda>       z$test_group_by_copy.<locals>.<lambda>c                 S   s   |   S r   )copyr	   r   r   r   r      r   )pd	DataFrameZ	set_indexgroupbyapplytmassert_frame_equal)dfZgrp_by_same_valueZgrp_by_copyr   r   r   test_group_by_copy   s    r   c               	   C   s   t dgd dgd  dgd dgd  dgd  d	gd  dgd  dgd  dgd  d
d tddD tjdjdddd} dd }dd }| d|}| d|}t	
|| d S )Na   b   c   defc                 S   s   g | ]}d | qS )gr   ).0xr   r   r   
<listcomp>$   r   z&test_mutate_groups.<locals>.<listcomp>      d      )size)cat1cat2Zcat3valc                 S   s,   |   } | jjdd| d< | dd  S Nmin)methodrankr*   )r   r+   r/   r   r-   r"   r   r   r   f_copy)   s    z"test_mutate_groups.<locals>.f_copyc                 S   s$   | j jdd| d< | dd  S r,   )r+   r/   r   r-   r0   r   r   r   	f_no_copy.   s    z%test_mutate_groups.<locals>.f_no_copyr)   )r   r   rangenprandomZdefault_rngZintegersr   r   r   assert_series_equal)r   r1   r2   Z
grpby_copyZgrpby_no_copyr   r   r   test_mutate_groups   s0    r7   c                  C   sX   t g dtdd} | jddddd }| jdddd	d }t|| d S )
N)	r$   r$   r$   r   r   r      r8   r8   	   )keyvaluer:   Tr   c                 S   s   | d d  j S r   r:   r0   r   r   r   r   =   r   z/test_no_mutate_but_looks_like.<locals>.<lambda>c                 S   s   | j S r   r<   r0   r   r   r   r   >   r   )r   r   r3   r   r   r   r6   )r   Zresult1Zresult2r   r   r   test_no_mutate_but_looks_like7   s    r=   c                  C   sf   t g dg dd} dd }| jdgdd|}t jg d	t jg d
dd}t|| d S )N)Ar>   r>   Br?   r?   )r$   r   r8         r   )col1col2c                 S   s   d| j | jd df< | jS )Nr   rC   )locindexrC   r0   r   r   r   fnH   s    z-test_apply_function_with_indexing.<locals>.fnrB   F)Zas_index)r$   r   r   r@   rA   r   ))r   r   )r   r$   )r   r   )r$   r8   )r$   r@   )r$   rA   rC   )rF   r   )	r   r   r   r   ZSeries
MultiIndexfrom_tuplesr   r6   )r   rG   resultexpectedr   r   r   !test_apply_function_with_indexingB   s    rL   c                  C   s   t jg dg dg dg dg dg ddt jg dd} dd }d}tjt|d | jd	d	d
}W d    n1 s~0    Y  ||}t jg dg dg dgt jg dd}t	|| d S )N)r$   r   r8   )Cjulianr?   geoffreyr>   rO   r?   rO   r>   rQ   rN   rQ   )rR   rT   rS   rP   rM   rU   )columnsc                 S   s&   | j d d }| jdd| d|f< | S )Nr   r$   )axissum)rV   rX   )Zgroupedr   r   r   r   
add_columnn   s    z8test_apply_mutate_columns_multiindex.<locals>.add_columnz+DataFrame.groupby with axis=1 is deprecated)matchr$   )levelrW   )r$   r$   r$   r8   r$   r$   r$   r8   )r   r   r   r   r   r   r   r   )r8   r8   r8   r9   r8   r8   r8   r9   ))rQ   r>   rQ   )rQ   r?   rQ   )rQ   rN   rQ   )rQ   rX   rQ   )rO   r>   rO   )rO   r?   rO   )rO   rN   rO   )rO   rX   rO   )
r   r   rH   rI   r   Zassert_produces_warningFutureWarningr   r   r   )r   rY   msggbrJ   rK   r   r   r   $test_apply_mutate_columns_multiindexW   s6    ,
r_   )numpyr4   Zpandasr   Zpandas._testingZ_testingr   r   r7   r=   rL   r_   r   r   r   r   <module>   s    