
    Pib                        d dl mZm Z  d dlZd dlZd dlm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 Zd Zd Ze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gfgg d           d!             Zd" Zd# Zd$ Zej                            d%d& d' d( d) g          d*             Zd+ Zd, Z d- Z!d. Z"d/ Z#d0 Z$d1 Z%d2 Z&d3 Z'd4 Z(d5 Z)d6 Z*ej                            d7d8d9g          d:             Z+d; Z,d< Z-d= Z.d> Z/d? Z0ej                            d@d8d9g          dA             Z1dB Z2dC Z3dD Z4dE Z5dF Z6dG Z7dH Z8dI Z9dJ Z:dK Z;ej                            dLg dMg dNdOddgd dggdPd dgigg dQg dNdOddgddRggdPddRgigg          dS             Z<dT Z=ej                            dUdVdWg          dX             Z>dY Z?ej                            dZ e j@                     e j@                                                     e j@                    A                                g          d[             ZBd\ ZCej                            d]d9d8g          d^             ZDd_ ZEej                            d` ejF         eda                     ejG        d dR           ejH        dbdRdcd           ejI        g de          g          df             ZJej                            dgdh d dgddRggfdi d dhddRhgfdj dkdlgfdm d ddkddRdkgfdn d d iddigd diddRiggfg          do             ZKdp ZLej                            dqdr ds g          dt             ZMdu ZNej                            dvdw dx g          ej                            d7d8d9g          dy                         ZOdz ZPd{ ZQd| ZRd} ZSd~ ZTej                            dd9 e	g dg dg e
g deU                    gd8 eddg ejI        ddgddg                    gg          d             ZVd ZWd ZXd ZYd ZZd Z[d Z\ej                            dg dg dg          d             Z]ej                            dg dg dgg dg dgg dg dgg          d             Z^ej                            dd8gi fg dd8ifg          d             Z_ej                            dddg          d             Z`ej                            ddVd fdVd fddddg          d             Zad Zbej                            decdfeddfeedRfg          d             Zfd Zgd Zhd ZidS )    )datedatetimeN)Pandas4Warning)	DataFrameIndex
MultiIndexSeriesbdate_range)get_groupby_method_argsc                     t          dt          t          d                    dz  dg                                          } g fd}|                     d                              |           t          ddgdz  it          j        ddd                    }|j        	                    t                    |_        t          j        d         |           d S )	N   
   r   )indexcolumnsc                 2                         |            d S N)append)groupgroupss    s/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/groupby/test_apply.pystorezFtest_apply_func_that_appends_group_to_list_without_copy.<locals>.store   s    e    r   d   r   )r   listrangereset_indexgroupbyapplypd
RangeIndexr   astypeobjecttmassert_frame_equal)dfr   expected_valuer   s      @r   7test_apply_func_that_appends_group_to_list_without_copyr(      s     
1DrOOb01#	>	>	>	J	J	L	LBF     JJwe$$$A38}BM!S"4M4MNNNN+3::6BBN&)^44444r   c                 l   g d}t          dg dit          t          j        |          d                    }|                    |j        j                                                  }|                    |j        j                                      d           }t          j
        ||           d S )Nz2011-05-16 00:00z2011-05-16 01:00z2011-05-16 02:00z2011-05-16 03:00z2011-05-17 02:00z2011-05-17 03:00z2011-05-17 04:00z2011-05-17 05:00z2011-05-18 02:00z2011-05-18 03:00z2011-05-18 04:00z2011-05-18 05:00value	/?ݓ?Q?j?r-   r.   r/   r0   r-   r.   r/   r0   	date_timenamer   c                 *    |                                  S r   idxmaxxs    r   <lambda>z'test_apply_index_date.<locals>.<lambda>K   s    qxxzz r   )r   r   r    to_datetimer   r   r   r6   r   r$   r%   )using_infer_stringtsr&   expectedresults        r   test_apply_index_dater?   '   s    
 
 
B 
   	
  BN2&&[999#
 
 
B& zz"(-((//11HZZ&&,,-A-ABBF&(+++++r   c                     g d} t          d | D             ddg          }g d|d<   t          g dd	          }t          g d
|          }|                    d                              d           }t          j        ||           d S )Nr*   c                 6    g | ]}|                                 S  )split).0rows     r   
<listcomp>z0test_apply_index_date_object.<locals>.<listcomp>`   s     ...CCIIKK...r   r   timer   r,   r+   )z
2011-05-16z
2011-05-17z
2011-05-18r2   )z00:0002:00rI   r   c                 N    | d         | d                                                   S )NrG   r+   r5   r7   s    r   r9   z.test_apply_index_date_object.<locals>.<lambda>q   s    &	!G*:K:K:M:M0N r   )r   r   r	   r   r   r$   assert_series_equal)r<   r&   exp_idxr=   r>   s        r   test_apply_index_date_objectrM   O   s    
 
 
B 
..2...8H	I	I	IB  BwK >>>VLLLG111AAAHZZ%%&N&NOOF68,,,,,r   zdf, group_names)r   r   r         )arP   rP   bcrP   rQ   r   rN   rO   r   r   r   r   )r   r   r   r   r   rP   )r   r   r   rN   rN   r   r   rN      rN   r   rN   rO   r   rN   rO   )            rV   	   )rP   two
aaabbbcccc)
rO   rX   rO   rZ   rY   rN   r   r\   rY   rX   )
rX   r   rN   rN   rN   r[   rV   rZ   rN   rV   )rP   BCrP   rQ   rR   )rN   rN   rO   rH   )GH2936zGH7739 & GH10519GH10519GH2656GH12155GH20084GH21417)idsc                     g fd}fd}fd}fd}fd}|||||fD ]7}d d = |                      d                              |           |k    sJ 8d S )Nc                 `                         | j                   |                                 S r   )r   r3   copyr   namess    r   f_copyz/test_group_apply_once_per_group.<locals>.f_copy   s%    UZ   zz||r   c                 <                         | j                   | S r   r   r3   rl   s    r   f_nocopyz1test_group_apply_once_per_group.<locals>.f_nocopy   s    UZ   r   c                 <                         | j                   dS Nr   rp   rl   s    r   f_scalarz1test_group_apply_once_per_group.<locals>.f_scalar   s    UZ   qr   c                 <                         | j                   d S r   rp   rl   s    r   f_nonez/test_group_apply_once_per_group.<locals>.f_none   s    UZ     r   c                 `                         | j                   t          dgdgd          S )Nr   rS   )r   r3   r   rl   s    r   f_constant_dfz6test_group_apply_once_per_group.<locals>.f_constant_df   s1    UZ   s!--...r   rP   )r   r   )	r&   group_namesrn   rq   rt   rv   rx   funcrm   s	           @r   test_group_apply_once_per_groupr{   u   s    N E    
    
    
! ! ! ! !/ / / / /
 8V]C $ $!!!H


3d########	$ $r   c                     d}t          g dg ddg d          }|                    dd                              d	            |                                 j                            d
          }||k    sJ d S )NrN   )r   r   r   r   r   r   r   r   )02468101214)group_by_columntest_columnr   r   F
group_keysc                      t          d          S )Nfunction_called)printr&   s    r   r9   z2test_group_apply_once_per_group2.<locals>.<lambda>   s    5*++ r   r   )r   r   r   
readouterroutcount)capsysr=   r&   r>   s       r    test_group_apply_once_per_group2r      s     H	777FFF	
 	
 :99
 
 
B JJ UJ3399++     $**+<==FXr   c                  &   t          g dt          d          d          } d }d }|                     dd                              |          }|                     dd                              |          }t	          j        ||           d S )	N)r   r   r   rO   )ArQ   c                     | S r   rB   r   s    r   slowz,test_apply_fast_slow_identical.<locals>.slow   s    r   c                 *    |                                  S r   rk   r   s    r   fastz,test_apply_fast_slow_identical.<locals>.fast   s    zz||r   r   Fr   )r   r   r   r   r$   r%   )r&   r   r   fast_dfslow_dfs        r   test_apply_fast_slow_identicalr      s     
q22	3	3B     jjj//55d;;Gjjj//55d;;G'7+++++r   c                  2   t          g dg dd                              d          } |                     dgd                              d           }|                     dgd                              d	           }t	          j        ||           d S )
N)AliceBobCarl)      r   )r3   ager3   r   Fr   c                     | S r   rB   r   s    r   r9   z6test_apply_fast_slow_identical_index.<locals>.<lambda>   s    RW r   c                 *    |                                  S r   r   r   s    r   r9   z6test_apply_fast_slow_identical_index.<locals>.<lambda>   s    ejjll r   )r   	set_indexr   r   r$   r%   )r&   grp_by_same_valuegrp_by_copys      r   $test_apply_fast_slow_identical_indexr      s    	,,,<<	
 	

 

 i  

E7u
==CCDWDWXX**eW*77=="" K +[99999r   rz   c                     | S r   rB   r7   s    r   r9   r9      s    ! r   c                     | d d          S r   rB   r7   s    r   r9   r9      s    !AAA$ r   c                 .    |                      d          S )NFdeepr   r7   s    r   r9   r9      s    !&&e&$$ r   c                 .    |                      d          S )NTr   r   r7   s    r   r9   r9      s    !&&d&## r   c                     t          g dg dg dd          }|                    dd                              |           }t          j        ||dd	g                    d S )
Nr   rN   rN   rN   r   rN   rO   rX   )rY   rZ   r[   rV   )grP   rQ   r   Fr   rP   rQ   r   r   r   r$   r%   )rz   r&   r>   s      r   5test_groupby_apply_identity_maybecopy_index_identicalr      sk     
LLL|||LL	M	MBZZZ..44T::F&"c3Z.11111r   c                     t          t          j                            d                              d          g dd          } |                     d d          }| }t          j        ||           t          dg d	i          } | j        d
z  | d<   | 	                    d          
                                                                }| 	                    dd          
                                }t          j        ||           d S )NrN   rZ   oner]   r]   threer   r]   foo1foo2c                     | S r   rB   r7   s    r   r9   z-test_apply_with_mixed_dtype.<locals>.<lambda>  s     r   r   axisc1)r   rN   rZ   rZ   rV          @c2Fas_index)r   nprandomdefault_rngstandard_normalr   r$   r%   r   r   meanr   )r&   r>   r=   result1result2s        r   test_apply_with_mixed_dtyper     s    	I))!,,<<Q??@@@	
 	

 
B XXkkX**FH&(+++ 
D///*	+	+Bus{BtHjj##%%1133Gjjj..3355G'7+++++r   c                    t          g dg dt          d          d          }|                    d|           }t          g dg dg d	dg d	
          }|                    d          }t	          j        ||           | rg d}t          j        |dd g          }nt          g d          }t          t          d          g dd|
          }|
                    d           }t	          j        ||           d S )N)rQ   rQ   rP   rR   rP   rQ   )r   rN   r   r   rO   r   rZ   )item_iduser_idrG   r   r   )rQ   rQ   rP   rP   )r   rN   r   rO   )r   r   rN   rX   r   rN   )r   r   r   rN   )rN   r   )rO   rX   rm   )r   rN   r   rX   baba)r   rG   c                 ,    |                      d          S NrN   headr7   s    r   r9   z-test_groupby_as_index_apply.<locals>.<lambda>D  s    q		 r   )r   r   r   r   r$   r%   r   from_tuplesr   r   r   )r   r&   gbr=   r>   tpr   s          r   test_groupby_as_index_applyr      sT   	555)))!HH	
 	

 
B 
I	1	1B+++#|| LL	
 	

 ll  H WWQZZF&(+++  $---&r)T1BCCClll##F|| LL	
 	
   H XX))**F&(+++++r   c                  
   t          t          d                    } t          ddgddgddgddgddgg|           }|                    d	d
d
                              d           j        }t          j        ||            d S )Nabcder   rN   rO   rX   rY   rZ   r   r   F)r   r   c                     | S r   rB   r7   s    r   r9   z1test_groupby_as_index_apply_str.<locals>.<lambda>K  s    ! r   )r   r   r   r   r   r   r$   assert_index_equal)indr&   ress      r   test_groupby_as_index_apply_strr   H  s    
W

C	QFQFQFQFQF;3	G	G	GB
**Q5*
9
9
?
?
L
L
RC#s#####r   c                 0   |                      ddg          }d }d }d }|                    |          }|j        j        dk    sJ |                    |          }|j        j        dk    sJ |                    |          }|j        j        dk    sJ d S )Nr   r_   c                 F    |                                  }d|j        _        |S Nstat)describer   r3   r   r>   s     r   descz.test_apply_concat_preserve_names.<locals>.descR  s     !!"r   c                 t    |                                  }d|j        _        |d t          |                    }|S r   )r   r   r3   lenr   s     r   desc2z/test_apply_concat_preserve_names.<locals>.desc2W  s4    !!"#e**%r   c                     |                                  }dt          |           d|j        _        |d t          |                    }|S )Nstat_d)r   r   r   r3   r   s     r   desc3z/test_apply_concat_preserve_names.<locals>.desc3^  sG    !! 3CJJ222#e**%r   )r   r_   r   )r   r_   N)r   r   r   rm   )three_groupgroupedr   r   r   r>   r   result3s           r    test_apply_concat_preserve_namesr   O  s    !!3*--G  
     ]]4  F<!33333mmE""G="44444mmE""G="2222222r   c                     d } t          dd          }t          t          j                            d                              d          |          }|                    d d	          }|                    |           }t          |t                    sJ t          |d
          rJ t          j        |j        |j                   d S )Nc                     t          j        d          5  t          j        |           }d d d            n# 1 swxY w Y   t          | | |                                 z
  |d          S )Nignore)invalid)r+   demeanedlogged)r   errstatelogr   r   )piecer   s     r   fz%test_apply_series_to_frame.<locals>.fs  s    [*** 	# 	#VE]]F	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#)=PP
 
 	
s   7;;z1/1/2000r   periodsrN   r   c                     | j         S r   monthr7   s    r   r9   z,test_apply_series_to_frame.<locals>.<lambda>}      17 r   Fr   r3   )r
   r	   r   r   r   r   r   r   
isinstancer   hasattrr$   r   r   )r   drr<   r   r>   s        r   test_apply_series_to_framer  r  s    
 
 
 
Z	,	,	,B		%%a((88<<B	G	G	GBjj**uj==G]]1Ffi(((((vv&&&&&&,11111r   c                     |                      ddg          d                             t                    }|j        j        d d         dk    sJ d S )Nr   r_   r`   rN   r   r_   )r   r   r   r   rm   r&   r>   s     r    test_apply_series_yield_constantr    sO    ZZc
##C(..s33F<bqb!Z//////r   c                 R   |                      ddg                              t                    }t          |t                    sJ |j        J |                      ddg          ddg                             t                    }t          |t                    sJ |j        J d S )Nr   r_   r`   D)r   r   r   r  r	   r3   r  s     r   test_apply_frame_yield_constantr    s    ZZc
##))#..Fff%%%%%;ZZc
##S#J/55c::Fff%%%%%;r   c                    |                      ddg          }|                    t                    }|                                d         }t	          j        |j        |j                   t	          j        |j        |j                   d S )Nr   r_   r`   )	r   r   r   r   r$   r   r   assert_numpy_array_equalvaluesr&   r   r>   r=   s       r   test_apply_frame_to_seriesr    sn    jj#s$$G]]3F}}s#H&,777x?????r   c                 x   |                      ddgd          }|                    t                    }|                                                    dt
          j        i                              d          }t          j	        |j
        |j
                   t          j        |j        |j                   d S )Nr   r_   Fr   r`   rH   r  )r   r   r   r   renamer   nandropr$   r   r   r  r  r  s       r   )test_apply_frame_not_as_index_column_namer    s    jj#sej44G]]3F}}%%sBFm%<<AA#ANNH&,777x?????r   c                  Z   d } f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
           |j
        d	k    sJ d S )Nc                     |                      d          d                                                                         j        d d         S )Nr_   r`   rN   )r   sumsort_valuesilocr   s    r   transz-test_apply_frame_concat_series.<locals>.trans  s=    }}S!!#&**,,88::?CCr   c                     |                                          | j                  d                   }|                                                                j        d d         S )Nr_   rN   )r   reindexr   r  r  r  )r   r   r&   s     r   trans2z.test_apply_frame_concat_series.<locals>.trans2  sM    --

5; 7 7 <=={{}}((**/33r   rN   r   rY   i  r   r_   r`   r   r`   F)check_names)r   r   r   r   integersr   r   r   r$   rK   r3   )r  r"  r>   expr&   s       @r   test_apply_frame_concat_seriesr'    s&   D D D4 4 4 4 4 
&&q))221a>>&&q))221a>>&&q))99$??	
 	

 
B ZZ__""5))F
**S//#

$
$V
,
,C63E::::;#r   c                     |                      d d          }|                    d           }|                    d           }t          j        ||           d S )Nc                     | j         S r   r  r7   s    r   r9   z&test_apply_transform.<locals>.<lambda>  r  r   Fr   c                     | dz  S r   rB   r7   s    r   r9   z&test_apply_transform.<locals>.<lambda>  s
    QU r   c                     | dz  S r   rB   r7   s    r   r9   z&test_apply_transform.<locals>.<lambda>  s
    1q5 r   )r   r   	transformr$   rK   )r<   r   r>   r=   s       r   test_apply_transformr-    s\    jj**uj==G]]??++F  11H68,,,,,r   c                     |                      d d g          }d }|                    |          }|D ].\  }}t          j        |j        |          ||                     /d S )Nc                     | j         S r   yearr7   s    r   r9   z,test_apply_multikey_corner.<locals>.<lambda>  s     r   c                     | j         S r   r  r7   s    r   r9   z,test_apply_multikey_corner.<locals>.<lambda>  s    17 r   c                 <    |                      d          dd          S )Nr   r  r   s    r   r   z%test_apply_multikey_corner.<locals>.f  s      %%bcc**r   )r   r   r$   r%   loc)tsframer   r   r>   keyr   s         r   test_apply_multikey_cornerr9    s    oo//1B1BCDDG+ + + ]]1F 9 9
U
fjoqqxx88889 9r   r   TFc                 T   t          g dt          d          d          }|                    d|                               d           }|dg                             g d          }| r&t          j        g d	|j        gdd g
          |_        t          j	        ||           d S )N)	r   r   r   rN   rN   rN   rO   rO   rO   r\   )r8  r+   r8  r   c                      | j         d d         S r   r  r7   s    r   r9   z'test_apply_chunk_view.<locals>.<lambda>  s    afRaRj r   r+   )r   r   rO   rX   rZ   r[   )r   r   rN   rN   rO   rO   r   )
r   r   r   r   taker   from_arraysr   r$   r%   )r   r&   r>   r=   s       r   test_apply_chunk_viewr?    s     
666qJJ	K	KBZZ*Z55;;<P<PQQF7)}!!"4"4"455H 
#/0
 
 
 &(+++++r   c            	          t          g dg dt          ddd          d          } |                     ddg          }|                    d            d S )	N)
r   r   r   r   r   r   rN   rN   rN   rN   )
r   r   r   r   r   r   r   r   r   r   r\   )r3   name2r+   r3   rB  c                 0    |                      dd          S )Nr+   Tinplacer5  r7   s    r   r9   z4test_apply_no_name_column_conflict.<locals>.<lambda>  s    AMM'4M@@ r   )r   r   r   r   )r&   r   s     r   "test_apply_no_name_column_conflictrF    sp    	2223331b"%%	
 	

 
B jj&'*++GMM@@AAAAAr   c                  L   t          g dt          j        g dd          t          j        dd          d          } d }|                     dd	
                              |          }| ddg         }t          j        g dd          |d<   t          j        ||           d S )N      ?rI  rI  r   r   r   ra   rN   rI        @r   rR   vc                     | d         }||                                 z
  |                                |                                 z
  z  | d<   | S NrL  v2minmaxr   rL  s     r   r   z#test_apply_typecast_fail.<locals>.f  ?    #J15577{quuww'89dr   r   Fr   rR   rL          g      ?r   rO  )r   r   tilearanger   r   r$   r%   )r&   r   r>   r=   s       r   test_apply_typecast_failrY    s    	///!,,3$$	
 	

 
B  
 ZZZ..44Q77F3*~HW]]]A..HTN&(+++++r   c                     t          j        g dg dg          } t          g dt          j        g dd          t          j        dd          d| 	          }d
 }|                    dd                              |          }|ddg         }t          j        g dd          |d<   t          j	        ||           d S )N)r   r   r   r   r   r   rW   rH  ra   rN   rI  rJ  rK  r   c                     | d         }||                                 z
  |                                |                                 z
  z  | d<   | S rN  rP  rS  s     r   r   z%test_apply_multiindex_fail.<locals>.f  rT  r   r   Fr   rR   rL  rU  rO  )
r   r>  r   r   rW  rX  r   r   r$   r%   )r   r&   r   r>   r=   s        r   test_apply_multiindex_failr\    s    "$6$6$68J8J8J#KLLE	///!,,3$$	
 	

 
 
 
B  
 ZZZ..44Q77F3*~HW]]]A..HTN&(+++++r   c                     |                      d d                              d           }| dz  }t          j        ||           d S )Nc                     | j         S r   r0  r7   s    r   r9   z#test_apply_corner.<locals>.<lambda>  s    qv r   Fr   c                     | dz  S r   rB   r7   s    r   r9   z#test_apply_corner.<locals>.<lambda>  s    QRUVQV r   rN   )r   r   r$   r%   )r7  r>   r=   s      r   test_apply_cornerr`    sM    __--%_@@FFWWF{H&(+++++r   c                     t          g dg dg dd          } d }d }|                     d                              |          }|                     d                              |          }t          j        ||           d S )N)r   r      i,  )rP   rQ   rR   rR   r   )id_fieldcategoryr+   c                 n    | j         d         dk    r|                                 S | | j        dk             S Nr   r   rR   )shaperk   rd  r7   s    r   filt1z&test_apply_without_copy.<locals>.filt1+  s0    71:??6688OQZ3&''r   c                 J    | j         d         dk    r| S | | j        dk             S rf  )rg  rd  r7   s    r   filt2z&test_apply_without_copy.<locals>.filt21  s(    71:??HQZ3&''r   rc  r   )datarh  rj  r=   r>   s        r   test_apply_without_copyrl    s     ,,,,,,!\\	
 	
 D( ( (( ( ( ||J''--e44H\\*%%++E22F&(+++++r   test_seriesc                    t          ddgddgddggddgg d          }| r_|                    d          d         }|                    dd	
                              d           }|}t	          j        ||           d S |                    dd	                              d           }|dg         }t	          j        ||           d S )Nr8   poXY)r   rN   rN   r   r   r   F)levelr   c                     | S r   rB   r7   s    r   r9   z<test_apply_with_duplicated_non_sorted_axis.<locals>.<lambda>D  s     r   r   c                     | S r   rB   r7   s    r   r9   z<test_apply_with_duplicated_non_sorted_axis.<locals>.<lambda>H      1 r   )r   r   r   r   r$   rK   r%   )rm  r&   serr>   r=   s        r   *test_apply_with_duplicated_non_sorted_axisry  <  s     

sc3Z#s,sCj			
 
 
B  0ll3$177==kkJJ
vx00000CE2288EEse9
fh/////r   c                      g d} g d}t          ddgdz  | d|          }t          | |d	          }d
 }|                    dd          j                            |          }t          j        ||           d S )Nr   r   r   rN   rN   Group1Group2rN   r   r+   r   r+   r   r3   c                     |                      t          j        | j                                        | j                                        dz                       S Nr   )r!  r   rX  r   rQ  rR  r7   s    r   reindex_helperz1test_apply_reindex_values.<locals>.reindex_helperW  s9    yy17;;==!'++--!2CDDEEEr   r   Fr   )r   r	   r   r+   r   r$   rK   )r  indicesr&   r=   r  r>   s         r   test_apply_reindex_valuesr  M  s    
 \\FllG	h1A5GGw	W	W	WBfG':::HF F F ZZEZ228>>~NNF8V,,,,,r   c                  t   d} t           j                            d                              dd|           }t	          |t           j                            d                              |           g d| dz  z  d          }|                    d	d
          }d }|                    |          }d|v sJ d S )Nr   rN   r   r   size)foobarbazquxrP   rY   )r8  value1value2r8  Fr   c                 "    | d         dz  | d<   | S )Nr  rN   value3rB   r   s    r   r   z"test_apply_corner_cases.<locals>.fn  s    kAo(r   r  )r   r   r   r%  r   r   r   r   )Nlabelsr&   r   r   r>   s         r   test_apply_corner_casesr  _  s     	AY""1%%..q#A.>>F	i++A..>>qAA77716B	
 	

 
B jj5j11G   ]]1Fvr   c                  b   t          ddgdgdz  ddgd          } |                     dg                              d           }t          j        | j                  | _        |                     dg                              d	           }t          j        |d
         |d
                    d S )Nr   rN   z
2017-03-02r  inf)NumberDateStrr  c                     | j         d         S rs   r<  r7   s    r   r9   z;test_apply_numeric_coercion_when_datetime.<locals>.<lambda>  s    afQi r   c                     | j         d         S rs   r<  r7   s    r   r9   z;test_apply_numeric_coercion_when_datetime.<locals>.<lambda>  s    AF1I r   r  )r   r   r   r    r:   r  r$   rK   )r&   r=   r>   s      r   )test_apply_numeric_coercion_when_datetimer  v  s     
q6L>A#5uenMM
 
B zz8*%%++,?,?@@HnRW%%BGZZ
##))*=*=>>F6%=(5/:::::r   c                     t          g dg dt          j        d          gdz  d          } d }|                     d                              |          d         }| j        }| j        |_        t          j	        ||           d S )	N)r   r      )r  3r   z12:31:22rO   )r   r_   Tc                 *    | j         d         dg         S )Nr   r_   r<  r  s    r   get_Bz@test_apply_numeric_coercion_when_datetime_getitem.<locals>.get_B  s    vay#r   r   r_   )
r   r    	Timestampr   r   r_   r   r   r$   rK   )r&   r  r>   r=   s       r   1test_apply_numeric_coercion_when_datetime_getitemr    s    	ll!2!2!2",z:R:R9SVW9WXX
 
B      ZZ__""5))#.FtHTHN68,,,,,r   c                     d } t          g dg dg dg dd          }|                                }t          j        |j                  |_        |                    d                              |           j        }|                    d                              |           j        }t          j	        ||           d S )Nc                    t          g dt                    }dt          | j                  v r1t	          | | j        dk             j        j        d                   |d<   dt          | j                  v rbt	          | | j        dk             j        j        d                   |d<   t	          | | j        dk             j        j        d                   |d<   |S )	N)p1p2useTime)r   dtypestep1r   r  step2r  r  )r	   r#   r   StatestrMachiner  oTime)toolr   s     r   predictionszGtest_apply_numeric_coercion_when_datetime_with_nat.<locals>.predictions  s    222&AAAd4:&&&&Dw!67?FqIJJCId4:&&&&Dw!67?FqIJJCI djG&;!<!B!I!!LMMC	N
r   )r_   r_   r   r   )r  r  r  r  ) z2016-09-19 05:24:33r  z2016-09-19 23:59:04)2336L36Rr  )Keyr  r  r  r  )
r   rk   r    r:   r  r   r   r  r$   rK   )r  df1df2r=   r>   s        r   2test_apply_numeric_coercion_when_datetime_with_natr    s       '''999KKK222		
 	
 C ((**Csy))CI{{5!!''447H[[%%k225F8V,,,,,r   c                     t          g dt          j        d          gdz  d          } | j        | j        z
  | d<   |                     d                              d           }t          g dt          j        dd	          gdz  t          j        d          gdz  d
                              d          }t          j	        ||           d S )Nr#  z2017-02-01 00:00:00rO   )clientidr   time_delta_zeror  c                     t          | j                                        | j                                        d          S )N)clientid_ager   )r	   r  rQ  r   )ddfs    r   r9   z?test_apply_aggregating_timedelta_and_datetime.<locals>.<lambda>  s8    F 04466@P@P@R@RSS
 
 r   r   r  )r  r  r   )
r   r   
datetime64r   r   r   timedelta64r   r$   r%   r&   r>   r=   s      r   -test_apply_aggregating_timedelta_and_datetimer    s     
''<==>B	
 	

 
B K"+5BZZ
##))	
 	
 F
 '^As334q8]#899:Q>	
 	
  i
  &(+++++r   c                  H   ddgddgddgddgddgg} t          | d	d
gt          j        dd                    }|                    d	                                          }t          g dg dd          }|                    d	d           t          j        ||           d S )Nr   r   r_   r   r  r`   (   2   NameValuez
2020-09-01z
2020-09-05rs  r#  )r   r  Z   )r  r  TrD  )r   r    
date_ranger   r  r   r$   r%   )rk  r&   r>   r=   s       r    test_apply_groupby_datetimeindexr    s     "IRy3)c2Yb	BD	vw'r}\</X/X
 
 
B ZZ##%%F///LLLIIJJHvt,,,&(+++++r   c                  
   t          dd t          d          D             d          } d }d }|                     dg                              |          }t          d	d
idg          }d|j        _        |                     dg                              |          }t          t          j        ddd          d
ddg          }d|j        _        t          j	        ||           t          j	        ||           d S )Nr   c                 4    g | ]}t          j                    S rB   )r   now)rD   nns     r   rF   z'test_time_field_bug.<locals>.<listcomp>  s    !E!E!ER(,..!E!E!Er   r   rS   c                 $    t          ddi          S )NrR   rN   r	   batchs    r   func_with_no_datez.test_time_field_bug.<locals>.func_with_no_date  s    sAhr   c                 D    t          t          ddd          dd          S )N  r   rN   rQ   rR   )r	   r   r  s    r   func_with_datez+test_time_field_bug.<locals>.func_with_date  s$    HT1a00q99:::r   rP   byrR   rN   r   r  r  )
r   r   r   r   r   r3   r    r  r$   r%   )r&   r  r  dfg_no_conversiondfg_no_conversion_expecteddfg_conversiondfg_conversion_expecteds          r   test_time_field_bugr    s*    
!E!E599!E!E!EFF	G	GB     ; ; ; 

se
,,223DEE!*C8A3!?!?!?,/$)ZZC5Z))//??N'l4A&&Q//s   *-!&+-GHHH.*ABBBBBr   c                      t          g dg dg dg dd          } |                     ddg          } |                     ddgd	          }d
 |                    fd           d S )N)rP   rP   rP   rQ   rQ   rQ   rP   rP   rP   rQ   rQ   rQ   )rR   rR   r   r   r   erR   rR   r   r   r   r  )g?rN   rO   rX   rY   rZ   rN   rX   rZ   rV   r   rN   )gffffff@rV   r\   r         rV   r[   rZ   rY   rX   rO   )group1group2weightr+   r  r  T)rt  sortc                 Z    t          j        | |z                                d          }|S )NrO   )r   arrayrepeat)r+   r  r   s      r   noddyz7test_gb_apply_list_of_unequal_len_arrays.<locals>.noddy  s(    huv~&&--a00
r   c                 0     | j         | j                  S r   )r+   r  )r8   r  s    r   r9   z:test_gb_apply_list_of_unequal_len_arrays.<locals>.<lambda>  s    uuQWah77 r   )r   r   r   r   )r&   
df_groupedr  s     @r   (test_gb_apply_list_of_unequal_len_arraysr    s    	RRRRRR<<<>>>		
 	

 
B 
x*	+	+B8X"6TBBJ   777788888r   c                      t          g dg dd          } d }|                     d                              |          }t          dgd          }t          j        ||           d S )	NrU   )rV   r[   rX   rY   )r   random_varsc                     d S r   rB   r7   s    r   	test_funcz.test_groupby_apply_all_none.<locals>.test_func  s    r   r   r  int64)r   r  r   )test_dfr  r>   r=   s       r   test_groupby_apply_all_noner    s~     <<<MMNNG   __X&&,,Y77F-@@@H&(+++++r   zin_data, out_idx, out_data)r   r   r   rN   )r   r   rN   rO   )r   varsr  r   rO   c                     t          |           }d }|                    d                              |          }t          j        |dd g          }t          ||          }t          j        ||           d S )Nc                 F    | j         d         dk     rd S | j        ddg         S )Nr   rN   rA  )rg  r  r7   s    r   r  z0test_groupby_apply_none_first.<locals>.test_func1  s&    71:>>4vq"gr   r   r   r   )r   r   r   r   r>  r$   r%   )in_dataout_idxout_datatest_df1r  r   index1	expected1s           r   test_groupby_apply_none_firstr    s    " !!H  
 x((..y99G#GHd3CDDDF(&111I'9-----r   c            	      4   t          ddgddgd          } |                     d          }|                    d           }t          dgdt	          j        ddgdggdd g	                              d          
          }t          j        ||           d S )Nr   r   filledempty)r+   r   r   c                 0    | | j         dk             d         S )Nr   r+   )r+   r   s    r   r9   z7test_groupby_apply_return_empty_chunk.<locals>.<lambda>@  s    ekQ.>(?(H r   r+   r   )r3   r   )	r   r   r   r	   r   from_productr  r$   rK   )r&   r   r>   r=   s       r   %test_groupby_apply_return_empty_chunkr  <  s    	aVx.ABB	C	CBZZ  F\\HHIIF	
%x 1#&wo
 
 

$w--  H 68,,,,,r   methr   r,  c                    t          d                                g dg dd          }|                    dd          } t          ||           d           }t          g d	g d
d          }t	          j        ||           d S )Nza a brT   rX   rZ   rY   r#  r   Fr   c                 0    | |                                  z  S r   r  r7   s    r   r9   z-test_apply_with_mixed_types.<locals>.<lambda>Q  s    AEEGG r   )gUUUUUU?gUUUUUU?r   )皙?g333333?rI  r_   r`   )r   rC   r   getattrr$   r%   )r  r&   r   r>   r=   s        r   test_apply_with_mixed_typesr  K  s     
yyyyyyII	J	JB


35
))AWQ3344F444???KKLLH&(+++++r   c                  J   t          dddgit          ddg                    } |                     d                              d           }t	          t          dg          t          dg          gt          ddgd                    }t          j        ||           d S )NrP   r   rN   r   c                     | j         S r   r   r  s    r   r9   z*test_func_returns_object.<locals>.<lambda>Y  s    QW r   r2   )r   r   r   r   r	   r$   rK   r  s      r   test_func_returns_objectr  V  s    	C!Q=q!f	6	6	6BZZ__""#4#455FuaSzz5!::.eQF6M6M6MNNNH68,,,,,r   group_column_dtlikec                     t          dg| gd          }|                    d                              d           }t          dgt          dgdd          dg	          }t	          j        ||           d S )
Nr  rS   rP   c                 (    t          dgdg          S )Nspam*   r   r  r7   s    r   r9   z+test_apply_datetime_issue.<locals>.<lambda>j  s    VVHRD-I-I-I r   r  r  r  r3   r  rH   r   r   r   r   r$   r%   )r  r&   r>   r=   s       r   test_apply_datetime_issuer  _  s     
%(;'<==	>	>BZZ__""#I#IJJF&5%C#H#H#HSURVWWWH&(+++++r   c            
         t          t          j        d          t          j        d          t          j        d          t          j        d          t          j        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	          }t          j        ||           d S )Nz2015-02-24 00:00:00)r   r   rN   rO   rX   zsome UA stringzanother UA string17661101)day	userAgentuserIdc                 X    t          d |                                 D                       S )Nc                 T    i | ]%\  }}||                                 j        d          &S )r   )value_countsr   )rD   rR   ss      r   
<dictcomp>zYtest_apply_series_return_dataframe_groups.<locals>.most_common_values.<locals>.<dictcomp>  s0    KKK1q!..**03KKKr   )r	   itemsr   s    r   most_common_valueszEtest_apply_series_return_dataframe_groups.<locals>.most_common_values  s'    KK

KKKLLLr   r  r  z
2015-02-24r2   r  )	r   r    r  r   r   r	   DatetimeIndexr$   rK   )tdfr%  r>   r=   s       r   )test_apply_series_return_dataframe_groupsr(  p  s&   
 < 566< 566< 566< 566< 566  $##&#   	
 	
 C4M M M [[%%&899(CF	B,l^%HHHx  H 68,,,,,r   rd  c           
      d   ddgdz  }| r8t          j        |g d          }t          j        g dg dd          }g d}nt          ddgd	          }d
dg}t	          ||d|          }t	          t          j        d          |t          t          d                    t          t          d                    d          	                    ddg          }|
                    dd                              d           }t          j        ||           |j        j        ddgk    sJ d S )Nr   rN   rY   rT   )
categoriesr_   )r*  r3   )r      r   r2   r   r+  )r`   r  r   r   )r   r_   r`   r  r   F)observedc                 *    |                                  S r   r
  r7   s    r   r9   z-test_apply_multi_level_name.<locals>.<lambda>  s    QUUWW r   )r    CategoricalCategoricalIndexr   r   r   rX  r   r   r   r   r   r$   r%   r   rm   )rd  rQ   expected_indexexpected_valuesr=   r&   r>   s          r   test_apply_multi_level_namer2    sK    
A
A #N1333,YYY999SVWWW%++1vC000r(O44N  H 
imm!$uRyy//U2YYPP
 
ic
  ZZeZ,,223D3DEEF&(+++8>c3Z''''''r   c           
      B   t          j        t          j        ddd          ddddft          j        ddd          ddd	d
ft          j        ddd          ddddft          j        ddd          ddddfgg d          }|                    d                              d           j        }| rt          j        t          j	                  nt          }t          t          j        d          |t          j        |gg d          }t          j        ||           d S )Ni  r   reddarkr   r  greenstormyrN   9i  bluebrightrO   r   i  calmrX   potato)observationcolormood	intensityscorerH   r>  c                     | j         d         S rs   r<  r  s    r   r9   z;test_groupby_apply_datetime_result_dtypes.<locals>.<lambda>  s    16!9 r   )na_valuezdatetime64[us])r=  r?  r@  rA  r   )r   from_recordsr    r  r   r   dtypesStringDtyper   r  r#   r	   r  r  r$   rK   )r;   rk  r>   r  r=   s        r   )test_groupby_apply_datetime_result_dtypesrG    s1   !\$1%%ufa=\$1%%w!SA\$1%%vxDA\$1%%vvq(C		
 GFF  D \\'""(()<)<==DF/AMBNBF++++vE	"	#	#UBHe<;;;  H 68,,,,,r   r   abc2020r  )r   freq))rP   r   )rP   r   )rQ   r   c                     t          g dg dd|           }|                    dd                              d           }t          j        ||d	g                    d S )
Nr   r   rN   )r   r   r   r~  r   r   Fr   c                     | S r   rB   r7   s    r   r9   z8test_apply_index_has_complex_internals.<locals>.<lambda>  rw  r   r+   r   )r   r&   r>   s      r   &test_apply_index_has_complex_internalsrN    sj     
YYY;;5	I	I	IBZZEZ2288EEF&"gY-00000r   zfunction, expected_valuesc                 4    | j                                         S r   )r   to_listr7   s    r   r9   r9     s    17??$$ r   c                 N    t          | j                                                  S r   )setr   rP  r7   s    r   r9   r9     s    3qw(()) r   c                 N    t          | j                                                  S r   )tupler   rP  r7   s    r   r9   r9     s    5**++ r   )r   r   rN   rO   c                 h    t          t          | j                                                            S r   )dict	enumerater   rP  r7   s    r   r9   r9     s"    d9QW__%6%67788 r   c                 b    d t          | j                                                  D             S )Nc                     g | ]	\  }}||i
S rB   rB   )rD   nis      r   rF   z<lambda>.<locals>.<listcomp>  s     III&1a1vIIIr   )rX  r   rP  r7   s    r   r9   r9     s)    IIIagoo6G6G,H,HIII r   c                     t          g ddg          }|                    d                              |           }t          |t	          ddgd                    }t          j        ||           d S )N)r   r   r_   r_   r   rH   r   r_   r2   r   r   r   r   r	   r   r$   rK   )functionr1  r&   r>   r=   s        r   1test_apply_function_returns_non_pandas_non_scalarr`    sz    $ 
'''(	<	<	<BZZ!!''11FoUC:H-M-M-MNNNH68,,,,,r   c                  0   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                    }t          j        ||           d S )Nc                 @    | d         j                                         S )Nr_   )r  flattenr   s    r   fctz4test_apply_function_returns_numpy_array.<locals>.fct  s    Sz ((***r   )rP   rP   rQ   noner   rN   rO   r
  r   rI  r         @)rP   rQ   re  r2   r   )	r   r   r  r   r   r	   r   r$   rK   )rd  r&   r>   r=   s       r   'test_apply_function_returns_numpy_arrayrg    s    + + + 
0001a7HII	J	JBZZ__""3''F
scURVH%U3E3E3EC-P-P-P  H 68,,,,,r   r_  c                     | j         S r   r   grs    r   r9   r9     s     r   c                     | j         dz   dz
  S r  r   ri  s    r   r9   r9     s    bhQRlUVFV r   c                 L   t          g ddg          }|                    d                              |           }t          t	          g d          t	          g d          t	          ddg          gt	          g dd	          
          }t          j        ||           d S )N)
r   rN   rN   rN   r   rN   rO   r   rO   r   idrH   )r   rX   r[   r\   )r   rN   rO   rY   rZ   rV   rT   r2   r   r^  )r_  r&   r>   r=   s       r    test_apply_function_index_returnrn    s     
111D6	B	B	BBZZ##H--F	|||		eLLL115!Q==AIIID)))  H 68,,,,,r   c                      t          g dg dd          } |                     dd                              d           }t          g dg d	d          }t          j        ||           d S )
Nr   )r   rN   rX   rX   rY   rZ   r   r   Fr   c                 *    |                                  S r   )r   r7   s    r   r9   zAtest_apply_function_with_indexing_return_column.<locals>.<lambda>  s     r   )r   r   r]   )rf        @rq  r   r  s      r   /test_apply_function_with_indexing_return_columnrr    s    	@@@&&&	
 	

 
B ZZZ//556H6HIIF+++#OO	
 	
 H &(+++++r   udfc                 *    |                                  S r   r   r7   s    r   r9   r9     s    qvvxx r   c                 R    |                                                      d           S )Nc                     | dz   S r  rB   )ys    r   r9   z<lambda>.<locals>.<lambda>  s
    QU r   )rk   r  r7   s    r   r9   r9     s    16688????#C#C r   c                    t          ddgddgd          }|                    d|                               |          }|j                            |j        |                               |          }| r&|j        j        dk    sJ |j        j        dk    sJ d S |j        j        dk    sJ |j        j        dk    sJ d S )NrP   rQ   r   rN   r
  r   r   )r   r   r   r_   r   r   nlevels)r   rs  r&   	df_resultseries_results        r   test_apply_result_typer|    s     
#s1a&11	2	2B

3:
66<<SAAIDLL*L==CCCHHM 0&!++++"*a//////&!++++"*a//////r   c                     t          g dg dd          } |                     dd                              d           }|                     dd                              d           }t          j        ||           d S )	N)rN   r   rN   rT   r
  r   Fr   c                     | S r   rB   r7   s    r   r9   z4test_result_order_group_keys_false.<locals>.<lambda>.  s    q r   c                 *    |                                  S r   r   r7   s    r   r9   z4test_result_order_group_keys_false.<locals>.<lambda>/  s     r   r   r  s      r   "test_result_order_group_keys_falser  *  s     
33	4	4BZZZ..44[[AAFzz#%z00667I7IJJH&(+++++r   c                  L   dgdz  dgdz  z   dgdz  z   } t          j        |           }t          j        | d          }t          t          t	          d                    dz  t	          d          |d	          }t          t          t	          d                    dz  t	          d          |d	          }|                    d
d                              d           }|                    d
d                              d           }t          j        ||           d S )Nz
2001-01-01rN   z
2001-01-02z
2001-01-03UTC)tzrO   rZ   )r8   rw  tr8   Fr   c                 8    | dg                                          S Nrw  r   r   s    r   r9   z1test_apply_with_timezones_aware.<locals>.<lambda>;      "cU)..BRBR r   c                 8    | dg                                          S r  r   r   s    r   r9   z1test_apply_with_timezones_aware.<locals>.<lambda><  r  r   )	r    r&  r   r   r   r   r   r$   r%   )datesindex_no_tzindex_tzr  r  r   r   s          r   test_apply_with_timezones_awarer  3  s   NQ,!!33|nq6HHE"5))K%000H
$uQxx..1,588+NN
O
OC
$uQxx..1,588(KK
L
LCkk#%k00667R7RSSGkk#%k00667R7RSSG'7+++++r   c                    t          g dg dg dd          }t          ddgddgd	t          d
dgd                    }|                    d          }|                    t          j        d          }t          j        ||           |                    d          }t          | |          }| dk    r
t          }d}nd }d}t          j
        ||          5   t          ||           | }d d d            n# 1 swxY w Y   |                    t          j        d          }t          j        ||           d S )N)c   r  r  X   r  r  )r   rN   rO   rX   rY   rZ   )r   r   r  r  r  <   ra      rZ      r  r  r  r  rP   r2   r   r  r   r   corrwithz'DataFrameGroupBy.corrwith is deprecatedr  match)r   r   r   r   r   r  r$   r%   r   r   assert_produces_warningr  )	reduction_funcr&   r=   grpr>   argswarnmsg_s	            r   ;test_apply_is_unchanged_when_other_methods_are_called_firstr  A  s    
)))###)))	
 	

 
B 1gS"I&&RH3'''  H ***

CYYrvAY&&F&(+++ ***

C">266D##7		#D	4	4	4 0 0(GC(($/0 0 0 0 0 0 0 0 0 0 0 0 0 0 0YYrvAY&&F&(+++++s   C??DDc                  p   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g          }|                    d           }| j        g d         }|                                }t          j        |g d                   |_	        |
                    g d          }t          j        ||           |j	        j        d         D ]}t          |          t          u sJ d S )N)rP   rP   rP   rQ   i  r   r   rN   r   r#  )r   e   f   g   idxr2   r   r   r_   c                 ,    |                      d          S r  r   r7   s    r   r9   zRtest_apply_with_date_in_multiindex_does_not_convert_to_timestamp.<locals>.<lambda>w  s     r   )r   rN   rO   )r   r_   r  rH   )r   r   r   r   r   r  r   r   
from_framer   r  r$   r%   levelstype)r&   r  r>   r=   vals        r   @test_apply_with_date_in_multiindex_does_not_convert_to_timestampr  e  sc    
%%%T1b!!T1b!!T1b!!T1b!!	 		
 		
 (((u555
 
 
B **c3Z
 
 CYY**++Fwyyy!H##%%H*84E4E4E+FGGHN}}%6%6%6}77H&(+++|"1% ! !CyyD     ! !r   c                 f   t          g ddt          j        t          j        ddgdt          d                    }|                    d| d	                              d
           }| r|                                dg         n|dg         j        g d         }t          j	        ||           d S )Nr   rN   rO   rX   rY   rP   rQ   )colr   xxyxzr   r   F)dropnar   c                     | S r   rB   r7   s    r   r9   z5test_apply_dropna_with_indexed_same.<locals>.<lambda>  s    RS r   r  )r   rO   r   rN   rX   )
r   r   r  r   r   r   r  r  r$   r%   )r  r&   r>   r=   s       r   #test_apply_dropna_with_indexed_samer    s     
"??262634	
 	
 7mm
 
 
B ZZ5ZAAGGTTF'-Tryy{{E7##2ug;3COOO3TH&(+++++r   zas_index, expected)r   r   r   )rN   rN   r   )rP   rQ   Nr  r   r   )rN   rN   rQ   r   r   c                     t          g dg dg dd          }|                    ddg|                               d           }t          j        ||           d S )Nr{  )r   r   r   r   ra   rP   rQ   r   c                     dS r  rB   r7   s    r   r9   z5test_apply_as_index_constant_lambda.<locals>.<lambda>      q r   )r   r   r   r$   assert_equal)r   r=   r&   r>   s       r   #test_apply_as_index_constant_lambdar    sh    & 
LLL|||LL	M	MBZZc
XZ66<<[[IIFOFH%%%%%r   c                  B   t          g dg dg ddt          d                    } |                     d                              d           }t	          t          d	d
          t          j        g ddd g          d          }t          j        ||           d S )Nr  )rZ   r[   rV   r\   r   )r   r   r   rN   rN   r#  rY   r   r`   c                 4    | j                                         S r   )r   
sort_indexr7   s    r   r9   z(test_sort_index_groups.<locals>.<lambda>  s    QS^^-=-= r   r   rZ   )r   r  r   rU  )rN   rX   r   r   r  )	r   r   r   r   r	   r   r   r$   rK   r  s      r   test_sort_index_groupsr    s    	ooOOO///JJAhh
 
 
B ZZ__""#=#=>>Fa$444S$K
 
 
   H 68,,,,,r   c                  F   t          t          j        ddd          t          d          t	          d          d          } |                     | j        | j        j        j        gd          	                    d	           }t          j        || d
dg                    d S )Nz
2010-01-0112hrY   )rJ  r   r   )r   valsletFr   c                      | j         dd          S rs   r<  r7   s    r   r9   z;test_positional_slice_groups_datetimelike.<locals>.<lambda>  s    afQRRj r   r   r  )r   r    r  r   r   r   r  r   dtr   r$   r%   )r=   r>   s     r   )test_positional_slice_groups_datetimeliker    s    M,UAFFF!HH==	
 	
 H 	x}',-%   e  !!  &(FF+;"<=====r   c                     t          g dg dg dd          } |                     d          }|ddg                             d           }t          d	d
gdd
gdt          ddgd                    }t	          j        ||           d S )N)rP   rP   rQ   rT   r  r#  r   r_   r`   c                     |                      t                                                    |                                 z
  S r   )r"   floatrR  rQ  r7   s    r   r9   z7test_groupby_apply_shape_cache_safety.<locals>.<lambda>  s)    AHHUOO,?,?,A,AAEEGG,K r   rI  rV  r   r  rP   rQ   r2   r   r  )r&   r   r>   r=   s       r   %test_groupby_apply_shape_cache_safetyr    s    	yyyyyyII	J	JB	CBc
^!!"K"KLLFCjSz**%c
2M2M2M  H &(+++++r   c                  6   t          j        g dg dg dd          } |                     d          ddg         }|                    d           }t	          j        g d	g d
gdd g          }t          g d|d          }t          j        ||           d S )N)rP   rQ   rP   rQ   )aaacr  ad)r  r  r  r  )rP   b1b2rP   r  r  c                 N    |                                                                  S r   )unstackr!  r7   s    r   r9   z3test_groupby_apply_to_series_name.<locals>.<lambda>  s    !9!9!;!; r   )rP   rP   rQ   rQ   rQ   )r  r  r  r  r  )arraysrm   )rO   r   rN   r   r   r   r  )	r   	from_dictr   r   r   r>  r	   r$   rK   )r&   r  r>   expected_idxr=   s        r   !test_groupby_apply_to_series_namer    s    		%%%******	
 	

 
B **S//4,
'CYY;;<<F))))+I+I+IJDk  L ooo\HHHH68,,,,,r   c                    t          g dg dddt          j        t          j        gd          }|                    d|           }|                    d           }|                    d	           }t          j        ||           d S )
Nr{  )r   r   rN   rY   r   rN   )r  rw  zr  )r  c                 .    |                      dd          S )Nr   r  )nlargest)grp_dfs    r   r9   ztest_apply_na.<locals>.<lambda>  s    3(?(? r   c                 V    |                      dd                              d          S )Nr  F)	ascendingr   )r  r   r7   s    r   r9   ztest_apply_na.<locals>.<lambda>  s$    Q]]3%]%H%H%M%Ma%P%P r   )r   r   r  r   r   r$   r%   )r  r&   dfgrpr>   r=   s        r   test_apply_nar    s    	<<<q!RVRV6LMM
 
B JJuVJ,,E[[??@@F{{PPQQH&(+++++r   c            	         t          g dg dt          j        g dd          d                              ddg                              d	           } t          t          j        d
d          gt          j        dd          ggdgt          j        ddgddg                    }t          j        | |           d S )Nr{  )r  r  r  r  r   r"  )unitra   rP   rQ   c                     | j         d         S NrA  r<  r   s    r   r9   z8test_apply_empty_string_nan_coerce_bug.<locals>.<lambda>   s    "'"+ r   rN   rX   rR   )r   r  )rN   r  r   rs  )	r   r    r:   r   r   r   r   r$   r%   )r>   r=   s     r   &test_apply_empty_string_nan_coerce_bugr    s     	!\\%%%^LLLs;;; 	
 	
 
#s			%%	&	&  
.
%
%
%	&)D)D)D(EF$gw%7SzJJJ  H
 &(+++++r   index_values)rI  r   rf  c                    t          g dg ddt          |                     }t          dg dit          g dd	                    }|                    d                              d
           }t	          j        ||           d S )N)r  a2a3rT   rS   r   b_mean)r   rf  rI  )r  r  r  rP   r2   c                 X    t          | d                                         gdg          S )NrQ   r  r   )r	   r   r   s    r   r9   z0test_apply_index_key_error_bug.<locals>.<lambda>  s$    62c7<<>>*8*=== r   )r   r   r   r   r$   r%   )r  r>   r=   s      r   test_apply_index_key_error_bugr  
  s     ###	
 	
 L!!  F ooo	
 &&&S111	  H ^^C  &&== F &(+++++r   zarg,idx)皙?333333?皙?)r  r  r  )r   rX   rO   )r  r  r  c                     t          | | d|          }|                    dd                              d           }|dg         }t          j        ||           d S )N)r  r  r   r  Fr   c                     | S r   rB   r7   s    r   r9   z5test_apply_nonmonotonic_float_index.<locals>.<lambda>L  s     r   r  r   )argr  r&   r>   r=   s        r   #test_apply_nonmonotonic_float_indexr     sh    V 
3s++3	7	7	7BZZ%Z0066{{CCF5'{H&(+++++r   zargs, kwargsnumeric_onlyc                     |                      d          } |j        dg|R i |}|                    d          }t          j        ||           d S )Nr   r  T)r  )r   r   r  r$   r%   )r&   r  kwargsr   r>   r=   s         r   test_apply_str_with_argsr  Q  s`     
CBRXe-d---f--Fvv4v((H&(+++++r   r3   	some_namec                     t          ddg|           }|                    ddgd                              d           }t          ddg|           }t          j        ||           d S )Nr   rN   r2   rP   Fr   c                     | S r   rB   r7   s    r   r9   z1test_result_name_when_one_group.<locals>.<lambda>^  r  r   )r	   r   r   r$   rK   )r3   rx  r>   r=   s       r   test_result_name_when_one_groupr  Z  sr     !Qd
#
#
#C[[#s[66<<[[IIFq!f4(((H68,,,,,r   z
method, opc                     | j         d         S r  )r  r   s    r   r9   r9   g  s    RYr] r   c                 (    | d         j         d         S )NrQ   r   r<  r  s    r   r9   r9   h  s    RW\!_ r   )aggskew)r  kurt)r  prod)r  r  c           
         t          g g d          }|                    dd          }|j        } t          ||           |          }t	          g ddt          g dd                    }t          j        ||           d S )	NrS   rP   Tr   rQ   float64r  )r3   r  r   )r   r   rQ   r  r	   r   r$   rK   )methodopempty_dfr   r   r>   r=   s          r   test_empty_dfr  d  s     r++,,H			#$		/	/BDE#WUF##B''F
IU2YS-Q-Q-Q  H 68,,,,,r   c                      t          g dg dd          } |                     d          }t          j        t          d          5  |                    d d	           d d d            d S # 1 swxY w Y   d S )
NrL  rO   rX   rY   rS   rP   z(include_groups=True is no longer allowedr  c                 *    |                                  S r   r
  r7   s    r   r9   z%test_include_groups.<locals>.<lambda>  s    15577 r   T)include_groups)r   r   pytestraises
ValueErrorr   )r&   r   s     r   test_include_groupsr
  }  s    	33	4	4B	CB	z)S	T	T	T 9 9
""48889 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9s   A--A14A1zfunc, valuec                     t          g dg dg dd          }|                    d          }|                    |           }t          ||gt	          ddgd                    }t          j        ||           d S )	NrL  r  )r   r   rN   r   r   rN   r2   r   r^  )rz   r+   r&   r   r>   r=   s         r   test_builtins_applyr    s     
yyyYYY999==	>	>B	ABXXd^^FuenE1a&q,A,A,ABBBH68,,,,,r   c                     t          g dt          t          j        d          d          t	          j        dd          d          } d }|                     d	                                          d
g         }|                     d	                              |          d
g         }t          j
        ||           d }|                     d	                              |          d
g         }|                                }t          j        |j        d<   t          j
        ||           d }|                     d	                              |          d
g         }|                                }t          j        |j        d<   t          j
        ||           d }|                     d	                              |          dg         }|                     d	                                          dg         }t          j        |j        d<   t          j
        ||           d }|                     d	                              |          }|                     d	                                          d                                         }t          j        |j        d<   d |_        t          j        ||           d S )N)Tigerr  r  Lambr  Ponyr  r[   r  r  20130101r   r#  c                     | j         d         S rs   r<  r  s    r   f_0z*test_inconsistent_return_type.<locals>.f_0  s    x{r   r   r_   c                 6    | j         dk    rd S | j        d         S )Nr  r   r3   r  r  s    r   f_1z*test_inconsistent_return_type.<locals>.f_1  s     8w4x{r   r  c                 6    | j         dk    rd S | j        d         S Nr  r   r  r  s    r   f_2z*test_inconsistent_return_type.<locals>.f_2       8v4x{r   r  c                 6    | j         dk    rd S | j        d         S r  r  r  s    r   f_3z*test_inconsistent_return_type.<locals>.f_3  r  r   r`   c                 L    | j         dk    rd S | j        d         j        d         S )Nr  r   r`   )r3   r  r6  r  s    r   f_4z*test_inconsistent_return_type.<locals>.f_4  s'    8v4x{s##r   )r   r	   r   rX  r    r  r   firstr   r$   r%   rk   r  r6  NaTr3   rK   )	r&   r  r=   r>   r  r  r  r  r  s	            r   test_inconsistent_return_typer"    s|    
LLL	!G444z1555	
 	

 
B   zz#$$&&u-HZZ__""3''.F&(+++  
 ZZ__""3''.FAVAE'N&!$$$  
 ZZ__""3''.FAFAE&M&!$$$  
 ZZ__""3''.F


3&AFAE&M&!$$$$ $ $
 ZZ__""3''F


3$))++AFAE&MAF61%%%%%r   c                     t          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          j                            d                              d
d          d          } d }t          t          d          t          d          g dd                              ddg          d         }|                     d                              |          }t          j
        ||           d S )NrP   rV   rQ   rZ   rR   rN   r   r  r   r      r  )cat1cat2r  c                     |                                  } | j                            d          | d<   |                     d          d                                         S )NrQ  )r  rankr&  )rk   r  r(  r   rQ  r7   s    r   r   z(test_nonreducer_nonstransform.<locals>.f  sK    FFHHEJJeJ,,&	yy  (,,...r   aaaabbbcdefcde)rf  r   g      @rI  r   rq  rI  )r%  r&  r(  r%  r&  r(  )r   r   r   r   r%  r   r   r   r   r$   rK   )r&   r   r=   r>   s       r   test_nonreducer_nonstransformr+    sX    
EAI	)EAIeaieai eai eai	
 eai eai 9((++44Sr4BB
	
 
	

 
B/ / /
 OOOO777	
 	
  i !!&*H ZZ%%a((F68,,,,,r   c                     t           j                            d          } t          |                     ddd          g dd          }i fd	}|                    d
                              |           |j        ddgdgf         }|j        ddgdgf         }t          j	        d         |           t          j	        d         |           d S )Nr  )seedr   r  )rX   r  )r   rN   r   rN   r
  c                 P    |                                  t                    <   d S r   )rk   r   )r8   r   s    r   addstorez/test_groupby_apply_store_copy.<locals>.addstore  s!    FFHHc%jjr   r_   r   rN   r   rO   )
r   r   r   r   normalr   r   r  r$   r%   )rngr&   r/  expected_out_0expected_out_1r   s        @r   test_groupby_apply_store_copyr4    s    
)

R

(
(C	B..	
 	

 
B E% % % % % JJsOO(###WaVaS[)NWaVaS[)N%(N333%(N33333r   )jr   r   numpyr   r  pandas.errorsr   pandasr    r   r   r   r	   r
   pandas._testing_testingr$   pandas.tests.groupbyr   r(   r?   rM   markparametrizer   r   r{   r   r   r   r   r   r   r   r   r  r  r  r  r  r'  r-  r9  r?  rF  rY  r\  r`  rl  ry  r  r  r  r  r  r  r  r  r  r  r  r  r  r  todayrG   r  r(  r2  rG  r/  interval_rangeperiod_ranger   rN  r`  rg  rn  rr  r|  r  r  r  r  r  r#   r  r  r  r  r  r  r  r  r  r  r  r  r
  rR  rQ  r  r  r"  r+  r4  rB   r   r   <module>r@     su         
      ( ( ( ( ( (                        8 8 8 8 8 85 5 5 %, %, %,P#- #- #-L 	/H/H/HII	J	JIIIV	LLL99	:	:QFC	C!:		$	111aAA	B	BQFK	+++4F4F4FGG	H	H)))TIl++777777   OO		
 
IIIyyy)???	C	C	CaVL!$	 	 	)   <)$ )$= <)$X  ., , ,$: : :  
$$##	 2 2 2, , ,(%, %, %,P$ $ $ 3  3  3F2 2 2&0 0 0
  @ @ @@ @ @  ,- - -9 9 9 e}55, , 65,B B B, , ,,, , ,., , ,, , ,: u660 0 760 - - -$  .; ; ; - - -- - -4, , ,6, , ,"C C C89 9 94
, 
, 
,   $||\\\::VaVaV	
 $||\\\::VaVaV	
 . . .- - - ';!788, , 98,- - - X^~x~'',,..0@0@0E0E0G0GH 
, 
,	 
,#- #- #-L eT]33( ( 43(,- - -( DDKK((!Q444
===>>	 1 1 1 	$	$1v1v&67	)	)QFQF+;<	+	+ff-=>88q\\qQ<<(	

 JI!fq!fAA/0	
  - -!  -- - - &9&9;V;V%WXX- - YX-, , ,$ 	CCD  e}550 0 65	 
0 , , ,, , ,!, !, !,H! ! !<, , ,  IIII&6F6F6Ff0U0U0U  	
 FA4j4ff5EcSVZXXX  	
 "& &# "&- - -"> > >	, 	, 	,- - -(, , ,, , ,* )))___)EFF, , GF,*   
  	
  
  	
  
  	
3%( (R, ,S( (R, D62,nd=S8T)UVV, , WV, +t!455- - 65- 	**+	,,-
 
- -
 
-9 9 9 #qC8c1X(FGG- - HG-;& ;& ;&|- - -D4 4 4 4 4r   