a
    d                     @   sR  d dl mZm Z  d dlmZ d dlZd dlZd dlZd dlm	Z	m
Z
mZmZmZ d dlmZ d dlmZ dd Zdd	 Zd
d Zdd Zejjde	g dg ddg dfe	g dg ddd dgfe	ddgidgfe	g deddddgfe	g dg ddg dfe	edg dg dd g d!fe	g dg d"gg d!d#ddgfgg d$d%d&d' Zd(d) Zd*d+ Zejd,d-d. d/d. d0d. d1d. gd2d3 Zd4d5 Zd6d7 Z d8d9 Z!d:d; Z"d<d= Z#d>d? Z$d@dA Z%dBdC Z&dDdE Z'dFdG Z(dHdI Z)ejdJdKdLgdMdN Z*dOdP Z+dQdR Z,dSdT Z-dUdV Z.dWdX Z/ejdYdKdLgdZd[ Z0d\d] Z1d^d_ Z2d`da Z3dbdc Z4ddde Z5dfdg Z6dhdi Z7djdk Z8dldm Z9dndo Z:dpdq Z;drds Z<ejdte = e =  e = > gdudv Z?dwdx Z@ejdydLdKgdzd{ ZAd|d} ZBejd~eCedeDd dejEddddeFg dgdd ZGejddd. d dgddggfdd. d dhddhgfdd. ddgfdd. d dddddgfdd. d d iddigd diddiggfgdd ZHdd ZIejddd. dd. gdd ZJdd ZKejddd. dd. gejdJdKdLgdd ZLdd ZMdd ZNdd ZOdd ZPdd ZQejddKdLgdd ZRejddLe	g dg dge
g deSdd#gdKeddgejFddgddgddggdd ZTdd ZUdd ZVdd ZWdd ZXejddKdLgdd ZYddÄ ZZejdg dg dŢgddǄ Z[ejdg dg dɢgg dg dʢgg dˢg d̢ggdd΄ Z\ejddKgi fg ddKifgdd҄ Z]ejdddgddք Z^ejdddd. fddd. fdddgdd߄ Z_ejddej`ddgej`dddgd ddej`ggdd Zadd ZbdS )    )datedatetime)StringION)	DataFrameIndex
MultiIndexSeriesbdate_range)get_groupby_method_argsc                     s|   t dttdd dgd } g   fdd}| d| t dgd dgd dtdd	dd
}t	 d | d S )N   
   r   )indexcolumnsc                    s     |  d S N)appendgroupgroups h/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/pandas/tests/groupby/test_apply.pystore   s    zFtest_apply_func_that_appends_group_to_list_without_copy.<locals>.storer   )r   r   d   r   )
r   listrangereset_indexgroupbyapplypdZ
RangeIndextmassert_frame_equal)dfr   Zexpected_valuer   r   r   7test_apply_func_that_appends_group_to_list_without_copy   s      r#   c                  C   s   d} t jt| d g dddggd}|d}||jj }||jjdd }t	
|| t jt| d g dd	}tg d
tdd}tg d|d}|jddddd }t	|| d S )Na+  2011.05.16,00:00,1.40893
2011.05.16,01:00,1.40760
2011.05.16,02:00,1.40750
2011.05.16,03:00,1.40649
2011.05.17,02:00,1.40893
2011.05.17,03:00,1.40760
2011.05.17,04:00,1.40750
2011.05.17,05:00,1.40649
2011.05.18,02:00,1.40893
2011.05.18,03:00,1.40760
2011.05.18,04:00,1.40750
2011.05.18,05:00,1.40649)r   timevaluer   r$   )headernamesZparse_dates	date_timec                 S   s   |   S r   idxmaxxr   r   r   <lambda>@       z#test_apply_issues.<locals>.<lambda>)r&   r'   )z
2011.05.16z
2011.05.17z
2011.05.18dtypename)z00:0002:00r2   r   F
group_keysc                 S   s   | d | d    S )Nr$   r%   r)   r+   r   r   r   r-   K   r.   )r   Zread_csvr   	set_indexr   r   r   r*   r   r    r!   r   objectr   assert_series_equal)sr"   expectedresultZexp_idxr   r   r   test_apply_issues'   s(    

r;   c                     s   t g dg ddddgd tj jdd   jdd  gddd	gd
} d}tjt|d*  jdd  jD dd}W d    n1 s0    Y  |	 fdd}t
||  d S )Nar=   br>   r=         ?       @      @      @g      @keydatarE   rF   r   r   float64r6   axiskeys+DataFrame.groupby with axis=1 is deprecatedmatchc                 S   s   g | ]}t |qS r   str.0r,   r   r   r   
<listcomp>[   r.   z&test_apply_trivial.<locals>.<listcomp>rJ   c                    s    j dd  S Nr   ilocr+   r"   r   r   r-   \   r.   z$test_apply_trivial.<locals>.<lambda>)r   r   concatrW   r    assert_produces_warningFutureWarningr   dtypesr   r!   r9   msggbr:   r   rX   r   test_apply_trivialP   s    ,8r`   c                     s   t g dg ddddgd tj  gddd	gd
} d}tjt|d,  jdd  jD ddd}W d    n1 sz0    Y  | fdd}t	||  d S )Nr<   r?   rD   rE   rF   rG   r   rH   r6   rI   rL   rM   c                 S   s   g | ]}t |qS r   rO   rQ   r   r   r   rS   j   r.   z+test_apply_trivial_fail.<locals>.<listcomp>T)rJ   r4   c                    s    S r   r   r+   rX   r   r   r-   k   r.   z)test_apply_trivial_fail.<locals>.<lambda>)
r   r   rY   r    rZ   r[   r   r\   r   r!   r]   r   rX   r   test_apply_trivial_faila   s    :ra   zdf, group_names)r   r   r         )r=   r=   r=   r>   cr=   r>   r   rb   rc   r   r   r   r   )r   r   r   r   r   r=   )r   r   r   rb   rb   r   r   rb      rb   r   rb   rc   r   rb   rc   )            rh   	   )r=   twoZ
aaabbbcccc)
rc   rj   rc   rl   rk   rb   r   rn   rk   rj   )
rj   r   rb   rb   rb   rm   rh   rl   rb   rh   )r=   BCr=   r>   rd   )rb   rb   rc   rG   )ZGH2936zGH7739 & GH10519ZGH10519ZGH2656ZGH12155ZGH20084ZGH21417)idsc                    s   g   fdd} fdd} fdd} fdd} fd	d
}|||||fD ].} d d = | j ddd|  |ksNJ qNd S )Nc                    s     | j |  S r   )r   r1   copyr   r'   r   r   f_copy   s    z/test_group_apply_once_per_group.<locals>.f_copyc                    s     | j | S r   r   r1   r   ru   r   r   f_nocopy   s    z1test_group_apply_once_per_group.<locals>.f_nocopyc                    s     | j dS Nr   rw   r   ru   r   r   f_scalar   s    z1test_group_apply_once_per_group.<locals>.f_scalarc                    s     | j d S r   rw   r   ru   r   r   f_none   s    z/test_group_apply_once_per_group.<locals>.f_nonec                    s     | j tdgdgdS )Nr   re   )r   r1   r   r   ru   r   r   f_constant_df   s    z6test_group_apply_once_per_group.<locals>.f_constant_dfr=   Fr3   )r   r   )r"   Zgroup_namesrv   rx   rz   r{   r|   funcr   ru   r   test_group_apply_once_per_groupp   s    '
r~   c                 C   sZ   d}t g dg ddg dd}|jdddd	d
  |  jd}||ksVJ d S )Nrb   )r   r   r   r   r   r   r   r   )0246810Z12Z14)group_by_columnZtest_columnr   r   Fr3   c                 S   s   t dS )Nfunction_called)printrX   r   r   r   r-      r.   z2test_group_apply_once_per_group2.<locals>.<lambda>r   )r   r   r   Z
readouterroutcount)Zcapsysr9   r"   r:   r   r   r    test_group_apply_once_per_group2   s    r   c                  C   s^   t g dtdd} dd }dd }| jdd	d
|}| jdd	d
|}t|| d S )N)r   r   r   rc   )Ar>   c                 S   s   | S r   r   r   r   r   r   slow   s    z,test_apply_fast_slow_identical.<locals>.slowc                 S   s   |   S r   rt   r   r   r   r   fast   s    z,test_apply_fast_slow_identical.<locals>.fastr   Fr3   )r   r   r   r   r    r!   )r"   r   r   Zfast_dfZslow_dfr   r   r   test_apply_fast_slow_identical   s    r   r}   c                 C   s   | S r   r   r+   r   r   r   r-      r.   r-   c                 C   s   | d d  S r   r   r+   r   r   r   r-      r.   c                 C   s   | j ddS )NFdeepr   r+   r   r   r   r-      r.   c                 C   s   | j ddS )NTr   r   r+   r   r   r   r-      r.   c                 C   s@   t g dg dg dd}|jddd| }t|| d S )Nr   rb   rb   rb   r   rb   rc   rj   )rk   rl   rm   rh   )gr=   r>   r   Fr3   r   r   r   r    r!   )r}   r"   r:   r   r   r   5test_groupby_apply_identity_maybecopy_index_identical   s    r   c                  C   s   t tjddg dd} | jdd ddj}| j}t|| t d	g d
i} | j	d | d< | 
d  j}| j
ddd j}t|| d S )Nrb   rl   onero   ro   threer   ro   foo1Zfoo2c                 S   s   | S r   r   r+   r   r   r   r-     r.   z-test_apply_with_mixed_dtype.<locals>.<lambda>r   rT   c1)r   rb   rl   rl   rh   rA   c2Fas_index)r   nprandomdefault_rngstandard_normalr   r\   r    r7   r   r   meanr   r   )r"   r:   r9   result1result2r   r   r   test_apply_with_mixed_dtype   s    r   c                  C   s6  t g dg dtdd} | jddd}| jddd}|d	j}|d	j}tg d
}t|| t|| |dd j}|dd j}t	
g d}g d}	t	j
|	dd gd}
t||
 t|| ttd}t dd	gd	dgddgddgd	dgg|d} | jdddddd j}t|| d S )N)r>   r>   r=   rd   r=   r>   )r   rb   r   r   rc   r   rl   )Zitem_iduser_idr$   r   Tr   Frb   )r   r   rb   rj   c                 S   s
   |  dS Nrb   headr+   r   r   r   r-      r.   z-test_groupby_as_index_apply.<locals>.<lambda>c                 S   s
   |  dS r   r   r+   r   r   r   r-   !  r.   ))r   r   )r   rb   r   r   rb   rj   )r   r   r   rb   )rb   r   )rc   rj   ru   abcder   rc   rj   rk   r   r   )r   r4   c                 S   s   | S r   r   r+   r   r   r   r-   .  r.   )r   r   r   r   r   r   r    assert_index_equalr   r   from_tuplesr   )r"   Zg_asZg_not_asZres_asZ
res_not_asexpZres_as_applyZres_not_as_applyZexp_not_as_applytpZexp_as_applyindresr   r   r   test_groupby_as_index_apply  s0    *r   c                 C   sx   |  ddg}dd }dd }dd }||}|jjd	ks@J ||}|jjd	ksZJ ||}|jjd
kstJ d S )Nr   rp   c                 S   s   |   }d|j_|S Nstat)describer   r1   r   r:   r   r   r   desc5  s    z.test_apply_concat_preserve_names.<locals>.descc                 S   s$   |   }d|j_|d t|  }|S r   )r   r   r1   lenr   r   r   r   desc2:  s    z/test_apply_concat_preserve_names.<locals>.desc2c                 S   s0   |   }dt| d|j_|d t|  }|S )NZstat_d)r   r   r   r1   r   r   r   r   desc3A  s    z/test_apply_concat_preserve_names.<locals>.desc3)r   rp   r   )r   rp   N)r   r   r   r'   )Zthree_groupgroupedr   r   r   r:   r   Zresult3r   r   r    test_apply_concat_preserve_names2  s    



r   c                  C   sz   dd } t ddd}ttjdd|d}|jdd	 d
d}|| }t|t	sXJ t
|drfJ t|j|j d S )Nc                 S   sN   t jdd t | }W d    n1 s,0    Y  t| | |   |dS )Nignore)invalid)r%   Zdemeanedlogged)r   Zerrstatelogr   r   )Zpiecer   r   r   r   fV  s
    (z%test_apply_series_to_frame.<locals>.fz1/1/2000r   )periodsrb   r   c                 S   s   | j S r   monthr+   r   r   r   r-   `  r.   z,test_apply_series_to_frame.<locals>.<lambda>Fr3   r1   )r	   r   r   r   r   r   r   r   
isinstancer   hasattrr    r   r   )r   Zdrtsr   r:   r   r   r   test_apply_series_to_frameU  s    
r   c                 C   s4   |  ddgd t}|jjd d dks0J d S )Nr   rp   rq   rb   r   rp   )r   r   r   r   r'   r"   r:   r   r   r    test_apply_series_yield_constanth  s    r   c                 C   sl   |  ddgt}t|ts"J |jd u s0J |  ddgddg t}t|tsZJ |jd u shJ d S )Nr   rp   rq   D)r   r   r   r   r   r1   r   r   r   r   test_apply_frame_yield_constantm  s    r   c                 C   sH   |  ddg}|t}| d }t|j|j t|j|j d S )Nr   rp   rq   )	r   r   r   r   r    r   r   assert_numpy_array_equalvaluesr"   r   r:   r9   r   r   r   test_apply_frame_to_seriesx  s
    
r   c                 C   s^   | j ddgdd}|t}| jdtjidjdd}t	|j
|j
 t|j|j d S )Nr   rp   Fr   rq   rG   r   )r   r   r   r   renamer   nandropr    r   r   r   r   r   r   r   r   )test_apply_frame_not_as_index_column_name  s
    
r   c                     s   dd }  fdd}t tjddddtjddddtjddd	  d
| } d
d |}tj	||dd |j
dksJ d S )Nc                 S   s    |  dd   jd d S )Nrp   rq   rb   )r   sumsort_valuesrW   r   r   r   r   trans  s    z-test_apply_frame_concat_series.<locals>.transc                    s,   |   | jd }|  jd d S )Nrp   rb   )r   reindexr   r   r   rW   )r   r   rX   r   r   trans2  s    z.test_apply_frame_concat_series.<locals>.trans2rb   r   rk     r   rp   rq   r   rq   F)Zcheck_names)r   r   r   r   integersr   r   r   r    r7   r1   )r   r   r:   r   r   rX   r   test_apply_frame_concat_series  s    r   c                 C   s>   | j dd dd}|dd }|dd }t|| d S )Nc                 S   s   | j S r   r   r+   r   r   r   r-     r.   z&test_apply_transform.<locals>.<lambda>Fr3   c                 S   s   | d S r   r   r+   r   r   r   r-     r.   c                 S   s   | d S r   r   r+   r   r   r   r-     r.   )r   r   	transformr    r7   )r   r   r:   r9   r   r   r   test_apply_transform  s    r   c                 C   sP   |  dd dd g}dd }||}|D ]\}}t|j| || q,d S )Nc                 S   s   | j S r   yearr+   r   r   r   r-     r.   z,test_apply_multikey_corner.<locals>.<lambda>c                 S   s   | j S r   r   r+   r   r   r   r-     r.   c                 S   s   |  ddd  S )Nr   r   r   r   r   r   r     s    z%test_apply_multikey_corner.<locals>.f)r   r   r    r!   loc)tsframer   r   r:   rE   r   r   r   r   test_apply_multikey_corner  s
    
r   r4   TFc                 C   sn   t g dtdd}|jd| ddd }|g d}| r^tjg d	|jgdd gd
|_t	|| d S )N)	r   r   r   rb   rb   rb   rc   rc   rc   rn   )rE   r%   rE   r3   c                 S   s   | j d d S r   rV   r+   r   r   r   r-     r.   z'test_apply_chunk_view.<locals>.<lambda>)r   r   rc   rj   rl   rm   )r   r   rb   rb   rc   rc   ru   )
r   r   r   r   Ztaker   from_arraysr   r    r!   )r4   r"   r:   r9   r   r   r   test_apply_chunk_view  s    r   c                  C   s@   t g dg dtdddd} | ddg}|dd	  d S )
N)
r   r   r   r   r   r   rb   rb   rb   rb   )
r   r   r   r   r   r   r   r   r   r   rn   )r1   name2r%   r1   r   c                 S   s   | j dddS )Nr%   TZinplacer   r+   r   r   r   r-     r.   z4test_apply_no_name_column_conflict.<locals>.<lambda>)r   r   r   r   )r"   r   r   r   r   "test_apply_no_name_column_conflict  s    
	r   c                  C   sp   t g dtg ddtddd} dd }| jd	d
d|}|  }tg dd|d< t|| d S )Nr@   r@   r@   rA   rA   rA   rr   rb   r@         @r   rd   vc                 S   s,   | d }||   | |    | d< | S Nr   v2minmaxr   r   r   r   r   r     s     z#test_apply_typecast_fail.<locals>.fr   Fr3           g      ?r   r   )	r   r   tilearanger   r   rt   r    r!   )r"   r   r:   r9   r   r   r   test_apply_typecast_fail  s    
r  c                  C   s   t g dg dg} tg dtg ddtddd| d	}d
d }|jddd|}| }tg dd|d< t	
|| d S )N)r   r   r   r   r   r   ri   r   rr   rb   r@   r   r   r   c                 S   s,   | d }||   | |    | d< | S r   r   r   r   r   r   r     s     z%test_apply_multiindex_fail.<locals>.fr   Fr3   r   r   )r   r   r   r   r   r  r   r   rt   r    r!   )r   r"   r   r:   r9   r   r   r   test_apply_multiindex_fail  s    
	r  c                 C   s4   | j dd dddd }| d }t|| d S )Nc                 S   s   | j S r   r   r+   r   r   r   r-     r.   z#test_apply_corner.<locals>.<lambda>Fr3   c                 S   s   | d S r   r   r+   r   r   r   r-     r.   rb   )r   r   r    r!   )r   r:   r9   r   r   r   test_apply_corner  s    r  c                  C   s\   t g dg dg dd} dd }dd }| d	|}| d	|}t|| d S )
N)r   r      i,  )r=   r>   rd   rd   r   )id_fieldcategoryr%   c                 S   s(   | j d dkr|  S | | jdk S d S Nr   r   rd   )shapert   r  r+   r   r   r   filt1  s    z&test_apply_without_copy.<locals>.filt1c                 S   s$   | j d dkr| S | | jdk S d S r  )r	  r  r+   r   r   r   filt2  s    z&test_apply_without_copy.<locals>.filt2r  r   )rF   r
  r  r9   r:   r   r   r   test_apply_without_copy  s    r  test_seriesc                 C   s   t ddgddgddggddgg dd}| rp|dd }|jdd	d
dd }| }| }t|| n8|jdd	ddd }|d}|d}t|| d S )Nr,   poXY)r   rb   rb   r   r   r   F)levelr4   c                 S   s   | S r   r   r+   r   r   r   r-   (  r.   z<test_apply_with_duplicated_non_sorted_axis.<locals>.<lambda>r3   c                 S   s   | S r   r   r+   r   r   r   r-   /  r.   )	r   r5   r   r   
sort_indexr    r7   r   r!   )r  r"   serr:   r9   r   r   r   *test_apply_with_duplicated_non_sorted_axis   s     

r  c                  C   sf   g d} g d}t ddgd | d|d}t| |dd	}d
d }|jdddj|}t|| d S )Nr   r   r   rb   rb   ZGroup1ZGroup2rb   r   r%   r   r%   r   r1   c                 S   s"   |  t| j | j d S rU   )r   r   r  r   r   r   r+   r   r   r   reindex_helperA  s    z1test_apply_reindex_values.<locals>.reindex_helperr   Fr3   )r   r   r   r%   r   r    r7   )r   indicesr"   r9   r  r:   r   r   r   test_apply_reindex_values7  s    r  c                  C   sv   d} t jdjdd| d}t|t jd| g d| d  d}|jd	d
d}dd }||}d|v srJ d S )Nr   rb   r   r   )size)foobarZbazZquxrj   )rE   value1Zvalue2rE   Fr3   c                 S   s   | d d | d< | S )Nr   rb   value3r   r   r   r   r   r   X  s    z"test_apply_corner_cases.<locals>.fr!  )r   r   r   r   r   r   r   r   )Nlabelsr"   r   r   r:   r   r   r   test_apply_corner_casesI  s    
r%  c                  C   s:  t ddgdgd ddgd} | dgdd	 }t| j| _| dgd
d	 }t|d |d  t g dg dtdgd d} dd }| d|d }| j	}| j
|_t|| dd }t g dg dg dg dd}| }t|j|_|d|j}|d|j}t|| d S )Nr   rb   z
2017-03-02r  inf)NumberDateStrr'  c                 S   s
   | j d S ry   rV   r+   r   r   r   r-   j  r.   z;test_apply_numeric_coercion_when_datetime.<locals>.<lambda>c                 S   s
   | j d S ry   rV   r+   r   r   r   r-   l  r.   r)  )r         )r  3r   z12:31:22rc   )r   rp   Tc                 S   s   | j d dg S )Nr   rp   rV   r"  r   r   r   get_Bt  s    z8test_apply_numeric_coercion_when_datetime.<locals>.get_Br   rp   c                 S   s   t g dtd}dt| jv r<t| | jdk jjd |d< dt| jv rt| | jdk jjd |d< t| | jdk jjd |d< |S )	N)p1p2useTime)r   r0   step1r   r/  step2r0  r1  )r   r6   r   StaterP   Machiner   oTime)Ztoolr   r   r   r   predictions}  s    z>test_apply_numeric_coercion_when_datetime.<locals>.predictions)rp   rp   r   r   )r2  r3  r2  r3  ) z2016-09-19 05:24:33r8  z2016-09-19 23:59:04)Z23Z36L36Rr9  )Keyr4  r6  r5  r:  )r   r   r   r   to_datetimer(  r    r7   	Timestamprp   r   r   rt   r6  r/  )r"   r9   r:   r.  r7  df1df2r   r   r   )test_apply_numeric_coercion_when_datetime`  s8    	r?  c                  C   s   t g dtdgd d} | j| j | d< | ddd }t g dtd	d
gd tdgd dd}t	|| d S )Nr   z2017-02-01 00:00:00rc   )clientidr   time_delta_zeror@  c                 S   s   t | j | j dS )N)clientid_ager   )r   rA  r   r   )Zddfr   r   r   r-     s   z?test_apply_aggregating_timedelta_and_datetime.<locals>.<lambda>r   r   )r@  rB  r   )
r   r   Z
datetime64r   r   r   Ztimedelta64r5   r    r!   r"   r:   r9   r   r   r   -test_apply_aggregating_timedelta_and_datetime  s$    
rD  c                  C   s~   ddgddgddgddgddgg} t | d	d
gtddd}|d	 }t g dg dd}|jd	dd t|| d S )Nr   r   rp   r*  r+  rq   (   2   NameValuez
2020-09-01z
2020-09-05r  r   )r   rF  Z   )rG  rH  Tr   )r   r   
date_ranger   r   r5   r    r!   )rF   r"   r:   r9   r   r   r    test_apply_groupby_datetimeindex  s    "rK  c                  C   s   t ddd tdD d} dd }dd	 }| jd
gd|}t ddidgd}d
|j_| jd
gd|}t tdddddddgd}d
|j_t	
|| t	
|| d S )Nr   c                 S   s   g | ]}t  qS r   )r   now)rR   nnr   r   r   rS     r.   z'test_time_field_bug.<locals>.<listcomp>r   re   c                 S   s   t ddiS )Nrd   rb   r   batchr   r   r   func_with_no_date  s    z.test_time_field_bug.<locals>.func_with_no_datec                 S   s   t tdddddS )N  r   rb   r>   rd   )r   r   rO  r   r   r   func_with_date  s    z+test_time_field_bug.<locals>.func_with_dater=   Zbyrd   rb   r   rR  nsrS  )r   r   r   r   r   r1   r   r<  Zas_unitr    r!   )r"   rQ  rT  Zdfg_no_conversionZdfg_no_conversion_expectedZdfg_conversionZdfg_conversion_expectedr   r   r   test_time_field_bug  s    rW  c                     s`   t g dg dg dg dd} | ddg} | jddgdd	}d
d  | fdd d S )N)r=   r=   r=   r>   r>   r>   r=   r=   r=   r>   r>   r>   )rd   rd   r   r   r   erd   rd   r   r   r   rX  )g?rb   rc   rj   rk   rl   rb   rj   rl   rh   r   rb   )gffffff@rh   rn   r         rh   rm   rl   rk   rj   rc   )group1group2weightr%   r[  r\  T)r  sortc                 S   s   t | | d}|S )Nrc   )r   arrayrepeat)r%   r]  r   r   r   r   noddy  s    z7test_gb_apply_list_of_unequal_len_arrays.<locals>.noddyc                    s    | j | jS r   )r%   r]  r+   ra  r   r   r-     r.   z:test_gb_apply_list_of_unequal_len_arrays.<locals>.<lambda>)r   r5   r   r   )r"   Z
df_groupedr   rb  r   (test_gb_apply_list_of_unequal_len_arrays  s    
rc  c                  C   sD   t g dg dd} dd }| d|}t  }t|| d S )Nrg   )rh   rm   rj   rk   )r   Zrandom_varsc                 S   s   d S r   r   r+   r   r   r   	test_func  s    z.test_groupby_apply_all_none.<locals>.test_funcr   r   )Ztest_dfrd  r:   r9   r   r   r   test_groupby_apply_all_none  s
    re  c            	      C   s   t g dg dd} t g dg dd}dd }| d|}|d|}tjddgd	d
ggdd gd}tjd
d
gddggdd gd}t ddgd	d
gd|d}t d
d
gddgd|d}t|| t|| d S )N)r   r   r   rb   )r   r   rb   rc   )r   varsr   c                 S   s    | j d dk rd S | jddg S )Nr   rb   r   )r	  rW   r+   r   r   r   rd  	  s    z0test_groupby_apply_none_first.<locals>.test_funcr   r   r   rb   ru   rc   r   )r   r   r   r   r   r    r!   )	Ztest_df1Ztest_df2rd  r   r   Zindex1index2Z	expected1Z	expected2r   r   r   test_groupby_apply_none_first  s    rh  c                  C   sl   t ddgddgd} | d}|dd }tdgd	tjddgdggdd gd
dd}t|| d S )Nr   r   Zfilledempty)r%   r   r   c                 S   s   | | j dk d S )Nr   r%   )r%   r   r   r   r   r-     r.   z7test_groupby_apply_return_empty_chunk.<locals>.<lambda>r%   ru   r1   r   )	r   r   r   r   r   from_productr   r    r7   )r"   r   r:   r9   r   r   r   %test_groupby_apply_return_empty_chunk  s    
rl  c                  C   sx   t d g dg dd} | jddd}|dd	 }t g d
g dd}t|| |dd	 }t|| d S )Nza a brf   rj   rl   rk   r   r   Fr3   c                 S   s   | |    S r   r   r+   r   r   r   r-   ,  r.   z-test_apply_with_mixed_types.<locals>.<lambda>)gUUUUUU?gUUUUUU?r   )皙?g333333?r@   rp   rq   c                 S   s   | |    S r   rn  r+   r   r   r   r-   0  r.   )r   splitr   r   r    r!   r   )r"   r   r:   r9   r   r   r   test_apply_with_mixed_types'  s    rr  c                  C   sh   t dddgitddgd} | ddd }ttdgtdggtddgddd}t|| d S )Nr=   r   rb   r   c                 S   s   | j S r   r   r"  r   r   r   r-   7  r.   z*test_func_returns_object.<locals>.<lambda>r1   )r   r   r   r   r   r    r7   rC  r   r   r   test_func_returns_object4  s    (rt  group_column_dtlikec                 C   sT   t dg| gd}|ddd }t dgtdgdddd	gd
}t|| d S )Nr  re   r=   c                 S   s   t dgdgdS )Nspam*   r   rN  r+   r   r   r   r-   H  r.   z+test_apply_datetime_issue.<locals>.<lambda>rv  r6   r/   rw  rG   r   r   r   r   r    r!   )ru  r"   r:   r9   r   r   r   test_apply_datetime_issue=  s    
ry  c               	   C   s   t tdtdtdtdtddddddddddddddd} dd }| d	|d
 }tdgtjdgd	dd
d}t|| d S )Nz2015-02-24 00:00:00)r   r   rb   rc   rj   zsome UA stringzanother UA stringZ17661101)dayZ	userAgentuserIdc                 S   s   t dd |  D S )Nc                 S   s    i | ]\}}||  jd  qS )r   )value_countsr   )rR   rd   r8   r   r   r   
<dictcomp>m  r.   zYtest_apply_series_return_dataframe_groups.<locals>.most_common_values.<locals>.<dictcomp>)r   itemsrX   r   r   r   most_common_valuesl  s    zEtest_apply_series_return_dataframe_groups.<locals>.most_common_valuesrz  r{  z
2015-02-24rs  r  )	r   r   r<  r   r   r   DatetimeIndexr    r7   )Ztdfr  r:   r9   r   r   r   )test_apply_series_return_dataframe_groupsP  s6    r  r  c                 C   s   ddgd }| rDt j|g dd}t jg dg ddd}g d}ntddgdd	}d
dg}t||d|d}ttd|ttdttdd	ddg}|j
ddddd }t|| |jjddgksJ d S )Nr   rb   rk   rf   )
categoriesrp   )r  r1   )r*     r   rs  r*  r  )rq   r   r   r   )r   rp   rq   r   r   F)Zobservedc                 S   s   |   S r   rn  r+   r   r   r   r-     r.   z-test_apply_multi_level_name.<locals>.<lambda>)r   ZCategoricalCategoricalIndexr   r   r   r  r   r   r5   r   r   r    r!   r   r'   )r  r>   Zexpected_indexexpected_valuesr9   r"   r:   r   r   r   test_apply_multi_level_namev  s$    

"r  c               	   C   s   t jtdddddddftdddddd	d
ftdddddddftdddddddfgg dd} | ddd j}tt	dt
t
tjt
gg dd}t|| d S )Ni  r   ZredZdarkr   rR  ZgreenZstormyrb   9i  ZblueZbrightrc   r   i  Zcalmrj   Zpotato)ZobservationcolorZmoodZ	intensityZscorerG   r  c                 S   s
   | j d S ry   rV   r"  r   r   r   r-     r.   z;test_groupby_apply_datetime_result_dtypes.<locals>.<lambda>zdatetime64[ns]r   )r   Zfrom_recordsr   r<  r   r   r\   r   r   r0   r6   int64r    r7   )rF   r:   r9   r   r   r   )test_groupby_apply_datetime_result_dtypes  s    	r  r   abcrc   Z2020r   )r   freq))r=   r   )r=   r   )r>   r   c                 C   sB   t g dg dd| d}|jddddd	 }t|| d S )
N)r   r   rb   )r   r   r   r  r   r   Fr3   c                 S   s   | S r   r   r+   r   r   r   r-     r.   z8test_apply_index_has_complex_internals.<locals>.<lambda>r   )r   r"   r:   r   r   r   &test_apply_index_has_complex_internals  s    r  zfunction, expected_valuesc                 C   s
   | j  S r   )r   to_listr+   r   r   r   r-     r.   c                 C   s   t | j S r   )setr   r  r+   r   r   r   r-     r.   c                 C   s   t | j S r   )tupler   r  r+   r   r   r   r-     r.   )r   r   rb   rc   c                 C   s   t t| j S r   )dict	enumerater   r  r+   r   r   r   r-     r.   c                 C   s   dd t | j D S )Nc                 S   s   g | ]\}}||iqS r   r   )rR   nir   r   r   rS     r.   z<lambda>.<locals>.<listcomp>)r  r   r  r+   r   r   r   r-     r.   c                 C   sJ   t g ddgd}|d| }t|tddgddd}t|| d S )N)r   r   rp   rp   r   rG   r   rp   rs  r   r   r   r   r   r   r    r7   )functionr  r"   r:   r9   r   r   r   1test_apply_function_returns_non_pandas_non_scalar  s    r  c                  C   sl   dd } t g ddddtjgd}|d| }td	d
gdgtjggtg dddd}t|| d S )Nc                 S   s   | d j  S )Nrp   )r   flattenr   r   r   r   fct  s    z4test_apply_function_returns_numpy_array.<locals>.fct)r=   r=   r>   noner   rb   rc   r   r   r@   rA   rB   )r=   r>   r  rs  r   )	r   r   r   r   r   r   r   r    r7   )r  r"   r:   r9   r   r   r   'test_apply_function_returns_numpy_array  s     r  r  c                 C   s   | j S r   r   Zgrr   r   r   r-     r.   c                 C   s   | j d d S rU   r   r  r   r   r   r-     r.   c                 C   sh   t g ddgd}|d| }ttg dtg dtddggtg ddd	d
}t|| d S )N)
r   rb   rb   rb   r   rb   rc   r   rc   r   idrG   )r   rj   rm   rn   )r   rb   rc   rk   rl   rh   rf   rs  r   r  )r  r"   r:   r9   r   r   r    test_apply_function_index_return  s     r  c                  C   sT   t g dg dd} | jddddd }t g d	g d
d}t|| d S )Nr   )r   rb   rj   rj   rk   rl   r   r   Fr   c                 S   s   |   S r   )r   r+   r   r   r   r-     r.   zAtest_apply_function_with_indexing_return_column.<locals>.<lambda>)r   r   ro   )rB   rC   rC   r   rC  r   r   r   /test_apply_function_with_indexing_return_column  s    r  udfc                 C   s   |   S r   r   r+   r   r   r   r-     r.   c                 C   s   |   dd S )Nc                 S   s   | d S rU   r   )yr   r   r   r-     r.   z<lambda>.<locals>.<lambda>)rt   r   r+   r   r   r   r-     r.   c                 C   s   t ddgddgd}|jd| d|}|jj|j| d|}| rh|jjdksVJ |jjdksJ n |jjdksxJ |jjdksJ d S )Nr=   r>   r   rb   r   r   r3   )r   r   r   rp   r   r   Znlevels)r4   r  r"   Z	df_resultZseries_resultr   r   r   test_apply_result_type  s    	r  c                  C   sV   t g dg dd} | jddddd }| jdddd	d }t|| d S )
N)rb   r   rb   rf   r   r   Fr3   c                 S   s   | S r   r   r+   r   r   r   r-     r.   z4test_result_order_group_keys_false.<locals>.<lambda>c                 S   s   |   S r   r   r+   r   r   r   r-     r.   r   rC  r   r   r   "test_result_order_group_keys_false	  s    r  c                  C   s   dgd dgd  dgd  } t | }t j| dd}tttdd td|d	}tttdd td|d	}|jd
dddd }|jd
dddd }t|| d S )Nz
2001-01-01rb   z
2001-01-02z
2001-01-03UTC)tzrc   rl   )r,   r  tr,   Fr3   c                 S   s   | ddg   S Nr,   r  r   rX   r   r   r   r-     r.   z1test_apply_with_timezones_aware.<locals>.<lambda>c                 S   s   | ddg   S r  r   rX   r   r   r   r-     r.   )	r   r  r   r   r   r   r   r    r!   )datesZindex_no_tzZindex_tzr=  r>  r   r   r   r   r   test_apply_with_timezones_aware  s    
  r  c                 C   s  t g dg dg dd}t ddgddgd	d
gdtddgddd}|jdd}d}tjt|dd |t}W d    n1 s0    Y  t|| |jdd}t	| |}t
|| | }tjt|dd |t}W d    n1 s0    Y  t|| d S )N)c   r  r  X   r  r  )r   rb   rc   rj   rk   rl   )r   r*  r+  rE  rF  <   rr   i  i)     rl      r  r  r  r=   rs  r   rU  z:The behavior of DataFrame.sum with axis=None is deprecatedF)rN   Zcheck_stacklevel)r   r   r   r    rZ   r[   r   r   r!   r
   getattr)Zreduction_funcr"   r9   grpr^   r:   args_r   r   r   ;test_apply_is_unchanged_when_other_methods_are_called_first   s*    (
(r  c               	   C   s   t g dtdddtdddtdddtdddgg ddtg dd	d
d} | ddg}|dd }| jg d }| }t|g d |_	|j
d	d}t|| |j	jd D ]}t|tu sJ qd S )N)r=   r=   r=   r>   i  r   r   rb   r   r   )r   e   f   g   idxrs  r   r   rp   c                 S   s
   |  dS rU   r   r+   r   r   r   r-   R  r.   zRtest_apply_with_date_in_multiindex_does_not_convert_to_timestamp.<locals>.<lambda>)r   rb   rc   )r   rp   r  rG   )r   r   r   r   r   rW   r   r   Z
from_framer   r   r    r!   levelstype)r"   r  r:   r9   valr   r   r   @test_apply_with_date_in_multiindex_does_not_convert_to_timestamp@  s(    




r  c                  C   s   t tjdddgtddgddggd} d}tjt|d	  | j	j
d
d
d}W d    n1 sh0    Y  |dd }d}tjt|d	 | j
dd
d}W d    n1 s0    Y  |dd }t||j	 t||  d S )Nrb   rl   rj   r   rp   r   rG   z5The 'axis' keyword in DataFrame.groupby is deprecatedrM   r   rJ   r  c                 S   s   | j dddS )Nr   r  Z	droplevelr+   r   r   r   r-   l  r.   zDtest_apply_by_cols_equals_apply_by_rows_transposed.<locals>.<lambda>rL   c                 S   s   | j dddS )Nr   r   r  r  r+   r   r   r   r-   q  r.   )r   r   r   r   r   rk  r    rZ   r[   r-  r   r   r!   )r"   r^   r_   Zby_rowsZgb2Zby_colsr   r   r   2test_apply_by_cols_equals_apply_by_rows_transposed^  s    .,r  dropnac                 C   sl   t g ddtjtjddgdtdd}|jd| dd	d
d }| rN| n|jg d }t	|| d S )Nr   rb   rc   rj   rk   r=   r>   )colr   Zxxyxzr   r   F)r  r4   c                 S   s   | S r   r   r+   r   r   r   r-     r.   z5test_apply_dropna_with_indexed_same.<locals>.<lambda>)r   rc   r   rb   rj   )
r   r   r   r   r   r   r  rW   r    r!   )r  r"   r:   r9   r   r   r   #test_apply_dropna_with_indexed_samew  s    r  zas_index, expected)r   r   r   )rb   rb   r   )r=   r>   N)r0   r   )rb   rb   r>   ru   r   c                 C   sH   t g dg dg dd}|jddg| ddd }t|| d S )	Nr  )r   r   r   r   rr   r=   r>   r   c                 S   s   dS rU   r   r+   r   r   r   r-     r.   z5test_apply_as_index_constant_lambda.<locals>.<lambda>)r   r   r   r    Zassert_equal)r   r9   r"   r:   r   r   r   #test_apply_as_index_constant_lambda  s    r  c                  C   sn   t g dg dg ddtdd} | ddd	 }ttd
dtjg ddd gddd}t|| d S )Nr  )rl   rm   rh   rn   r   )r   r   r   rb   rb   r   rk   r   rq   c                 S   s
   | j  S r   )r   r  r+   r   r   r   r-     r.   z(test_sort_index_groups.<locals>.<lambda>r   rl   )r   r   r   r  r   ru   r   r  )	r   r   r   r   r   r   r   r    r7   rC  r   r   r   test_sort_index_groups  s    r  c                  C   sX   t tjddddtdtdd} | j| j| jjjgdd	d	d
 }t
||  d S )Nz
2010-01-01Z12Hrk   )r  r   r   )r   valsletFr3   c                 S   s   | j dd  S ry   rV   r+   r   r   r   r-     r.   z;test_positional_slice_groups_datetimelike.<locals>.<lambda>)r   r   rJ  r   r   r   r  r   dtr   r    r!   )r9   r:   r   r   r   )test_positional_slice_groups_datetimelike  s    r  c                  C   sr   t g dg dg dd} | d}|ddg dd	 }t d
dgddgdtddgddd}t|| d S )N)r=   r=   r>   rf   rm  r   r   rp   rq   c                 S   s   |  t |   S r   )Zastypefloatr   r   r+   r   r   r   r-     r.   z7test_groupby_apply_shape_cache_safety.<locals>.<lambda>r@   r   rA   rp  r=   r>   rs  r   rx  )r"   r_   r:   r9   r   r   r   %test_groupby_apply_shape_cache_safety  s    
r  c                  C   s~   t g dg dg dd} | dddg }|dd	 }tjg d
g dgdd gd}tg d|dd}t|| d S )N)r=   r>   r=   r>   )aaacr  ad)r  r  r  r  )r=   b1b2r=   r  r  c                 S   s   |    S r   )Zunstackr|  r+   r   r   r   r-     r.   z3test_groupby_apply_to_series_name.<locals>.<lambda>)r=   r=   r>   r>   r>   )r  r  r  r  r  )Zarraysr'   )rc   r   rb   r   r   r   r  )	r   	from_dictr   r   r   r   r   r    r7   )r"   r  r:   Zexpected_idxr9   r   r   r   !test_groupby_apply_to_series_name  s    r  c                 C   s^   t g dg dddtjtjgd}|jd| d}|dd	 }|d
d	 }t|| d S )Nr  )r   r   rb   rk   r   rb   )r  r  zr  )r  c                 S   s   |  ddS )Nr   r  )nlargest)Zgrp_dfr   r   r   r-     r.   ztest_apply_na.<locals>.<lambda>c                 S   s   | j ddddS )Nr  F)Z	ascendingr   )r   r   r+   r   r   r   r-     r.   )r   r   r   r   r   r    r!   )r  r"   Zdfgrpr:   r9   r   r   r   test_apply_na  s    r  c                  C   s   t g dg dtjg ddddddgd	d
 } t ddtjdddgddtjdddggg dtjddgddgdd}t| | d S )Nr  )r8  r8  r8  r8  r   r8   )unitrr   r=   r>   c                 S   s
   | j d S Nr   rV   rX   r   r   r   r-     r.   z8test_apply_empty_string_nan_coerce_bug.<locals>.<lambda>r   r8  rb   rj   )r   r8  )rb   r8  ru   r  )	r   r   r;  r   r   r   r   r    r!   )r:   r9   r   r   r   &test_apply_empty_string_nan_coerce_bug  s"    &r  index_values)r@   rA   rB   c                 C   sb   t g dg ddt| d}t dg ditg ddd	d}|dd
d }t|| d S )N)r  a2a3rf   re   r   b_mean)rA   rB   r@   )r  r  r  r=   rs  c                 S   s   t | d  gdgdS )Nr>   r  r   )r   r   rX   r   r   r   r-     r.   z0test_apply_index_key_error_bug.<locals>.<lambda>)r   r   r   r   r    r!   )r  r:   r9   r   r   r   test_apply_index_key_error_bug   s    
r  zarg,idx)皙?333333?皙?)r  r  r  )r   rj   rc   )r  ro  r  c                 C   s8   t d| i|d}|jddddd }t|| d S )Nr  r   Fr3   c                 S   s   | S r   r   r+   r   r   r   r-   B  r.   z5test_apply_nonmonotonic_float_index.<locals>.<lambda>r   )argr  r9   r:   r   r   r   #test_apply_nonmonotonic_float_index  s    +r  zargs, kwargsnumeric_onlyc                 C   s>   |  d}|jdg|R i |}|jdd}t|| d S )Nr   r   T)r  )r   r   r   r    r!   )r"   r  kwargsr_   r:   r9   r   r   r   test_apply_str_with_argsF  s    
r  r1   Z	some_namec                 C   sL   t ddg| d}|jddgdddd }t ddg| d}t|| d S )	Nr   rb   rs  r=   Fr3   c                 S   s   | S r   r   r+   r   r   r   r-   S  r.   z1test_result_name_when_one_group.<locals>.<lambda>)r   r   r   r    r7   )r1   r  r:   r9   r   r   r   test_result_name_when_one_groupO  s    r  z
method, opr   c                 C   s
   | j d S r  )r   r_   r   r   r   r-   \  r.   c                 C   s   | d j d S )Nr>   r   rV   r  r   r   r   r-   ]  r.   )aggZskew)r  prod)r  r   c              	   C   s^   t g g d}|jddd}t|d}t|| |}tg ddtg dddd}t|| d S )	Nre   r=   Tr3   r>   rH   r/   )r1   r0   r   )r   r   r  r   r   r    r7   )methodopZempty_dfr_   r   r:   r9   r   r   r   test_empty_dfY  s    
r  	group_colr   c                 C   sh   t | g dd}|djdd }ttjdtjgdtjdgg d	gddgd
d}t	
|| d S )N)rb   rb   rb   rb   )r  	value_colr  c                 S   s   |   jg ddS )Nrf   r   )r|  r   r+   r   r   r   r-   z  r.   z0test_apply_inconsistent_output.<locals>.<lambda>rB   r  r   rf   ru   rj  )r   r   r  r   r   r   r   r   rk  r    r7   )r  r"   r:   r9   r   r   r   test_apply_inconsistent_outputq  s    r  c                  C   sv   t dddddddddd} | dddg dd	 }ttd
ggd tddgdddd}t|| d S )Nr   rb   re   r   r   rp   rq   c                 S   s   t dgS ry   )r   r_  r+   r   r   r   r-     r.   z7test_apply_array_output_multi_getitem.<locals>.<lambda>r   rs  rp  r  )	r   r   r   r   r   r_  r   r    r7   rC  r   r   r   %test_apply_array_output_multi_getitem  s     r  )cr   r   ior   numpyr   ZpytestZpandasr   r   r   r   r   r	   Zpandas._testingZ_testingr    Zpandas.tests.groupbyr
   r#   r;   r`   ra   markZparametrizer   r   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r%  r?  rD  rK  rW  rc  re  rh  rl  rr  rt  todayr$   ry  r  r  r  r  Zinterval_rangeZperiod_ranger   r  r  r  r  r  r  r  r  r  r  r  r  r6   r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r   r   r   r   <module>   sj  )
"
,	
%#


5	
&

	


	 



)


	



&
