
    dz                     
   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 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ej                            d$d% d& d' d( g          d)             Zd* Zd+ Zd, Z d- Z!d. Z"d/ Z#d0 Z$d1 Z%d2 Z&d3 Z'd4 Z(ej                            d5d6d7g          d8             Z)d9 Z*d: Z+d; Z,d< Z-d= Z.ej                            d>d6d7g          d?             Z/d@ Z0dA Z1dB Z2dC Z3dD Z4dE Z5dF Z6dG Z7dH Z8dI Z9dJ Z:dK Z;ej                            dL e j<                     e j<                                                     e j<                    =                                g          dM             Z>dN Z?ej                            dOd7d6g          dP             Z@dQ ZAej                            dR ejB         edS                     ejC        d dT           ejD        dUdTdVW           ejE        g dX          g          dY             ZFej                            dZd[ d dgddTggfd\ d dhddThgfd] d^d_gfd` d dd^ddTd^gfda d d iddigd diddTiggfg          db             ZGdc ZHej                            ddde df g          dg             ZIdh ZJej                            didj dk g          ej                            d5d6d7g          dl                         ZKdm ZLdn ZMdo ZNdp ZOdq ZPej                            drd6d7g          ds             ZQej                            dtd7 e	g dug dvg e
g dweRx                    gd6 eddg ejE        dydzgdd{g|          }          gg          d~             ZSd ZTd ZUd ZVej                            drd6d7g          d             ZWd ZXej                            dg dg dg          d             ZYej                            dg dg dgg dg dgg dg dgg          d             ZZej                            dd6gi fg dd6ifg          d             Z[ej                            dddg          d             Z\ej                            ddd fdd fdddg          d             Z]dS )    )datedatetime)StringION)	DataFrameIndex
MultiIndexSeriesbdate_range)get_groupby_method_argsc                     d} t          j        t          |           d g dddgg          }|                    d          }|                    |j        j                                                  }|                    |j        j                                      d           }t          j
        ||           t          j        t          |           d g d          }t          g d	t          d
          }t          g d|          }|                    dd                              d           }t          j        ||           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namesparse_dates	date_timec                 *    |                                  S Nidxmaxxs    [/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/groupby/test_apply.py<lambda>z#test_apply_issues.<locals>.<lambda>/   s    qxxzz     )r   r   )z
2011.05.16z
2011.05.17z
2011.05.18dtypename)z00:0002:00r   indexF
group_keysc                 N    | d         | d                                                   S )Nr   r   r   r   s    r   r   z#test_apply_issues.<locals>.<lambda>:   s    !F)AgJ--//0 r   )pdread_csvr   	set_indexgroupbyr!   r   r   applytmassert_frame_equalr   objectr	   assert_series_equal)sdfexpectedresultexp_idxs        r   test_apply_issuesr3      sV   	A 
'''f%&	
 
 
B 
k	"	"Bzz"(-((//11HZZ&&,,-A-ABBF&(+++ 
Xa[[5N5N5N	O	O	OB222&v  G 111AAAHZZ5Z117700 F 68,,,,,r   c                  H   t          g dg ddddg          t          j        j        dd          j        dd          gddd	g
          }                     d j        D             d                              fd          }t          j        ||            d S )Nar6   br7   r6         ?       @      @      @g      @keydatar>   r?   columns   float64r,   axiskeysc                 ,    g | ]}t          |          S  str.0r   s     r   
<listcomp>z&test_apply_trivial.<locals>.<listcomp>G       333AQ333r   rE   c                 "    j         dd          S NrB   ilocr   r/   s    r   r   z$test_apply_trivial.<locals>.<lambda>H   s    "'!""+ r   )	r   r%   concatrS   r(   dtypesr)   r*   r+   r0   r1   r/   s     @r   test_apply_trivialrX   ?   s     
)))3L3L3LMM
 
 
B y"'!""+rwqrr{3!9hBWXXXHZZ33333!Z<<BB F &(+++++r   c                     t          g dg ddddg          t          j        gddd	g
          }                     d j        D             dd                              fd          }t          j        ||            d S )Nr5   r8   r=   r>   r?   r@   rB   rC   r,   rD   c                 ,    g | ]}t          |          S rH   rI   rK   s     r   rM   z+test_apply_trivial_fail.<locals>.<listcomp>U   rN   r   T)rE   r#   c                     S r   rH   rT   s    r   r   z)test_apply_trivial_fail.<locals>.<lambda>V   s    " r   )r   r%   rU   r(   rV   r)   r*   r+   rW   s     @r   test_apply_trivial_failr\   N   s    	)))3L3L3LMM
 
 
B y"bH0EFFFHZZ33333!ZMMSS F &(+++++r   zdf, group_names)rB   rB   rB         )r6   r6   r6   r7   cr6   r7   rB   r]   r^   r   r   rB   rB   )r   rB   r   rB   rB   r6   )rB   rB   rB   r]   r]   rB   rB   r]      r]   rB   r]   r^   rB   r]   r^   )            rc   	   )r6   two
aaabbbcccc)
r^   re   r^   rg   rf   r]   rB   ri   rf   re   )
re   r   r]   r]   r]   rh   rc   rg   r]   rc   )r6   BCr6   r7   r_   )r]   r]   r^   r@   )GH2936zGH7739 & GH10519GH10519GH2656GH12155GH20084GH21417)idsc                     g fd}fd}fd}fd}fd}|||||fD ]9}d d = |                      dd                              |           |k    sJ :d S )	Nc                 `                         | j                   |                                 S r   )appendr   copygroupr   s    r   f_copyz/test_group_apply_once_per_group.<locals>.f_copy   s%    UZ   zz||r   c                 <                         | j                   | S r   rx   r   rz   s    r   f_nocopyz1test_group_apply_once_per_group.<locals>.f_nocopy   s    UZ   r   c                 <                         | j                   dS Nr   r~   rz   s    r   f_scalarz1test_group_apply_once_per_group.<locals>.f_scalar   s    UZ   qr   c                 <                         | j                   d S r   r~   rz   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 )NrB   r`   )rx   r   r   rz   s    r   f_constant_dfz6test_group_apply_once_per_group.<locals>.f_constant_df   s1    UZ   s!--...r   r6   Fr"   )r(   r)   )	r/   group_namesr|   r   r   r   r   funcr   s	           @r   test_group_apply_once_per_groupr   \   s    N E    
    
    
! ! ! ! !/ / / / /
 8V]C $ $!!!H


35
))//555#####	$ $r   c                     d}t          g dg ddg d          }|                    dd                              d	            |                                 j                            d
          }||k    sJ d S )Nr]   )r   r   r   r   rB   rB   rB   rB   )02468101214)group_by_columntest_columnr    r   Fr"   c                      t          d          S )Nfunction_called)printr/   s    r   r   z2test_group_apply_once_per_group2.<locals>.<lambda>   s    5*++ r   r   )r   r(   r)   
readouterroutcount)capsysr0   r/   r1   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   rB   r^   )Ar7   c                     | S r   rH   r{   s    r   slowz,test_apply_fast_slow_identical.<locals>.slow   s    r   c                 *    |                                  S r   ry   r   s    r   fastz,test_apply_fast_slow_identical.<locals>.fast   s    zz||r   r   Fr"   )r   ranger(   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   r   c                     | S r   rH   r   s    r   r   r      s    ! r   c                     | d d          S r   rH   r   s    r   r   r      s    !AAA$ r   c                 .    |                      d          S )NFdeepr   r   s    r   r   r      s    !&&e&$$ r   c                 .    |                      d          S )NTr   r   r   s    r   r   r      s    !&&d&## r   c                     t          g dg dg dd          }|                    dd                              |           }t          j        ||           d S )NrB   r]   r]   r]   rB   r]   r^   re   )rf   rg   rh   rc   )gr6   r7   r   Fr"   r   r(   r)   r*   r+   )r   r/   r1   s      r   5test_groupby_apply_identity_maybecopy_index_identicalr      sc     
LLL|||LL	M	MBZZZ..44T::F&"%%%%%r   c                     t          t          j                            d          g dd          } |                     d d          j        }| j        }t          j        ||           t          dg di          } | j        d	z  | d
<   | 	                    d
          
                                                                j        }| 	                    d
d          
                                j        }t          j        ||           d S )Nrg   onerj   rj   threer   rj   foo1foo2c                     | S r   rH   r   s    r   r   z-test_apply_with_mixed_dtype.<locals>.<lambda>   s     r   rB   rO   c1)rB   r]   rg   rg   rc   r:   c2Fas_index)r   nprandomrandnr)   rV   r*   r-   r   r(   meanreset_indexr   )r/   r1   r0   result1result2s        r   test_apply_with_mixed_dtyper      s    	IOOA&&@@@	
 	

 
B XXkkX**1FyH68,,, 
D///*	+	+Bus{BtHjj##%%11336Gjjj..33558G7G,,,,,r   c                     t          g dg dt          d          d          } |                     dd          }|                     dd          }|                    d	          j        }|                    d	          j        }t          g d
          }t          j        ||           t          j        ||           |                    d           j        }|                    d           j        }t          j
        g d          }g d}	t          j
        |	dd g          }
t          j        ||
           t          j        ||           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)r7   r7   r6   r_   r6   r7   )rB   r]   rB   rB   r^   rB   rg   )item_iduser_idr   r   Tr   Fr]   )r   rB   r]   re   c                 ,    |                      d          S Nr]   headr   s    r   r   z-test_groupby_as_index_apply.<locals>.<lambda>  s    q		 r   c                 ,    |                      d          S r   r   r   s    r   r   z-test_groupby_as_index_apply.<locals>.<lambda>  s    q		 r   ))r   r   )r   r]   rB   rB   r]   re   )rB   r   rB   r]   )r]   rB   )r^   re   r   abcderB   r^   re   rf   r    r   )r   r#   c                     | S r   rH   r   s    r   r   z-test_groupby_as_index_apply.<locals>.<lambda>  s    ! r   )r   r   r(   r   r!   r   r*   assert_index_equalr)   r   from_tupleslist)r/   g_asg_not_asres_as
res_not_asexpres_as_applyres_not_as_applyexp_not_as_applytpexp_as_applyindress                r   test_groupby_as_index_applyr      s   	555)))!HH	
 	

 
B ::i$://Dzz)ez44HYYq\\Fq!!'J


C&#&&&*c***::11228L~~&9&9::@ "-.N.N.NOO	)	)	)B)"Y4EFFFL,555*,<===
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   rl   c                 F    |                                  }d|j        _        |S Nstat)describer!   r   r{   r1   s     r   descz.test_apply_concat_preserve_names.<locals>.desc!  s     !!"r   c                 t    |                                  }d|j        _        |d t          |                    }|S r   )r   r!   r   lenr   s     r   desc2z/test_apply_concat_preserve_names.<locals>.desc2&  s4    !!"#e**%r   c                     |                                  }dt          |           d|j        _        |d t          |                    }|S )Nstat_d)r   r   r!   r   r   s     r   desc3z/test_apply_concat_preserve_names.<locals>.desc3-  sG    !! 3CJJ222#e**%r   )r   rl   r   )r   rl   N)r(   r)   r!   r   )three_groupgroupedr   r   r   r1   r   result3s           r    test_apply_concat_preserve_namesr     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                  t   d } t          dd          }t          t          j                            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>.fB  s    [*** 	# 	#VE]]F	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#)=PP
 
 	
s   7;;z1/1/2000d   )periodsr    c                     | j         S r   monthr   s    r   r   z,test_apply_series_to_frame.<locals>.<lambda>L      17 r   Fr"   r   )r
   r	   r   r   r   r(   r)   
isinstancer   hasattrr*   r   r!   )r  drtsr   r1   s        r   test_apply_series_to_framer  A  s    
 
 
 
Z	-	-	-B		$$B	/	/	/B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   rl   rm   r]   r   rl   )r(   r)   r   r!   r   r/   r1   s     r    test_apply_series_yield_constantr  T  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   rl   rm   D)r(   r)   r   r  r	   r   r  s     r   test_apply_frame_yield_constantr  Y  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   rl   rm   )	r(   r)   r   r   r*   r   r!   assert_numpy_array_equalvaluesr/   r   r1   r0   s       r   test_apply_frame_to_seriesr  d  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   rl   Fr   rm   r@   r  )r(   r)   r   r   renamer   nandropr*   r   r!   r  r  r  s       r   )test_apply_frame_not_as_index_column_namer   l  s    jj#sej44G]]3F}}%%sBFm%<<AA#ANNH&,777x?????r   c                     d } fd}t          t          j                            ddd          t          j                            ddd          t          j                            d          d                              d                              |           }                    d          d                             |          }t          j        ||d	
           |j	        dk    sJ d S )Nc                     |                      d          d                                                                         j        d d         S )Nrl   rm   r]   )r(   sumsort_valuesrS   r   s    r   transz-test_apply_frame_concat_series.<locals>.transw  s=    }}S!!#&**,,88::?CCr   c                     |                                          | j                  d                   }|                                                                j        d d         S )Nrl   r]   )r(   reindexr!   r#  r$  rS   )r{   r   r/   s     r   trans2z.test_apply_frame_concat_series.<locals>.trans2z  sM    --

5; 7 7 <=={{}}((**/33r   r   rf     r   rl   rm   r   rm   F)check_names)
r   r   r   randintr   r(   r)   r*   r-   r   )r%  r(  r1   r   r/   s       @r   test_apply_frame_concat_seriesr-  v  s    D D D4 4 4 4 4 
""1a..""1a..&&	
 	

 
B ZZ__""5))F
**S//#

$
$V
,
,C63E::::;#r   c                     |                      d d          }|                    d           }|                    d           }t          j        ||           d S )Nc                     | j         S r   r  r   s    r   r   z&test_apply_transform.<locals>.<lambda>  r
  r   Fr"   c                     | dz  S r   rH   r   s    r   r   z&test_apply_transform.<locals>.<lambda>  s
    QU r   c                     | dz  S r   rH   r   s    r   r   z&test_apply_transform.<locals>.<lambda>  s
    1q5 r   )r(   r)   	transformr*   r-   )r  r   r1   r0   s       r   test_apply_transformr3    s\    jj**uj==G]]??++F  11H68,,,,,r   c                     |                      d d g          }d }|                    |          }|D ].\  }}t          j        |j        |          ||                     /d S )Nc                     | j         S r   yearr   s    r   r   z,test_apply_multikey_corner.<locals>.<lambda>  s     r   c                     | j         S r   r  r   s    r   r   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  r1   r>   r{   s         r   test_apply_multikey_cornerr>    s    oo//1B1BCDDG+ + + ]]1F 9 9
U
fjoqqxx88889 9r   r#   TFc                 F   t          g dt          d          d          }|                    d|                               d           }|                    g d          }| r&t          j        g d|j        gdd g	          |_        t          j	        ||           d S )
N)	rB   rB   rB   r]   r]   r]   r^   r^   r^   ri   )r>   r   r>   r"   c                      | j         d d         S r   rR   r   s    r   r   z'test_apply_chunk_view.<locals>.<lambda>  s    afRaRj r   )r   rB   r^   re   rg   rh   )rB   rB   r]   r]   r^   r^   r   )
r   r   r(   r)   taker   from_arraysr!   r*   r+   )r#   r/   r1   r0   s       r   test_apply_chunk_viewrC    s     
666qJJ	K	KBZZ*Z55;;<P<PQQFww)))**H 
#/0
 
 
 &(+++++r   c            	          t          g dg dt          ddd          d          } |                     ddg          }|                    d            d S )	N)
rB   rB   rB   rB   rB   rB   r]   r]   r]   r]   )
r   r   r   rB   rB   rB   r   r   rB   rB   ri   )r   name2r   r   rF  c                 0    |                      dd          S )Nr   Tinplacer;  r   s    r   r   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_conflictrJ    sp    	2223331b"%%	
 	

 
B jj&'*++GMM@@AAAAAr   c                  `   t          g dt          j        g dd          t          j        dd          d          } d }|                     dd	
                              |          }|                                 }t          j        g dd          |d<   t          j        ||           d S )Nr9   r9   r9   r:   r:   r:   rn   r]   r9         @r   r_   vc                     | d         }||                                 z
  |                                |                                 z
  z  | d<   | S NrO  v2minmaxr{   rO  s     r   r  z#test_apply_typecast_fail.<locals>.f  ?    #J15577{quuww'89dr   r   Fr"           g      ?rB   rR  )	r   r   tilearanger(   r)   ry   r*   r+   )r/   r  r1   r0   s       r   test_apply_typecast_failr\    s    	///!,,3$$	
 	

 
B  
 ZZZ..44Q77FwwyyH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                              |          }|                                }t          j        g dd          |d<   t          j
        ||           d S )N)r   r   r   rB   rB   rB   rd   rL  rn   r]   r9   rM  rN  r    c                     | d         }||                                 z
  |                                |                                 z
  z  | d<   | S rQ  rS  rV  s     r   r  z%test_apply_multiindex_fail.<locals>.f  rW  r   r   Fr"   rX  rR  )r   rB  r   r   rZ  r[  r(   r)   ry   r*   r+   )r!   r/   r  r1   r0   s        r   test_apply_multiindex_failr_    s    "$6$6$68J8J8J#KLLE	///!,,3$$	
 	

 
 
 
B  
 ZZZ..44Q77FwwyyHW]]]A..HTN&(+++++r   c                     |                      d d                              d           }| dz  }t          j        ||           d S )Nc                     | j         S r   r6  r   s    r   r   z#test_apply_corner.<locals>.<lambda>  s    qv r   Fr"   c                     | dz  S r   rH   r   s    r   r   z#test_apply_corner.<locals>.<lambda>  s    QRUVQV r   r]   )r(   r)   r*   r+   )r=  r1   r0   s      r   test_apply_cornerrc    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,  )r6   r7   r_   r_   r   )id_fieldcategoryr   c                 n    | j         d         dk    r|                                 S | | j        dk             S Nr   rB   r_   )shapery   rg  r   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 ri  )rj  rg  r   s    r   filt2z&test_apply_without_copy.<locals>.filt2  s(    71:??HQZ3&''r   rf  r   )r?   rk  rm  r0   r1   s        r   test_apply_without_copyrn    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          }|                    d          }t          j        ||           d S )Nr   poXY)rB   r]   r]   rA   r!   r   F)levelr#   c                     | S r   rH   r   s    r   r   z<test_apply_with_duplicated_non_sorted_axis.<locals>.<lambda>  s     r   r"   c                     | S r   rH   r   s    r   r   z<test_apply_with_duplicated_non_sorted_axis.<locals>.<lambda>      1 r   )	r   r'   r(   r)   
sort_indexr*   r-   r$  r+   )ro  r/   serr1   r0   s        r   *test_apply_with_duplicated_non_sorted_axisr|    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 ##C((>>#&&
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   rB   rB   r]   r]   Group1Group2r]   r{   r   r    r   r!   r   c                     |                      t          j        | j                                        | j                                        dz                       S rQ   )r'  r   r[  r!   rT  rU  r   s    r   reindex_helperz1test_apply_reindex_values.<locals>.reindex_helper-  s9    yy17;;==!'++--!2CDDEEEr   r{   Fr"   )r   r	   r(   r   r)   r*   r-   )r  indicesr/   r0   r  r1   s         r   test_apply_reindex_valuesr  #  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                  (   d} t           j                            dd|           }t          |t           j                            |           g d| dz  z  d          }|                    dd	
          }d }|                    |          }d|v sJ d S )Nr)  r   r  )size)foobarbazquxre   )r>   value1value2r>   Fr"   c                 "    | d         dz  | d<   | S )Nr  r]   value3rH   r   s    r   r  z"test_apply_corner_cases.<locals>.fD  s    kAo(r   r  )r   r   r,  r   r   r(   r)   )Nlabelsr/   r   r  r1   s         r   test_apply_corner_casesr  5  s     	AYq#A..F	iooa((222a1f=	
 	

 
B jj5j11G   ]]1Fvr   c                     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
                    t          g dg dt          j        d          gdz  d          } d }|                     d                              |          d         }| j	        }| j
        |_        t          j        ||           d }t          g dg dg dg dd          }|                                }t          j        |j                  |_        |                    d                              |          j        }|                    d                              |          j        }t          j        ||           d S )NrB   r]   z
2017-03-02r  inf)NumberDateStrr  c                     | j         d         S r   rR   r   s    r   r   z;test_apply_numeric_coercion_when_datetime.<locals>.<lambda>V  s    afQi r   c                     | j         d         S r   rR   r   s    r   r   z;test_apply_numeric_coercion_when_datetime.<locals>.<lambda>X  s    AF1I r   r  )
         )r  3r   z12:31:22r^   )r   rl   Tc                 *    | j         d         dg         S )Nr   rl   rR   r  s    r   get_Bz8test_apply_numeric_coercion_when_datetime.<locals>.get_B`  s    vay#r   r   rl   c                    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!   r   step1r   r  step2r  r  )r	   r,   r   StaterJ   Machiner  oTime)toolr   s     r   predictionsz>test_apply_numeric_coercion_when_datetime.<locals>.predictionsi  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   )rl   rl   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   r(   r)   r%   to_datetimer  r*   r-   	Timestamprl   r   r!   ry   r  r  )r/   r0   r1   r  r  df1df2s          r   )test_apply_numeric_coercion_when_datetimer  L  s    
q6L>A#5uenMM
 
B zz8*%%++,?,?@@HnRW%%BGZZ
##))*=*=>>F6%=(5/::: 
ll!2!2!2",z:R:R9SVW9WXX
 
B      ZZ__""5))#.FtHTHN68,,,   '''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:00r^   )clientidr   time_delta_zeror  c                     t          | j                                        | j                                        d          S )N)clientid_ager   )r	   r  rT  r   )ddfs    r   r   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/   r1   r0   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  rl   r  r  rm   (   2   NameValuez
2020-09-01z
2020-09-05ru  r*  )r  r  Z   )r  r  TrH  )r   r%   
date_ranger(   r#  r'   r*   r+   )r?   r/   r1   r0   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          ddd          d
ddg          }d|j        _        t          j        ||           t          j        ||           d S )NrB   c                 4    g | ]}t          j                    S rH   )r   now)rL   nns     r   rM   z'test_time_field_bug.<locals>.<listcomp>  s    !E!E!ER(,..!E!E!Er   r  r`   c                 $    t          ddi          S )Nr_   r]   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  rB   r]   r7   r_   )r	   r   r  s    r   func_with_datez+test_time_field_bug.<locals>.func_with_date  s$    HT1a00q99:::r   r6   byr_   r]   r    r  r  )	r   r   r(   r)   r!   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'htQ.B.B(K(KTUSVWWW),!&+-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)r6   r6   r6   r7   r7   r7   r6   r6   r6   r7   r7   r7   )r_   r_   r   r   r   er_   r_   r   r   r   r  )g?r]   r^   re   rf   rg   r]   re   rg   rc   rB   r]   )gffffff@rc   ri   r        rc   rh   rg   rf   re   r^   )group1group2weightr   r  r  T)rv  sortc                 Z    t          j        | |z                                d          }|S )Nr^   )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  )r   r  s    r   r   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                      }t          j        ||           d S )Nrb   )rc   rh   re   rf   )groupsrandom_varsc                     d S r   rH   r   s    r   	test_funcz.test_groupby_apply_all_none.<locals>.test_func  s    r   r  r   )test_dfr  r1   r0   s       r   test_groupby_apply_all_noner    ss     <<<MMNNG   __X&&,,Y77F{{H&(+++++r   c                  0   t          g dg dd          } t          g dg dd          }d }|                     d                              |          }|                    d                              |          }t          j        ddgdd	ggdd g
          }t          j        d	d	gddggdd g
          }t          ddgdd	gd|          }t          d	d	gddgd|          }t          j        ||           t          j        ||           d S )N)rB   rB   rB   r]   )r   rB   r]   r^   )r  varsr   c                 F    | j         d         dk     rd S | j        ddg         S )Nr   r]   rE  )rj  rS   r   s    r   r  z0test_groupby_apply_none_first.<locals>.test_func  s&    71:>>4vq"gr   r  rB   r   r]   r   r^   r    )r   r(   r)   r   rB  r*   r+   )	test_df1test_df2r  r   r   index1index2	expected1	expected2s	            r   test_groupby_apply_none_firstr    sM   LLL,,,GGHHHLLL,,,GGHHH  
 x((..y99Gx((..y99G#aVaV$4Xt<LMMMF#aVaV$4Xt<LMMMFaVaV<<FKKKIaVaV<<FKKKI'9---'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   rB   filledempty)r   r{   r{   c                 0    | | j         dk             d         S )NrB   r   )r   r   s    r   r   z7test_groupby_apply_return_empty_chunk.<locals>.<lambda>  s    ekQ.>(?(H r   r   r   )r   r!   )	r   r(   r)   r	   r   from_productr  r*   r-   )r/   r  r1   r0   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   c                  ^   t          d                                g dg dd          } |                     dd          }|                    d           }t          g d	g d
d          }t	          j        ||           |                    d           }t	          j        ||           d S )Nza a bra   re   rg   rf   r*  r   Fr"   c                 0    | |                                  z  S r   r#  r   s    r   r   z-test_apply_with_mixed_types.<locals>.<lambda>  s    1quuww; r   )gUUUUUU?gUUUUUU?rB   )皙?g333333?r9   rl   rm   c                 0    | |                                  z  S r   r  r   s    r   r   z-test_apply_with_mixed_types.<locals>.<lambda>  s    q15577{ r   )r   splitr(   r2  r*   r+   r)   )r/   r   r1   r0   s       r   test_apply_with_mixed_typesr    s    	yyyyyyII	J	JB


35
))A[[..//F444???KKLLH&(+++WW**++F&(+++++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 )Nr6   rB   r]   r    c                     | j         S r   r    r  s    r   r   z*test_func_returns_object.<locals>.<lambda>!  s    QW r   r   )r   r   r(   r)   r	   r*   r-   r  s      r   test_func_returns_objectr    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  r`   r6   c                 (    t          dgdg          S )Nspam*   r    r  r   s    r   r   z+test_apply_datetime_issue.<locals>.<lambda>2  s    VVHRD-I-I-I r   r  r,   r   r  r@   r   r(   r)   r   r*   r+   )r  r/   r1   r0   s       r   test_apply_datetime_issuer  '  s     
%(;'<==	>	>BZZ__""#I#IJJF	%xc:::RD  H &(+++++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   rB   r]   r^   re   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!   )rL   r_   r.   s      r   
<dictcomp>zYtest_apply_series_return_dataframe_groups.<locals>.most_common_values.<locals>.<dictcomp>W  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_valuesV  s'    KK

KKKLLLr   r  r  z
2015-02-24r  r  )	r   r%   r  r(   r)   r	   DatetimeIndexr*   r-   )tdfr"  r1   r0   s       r   )test_apply_series_return_dataframe_groupsr%  :  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   rg  c           
      `   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           }t          j        ||           |j        j        ddgk    sJ d S )NrB   r]   rf   ra   )
categoriesrl   )r'  r   )g      4@g      9@rY  r  r     )rm   r  r    r  )r   rl   rm   r  r   c                 *    |                                  S r   r  r   s    r   r   z-test_apply_multi_level_name.<locals>.<lambda>s  s    QUUWW r   )r%   CategoricalCategoricalIndexr   r   r   r[  r   r   r'   r(   r)   r*   r+   r!   r   )rg  r7   expected_indexexpected_valuesr0   r/   r1   s          r   test_apply_multi_level_namer.  `  sG    
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__""#4#455F&(+++8>c3Z''''''r   c            
         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        }t          t          j	        d          t          t          t          j        t          gg d          }t          j        ||           d S )Ni  rB   reddarkr   r  greenstormyr]   9i  bluebrightr^   r   i  calmre   potato)observationcolormood	intensityscorer@   r:  c                     | j         d         S r   rR   r  s    r   r   z;test_groupby_apply_datetime_result_dtypes.<locals>.<lambda>  s    16!9 r   zdatetime64[ns]r    )r   from_recordsr%   r  r(   r)   rV   r	   r   r   r,   int64r*   r-   )r?   r1   r0   s      r   )test_groupby_apply_datetime_result_dtypesrA  x  s   !\$1%%ufa=\$1%%w!SA\$1%%vxDA\$1%%vvq(C		
 GFF  D \\'""(()<)<==DF	"	#	#VVRXvFDDD  H 68,,,,,r   r!   abcr^   2020r  )r  freq))r6   r   )r6   rB   )r7   r   c                     t          g dg dd|           }|                    dd                              d           }t          j        ||           d S )	N)rB   rB   r]   )r   rB   r   r  r    r{   Fr"   c                     | S r   rH   r   s    r   r   z8test_apply_index_has_complex_internals.<locals>.<lambda>  ry  r   r   )r!   r/   r1   s      r   &test_apply_index_has_complex_internalsrG    sd     
YYY;;5	I	I	IBZZEZ2288EEF&"%%%%%r   zfunction, expected_valuesc                 4    | j                                         S r   )r!   to_listr   s    r   r   r     s    17??$$ r   c                 N    t          | j                                                  S r   )setr!   rI  r   s    r   r   r     s    3qw(()) r   c                 N    t          | j                                                  S r   )tupler!   rI  r   s    r   r   r     s    5**++ r   )r   rB   r]   r^   c                 h    t          t          | j                                                            S r   )dict	enumerater!   rI  r   s    r   r   r     s"    d9QW__%6%67788 r   c                 b    d t          | j                                                  D             S )Nc                     g | ]	\  }}||i
S rH   rH   )rL   nis      r   rM   z<lambda>.<locals>.<listcomp>  s     III&1a1vIIIr   )rQ  r!   rI  r   s    r   r   r     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   rl   rl   r  r@   r   rl   r  r    r   r(   r)   r	   r   r*   r-   )functionr-  r/   r1   r0   s        r   1test_apply_function_returns_non_pandas_non_scalarrY    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 )Nrl   )r  flattenr   s    r   fctz4test_apply_function_returns_numpy_array.<locals>.fct  s    Sz ((***r   )r6   r6   r7   nonerB   r]   r^   r  r   r9   r:   r;   )r6   r7   r^  r  r    )	r   r   r  r(   r)   r	   r   r*   r-   )r]  r/   r1   r0   s       r   'test_apply_function_returns_numpy_arrayr_    s    + + + 
0001a7HII	J	JBZZ__""3''F
scURVH%U3E3E3EC-P-P-P  H 68,,,,,r   rX  c                     | j         S r   r    grs    r   r   r     s     r   c                     | j         dz   dz
  S rQ   r    ra  s    r   r   r     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)
rB   r]   r]   r]   rB   r]   r^   rB   r^   rB   idr@   )r   re   rh   ri   )rB   r]   r^   rf   rg   rc   ra   r  r    rW  )rX  r/   r1   r0   s       r    test_apply_function_index_returnrf    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   )rB   r]   re   re   rf   rg   r   r   Fr   c                 *    |                                  S r   )r   r   s    r   r   zAtest_apply_function_with_indexing_return_column.<locals>.<lambda>  s     r   )r   r   rj   )r;   r<   r<   r   r  s      r   /test_apply_function_with_indexing_return_columnri    s    	@@@&&&	
 	

 
B ZZZ//556H6HIIF+++#OO	
 	
 H &(+++++r   udfc                 *    |                                  S r   r   r   s    r   r   r     s     r   c                 R    |                                                      d           S )Nc                     | dz   S rQ   rH   )ys    r   r   z<lambda>.<locals>.<lambda>  s
    A r   )ry   r  r   s    r   r   r     s    affhhoooo&F&F 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 )Nr6   r7   rB   r]   r  r   r"   )r   r(   r)   rl   r   r!   nlevels)r#   rj  r/   	df_resultseries_results        r   test_apply_result_typers    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)r]   rB   r]   ra   r  r   Fr"   c                     | S r   rH   r   s    r   r   z4test_result_order_group_keys_false.<locals>.<lambda>  s    q r   c                 *    |                                  S r   r   r   s    r   r   z4test_result_order_group_keys_false.<locals>.<lambda>  s     r   r   r  s      r   "test_result_order_group_keys_falserw    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-01r]   z
2001-01-02z
2001-01-03UTC)tzr^   rg   )r   rn  tr   Fr"   c                 :    | ddg                                          S Nr   rn  r   r   s    r   r   z1test_apply_with_timezones_aware.<locals>.<lambda>      "c3Z.BUBUBWBW r   c                 :    | ddg                                          S r}  r   r   s    r   r   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    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67W7WXXGkk#%k00667W7WXXG'7+++++r   c                    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          }|                    t                    }t          j        ||           |                    d          }t          | |          } t          ||           | }|                    t                    }t          j        ||           d S )N)c   r  r  X   r  r  )rB   r]   r^   re   rf   rg   )r  r  r  r  r  <   rn   i  i)     rg      r  r  r  r6   r  r    r  )	r   r   r(   r)   r#  r*   r+   r   getattr)reduction_funcr/   r0   grpr1   args_s          r   ;test_apply_is_unchanged_when_other_methods_are_called_firstr    s    
)))###)))	
 	

 
B CjAwc2Y77RH3'''  H ***

CYYs^^F&(+++ ***

C">266D$^$$d+AYYs^^F&(+++++r   c                  l   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                   |_	        |
                    d	          }t          j        ||           |j	        j        d         D ]}t          |          t          u sJ d S )N)r6   r6   r6   r7   i  rB   r  r]   r   r*  )r  e   f   g   idxr  r    r   rl   c                 ,    |                      d          S rQ   r   r   s    r   r   zRtest_apply_with_date_in_multiindex_does_not_convert_to_timestamp.<locals>.<lambda>:  s     r   )r   r]   r^   )r   rl   r  r@   )r   r   r   r(   r)   rS   r   r   
from_framer!   r  r*   r+   levelstype)r/   r  r1   r0   vals        r   @test_apply_with_date_in_multiindex_does_not_convert_to_timestampr  (  s\    
%%%T1b!!T1b!!T1b!!T1b!!	 		
 		
 (((u555
 
 
B **c3Z
 
 CYY**++Fwyyy!H##%%H*84E4E4E+FGGHN}}U}++H&(+++|"1% ! !CyyD     ! !r   c                     t          t          j                            ddg          t          j        ddgddgg                    } | j                            dd	                              d
           }|                     dd	                              d           }t          j	        ||j                   t          j	        ||            d S )Nrg   re   r   rl   rB   r]   r@   r   rE   rv  c                 0    |                      dd          S )Nr   r  	droplevelr   s    r   r   zDtest_apply_by_cols_equals_apply_by_rows_transposed.<locals>.<lambda>R  s    !++1A+.. r   c                 0    |                      dd          S )NrB   r   r  r  r   s    r   r   zDtest_apply_by_cols_equals_apply_by_rows_transposed.<locals>.<lambda>T  s    !++1TU+:V:V r   )
r   r   r   r   r  r  r(   r)   r*   r+   )r/   by_rowsby_colss      r   2test_apply_by_cols_equals_apply_by_rows_transposedr  F  s     

	!Q  '#saV(<==
 
 
B
 dlll++11.. G jjaqj))//0V0VWWG'79---'2&&&&&r   dropnac                 J   t          g ddt          j        t          j        ddgdt          d                    }|                    d| d	                              d
           }| r|                                n|j        g d         }t          j	        ||           d S )NrB   r]   r^   re   rf   r6   r7   )colr{   xxyxzr    r{   F)r  r#   c                     | S r   rH   r   s    r   r   z5test_apply_dropna_with_indexed_same.<locals>.<lambda>e  s    RS r   )r   r^   rB   r]   re   )
r   r   r  r   r(   r)   r  rS   r*   r+   )r  r/   r1   r0   s       r   #test_apply_dropna_with_indexed_samer  Z  s     
"??262634	
 	
 7mm
 
 
B ZZ5ZAAGGTTF$Bryy{{{"'///*BH&(+++++r   zas_index, expected)rB   rB   rB   )r]   r]   rB   )r6   r7   N)r   r   )r]   r]   r7   r   r    c                     t          g dg dg dd          }|                    ddg|                               d           }t          j        ||           d S )Nr~  )rB   rB   rB   rB   rn   r6   r7   r   c                     dS rQ   rH   r   s    r   r   z5test_apply_as_index_constant_lambda.<locals>.<lambda>~      q r   )r   r(   r)   r*   assert_equal)r   r0   r/   r1   s       r   #test_apply_as_index_constant_lambdar  j  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  )rg   rh   rc   ri   r   )rB   rB   rB   r]   r]   r*  rf   r    rm   c                 4    | j                                         S r   )r   rz  r   s    r   r   z(test_sort_index_groups.<locals>.<lambda>  s    QS^^-=-= r   rB   rg   )r   r   r   rN  r   r   r   r  )	r   r   r(   r)   r	   r   r   r*   r-   r  s      r   test_sort_index_groupsr    s    	ooOOO///JJAhh
 
 
B ZZ__""#=#=>>Fa$444S$K
 
 
   H 68,,,,,r   c                  6   t          t          j        ddd          t          d          t	          d          d          } |                     | j        | j        j        j        gd          	                    d	           }t          j        ||            d S )
Nz
2010-01-0112Hrf   )rD  r  r   )r   valsletFr"   c                      | j         dd          S r   rR   r   s    r   r   z;test_positional_slice_groups_datetimelike.<locals>.<lambda>  s    afQRRj r   )r   r%   r  r   r   r(   r  r   dtr)   r*   r+   )r0   r1   s     r   )test_positional_slice_groups_datetimeliker    s    M,UAFFF!HH==	
 	
 H 	x}',-%   e  !!  &(+++++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)r6   r6   r7   ra   r  r*  r   rl   rm   c                     |                      t                                                    |                                 z
  S r   )astypefloatrU  rT  r   s    r   r   z7test_groupby_apply_shape_cache_safety.<locals>.<lambda>  s)    AHHUOO,?,?,A,AAEEGG,K r   r9   rY  r:   r	  r6   r7   r  r    r  )r/   gbr1   r0   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                    t          g dg dddt          j        t          j        gd          }|                    d|           }|                    d           }|                    d	           }t          j        ||           d S )
Nr~  )rB   r   r]   rf   rB   r]   )r  rn  zr  )r  c                 .    |                      dd          S )NrB   r  )nlargest)grp_dfs    r   r   ztest_apply_na.<locals>.<lambda>  s    3(?(? r   c                 V    |                      dd                              d          S )Nr  F)	ascendingrB   )r$  r   r   s    r   r   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/   dfgrpr1   r0   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          d
dt          j        dd          gddt          j        dd          ggg dt          j        ddgddg                    }t          j        | |           d S )Nr~  )r  r  r  r  r   r.   )unitrn   r6   r7   c                     | j         d         S NrE  rR   r   s    r   r   z8test_apply_empty_string_nan_coerce_bug.<locals>.<lambda>  s    "'"+ r   rB   r  r]   re   )rB   r  )r]   r  r   ru  )	r   r%   r  r(   r)   r   r   r*   r+   )r1   r0   s     r   &test_apply_empty_string_nan_coerce_bugr    s     	!\\%%%^LLLs;;; 	
 	
 
#s			%%	&	&  
R,,,	-2r~ac7R7R7R/ST$gw%7SzJJJ  H
 &(+++++r   index_values)r9   r:   r;   c                    t          g dg ddt          |                     }t          dg dit          g dd	                    }|                    d                              d
           }t	          j        ||           d S )N)aaa2a3ra   r`   r    b_mean)r:   r;   r9   )r  r  r  r6   r  c                 X    t          | d                                         gdg          S )Nr7   r  r    )r	   r   r   s    r   r   z0test_apply_index_key_error_bug.<locals>.<lambda>  s$    62c7<<>>*8*=== r   )r   r   r(   r)   r*   r+   )r  r1   r0   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  )rB   re   r^   )r  r  r  c                     t          d| i|          }|                    dd                              d           }t          j        ||           d S )Nr  r    Fr"   c                     | S r   rH   r   s    r   r   z5test_apply_nonmonotonic_float_index.<locals>.<lambda>  r  r   r   )argr  r0   r1   s       r   #test_apply_nonmonotonic_float_indexr    s\    V %S111He66<<[[IIF&(+++++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  r1   r0   s         r   test_apply_str_with_argsr    s`     
CBRXe-d---f--Fvv4v((H&(+++++r   r   	some_namec                     t          ddg|           }|                    ddgd                              d           }t          ddg|           }t          j        ||           d S )NrB   r]   r  r6   Fr"   c                     | S r   rH   r   s    r   r   z1test_result_name_when_one_group.<locals>.<lambda>"  r  r   )r	   r(   r)   r*   r-   )r   r{  r1   r0   s       r   test_result_name_when_one_groupr    sr     !Qd
#
#
#C[[#s[66<<[[IIFq!f4(((H68,,,,,r   z
method, opr)   c                     | j         d         S r  )r  r  s    r   r   r   +  s    RYr] r   c                 (    | d         j         d         S )Nr7   r   rR   r  s    r   r   r   ,  s    RW\!_ r   )aggskew)r  prod)r  r#  c           
         t          g g d          }|                    dd          }t          |d          } t          ||           |          }t          g ddt	          g dd                    }t          j        ||           d S )	Nr`   r6   Tr"   r7   rC   r   )r   r   r!   )r   r(   r  r	   r   r*   r-   )methodopempty_dfr  r{   r1   r0   s          r   test_empty_dfr  (  s     r++,,H			#$		/	/BBE#WUF##B''F
IU2YS-Q-Q-Q  H 68,,,,,r   )^r   r   ior   numpyr   pytestpandasr%   r   r   r   r	   r
   pandas._testing_testingr*   pandas.tests.groupbyr   r3   rX   r\   markparametrizer   r   r   r   r   r   r   r   r   r  r  r  r  r   r-  r3  r>  rC  rJ  r\  r_  rc  rn  r|  r  r  r  r  r  r  r  r  r  r  r  r  todayr   r  r%  r.  rA  r+  interval_rangeperiod_ranger   rG  rY  r_  rf  ri  rs  rw  r  r  r  r  r  r,   r  r  r  r  r  r  r  r  r  r  r  rH   r   r   <module>r     sB                                            8 8 8 8 8 8&- &- &-R, , ,, , , 	/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  ., , ,& 
$$##	 	& 	& 	&- - -("$ "$ "$J 3  3  3F2 2 2&0 0 0
  @ @ @@ @ @  ,- - -9 9 9 e}55, , 65,B B B, , ,,, , ,0, , ,, , ,: u660 0 760,- - -$  .2- 2- 2-j, , ,6, , ,"C C C49 9 94
, 
, 
,. . .(- - -
, 
, 
,- - - X^~x~'',,..0@0@0E0E0G0GH , ,	 ,#- #- #-L eT]33( ( 43(.- - -& DDKK((!Q444
===>>	 & & & 	$	$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-, , ,$ 	FFH  e}550 0 65	 
0 , , ,, , ,, , ,:! ! !<' ' '( D%=11, , 21,  IIII&6F6F6Ff0U0U0U  	
 FA4j4ff5EcSVZXXX  	
 "& &# "&- - -", , ,	, 	, 	, D%=11, , 21,, , ,* )))___)EFF, , GF,*   
  	
  
  	
  
  	
3%( (R, ,S( (R, D62,nd=S8T)UVV, , WV, +t!455- - 65- 	**+	,,-	 	- -	 	- - -r   