
    o[we                     |   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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#d0 Z$d1 Z%d2 Z&d3 Z'd4 Z(d5 Z)ej                            d6d7d8g          d9             Z*d: Z+d; Z,d< Z-d= Z.d> Z/ej                            d?d7d8g          d@             Z0dA Z1dB Z2dC Z3dD Z4dE Z5dF Z6dG Z7dH Z8dI Z9dJ Z:dK Z;dL Z<ej                            dM e j=                     e j=                                                     e j=                    >                                g          dN             Z?dO Z@ej                            dPd8d7g          dQ             ZAdR ZBej                            dS ejC         edT                     ejD        d dU           ejE        dVdUdWX           ejF        g dY          g          dZ             ZGej                            d[d\ d dgddUggfd] d dhddUhgfd^ d_d`gfda d dd_ddUd_gfdb d d iddigd diddUiggfg          dc             ZHdd ZIej                            dedf dg g          dh             ZJdi ZKej                            djdk dl g          ej                            d6d7d8g          dm                         ZLdn ZMdo ZNdp ZOdq ZPdr ZQej                            dsd7d8g          dt             ZRej                            dud8 e	g dvg dwg e
g dxeSy                    gd7 eddg ejF        dzd{gdd|g}          ~          gg          d             ZTd ZUd ZVd ZWd ZXej                            dsd7d8g          d             ZYd ZZe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                            dd7gi fg dd7ifg          d             Z]ej                            dddg          d             Z^ej                            ddd fdd fdddg          d             Z_ej                            ddej`        ddgej`        dddgd ddej`        gg          d             Zad ZbdS )    )datedatetime)StringION)	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gdz  dgdz  dt          j        ddd          	          }t          j	        d         |           d S )
N   
   r   )indexcolumnsc                 2                         |            d S N)append)groupgroupss    ?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   )r   r   d   r   )
r   listrangereset_indexgroupbyapplypd
RangeIndex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$$$#(sRx((ab0I0I  N &)^44444r   c                     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 r   idxmaxxs    r   <lambda>z#test_apply_issues.<locals>.<lambda>@   s    qxxzz r   )r*   r+   )z
2011.05.16z
2011.05.17z
2011.05.18dtypename)z00:0002:00r7   r   F
group_keysc                 N    | d         | d                                                   S )Nr(   r)   r/   r1   s    r   r3   z#test_apply_issues.<locals>.<lambda>K   s    !F)AgJ--//0 r   )r    read_csvr   	set_indexr   r   r   r0   r   r"   r#   r   objectr	   assert_series_equal)sr$   expectedresultexp_idxs        r   test_apply_issuesrC   '   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                     t          g dg ddddg          t          j        j        dd          j        dd          gddd	g
          } d}t	          j        t          |          5                      d j        D             d          }d d d            n# 1 swxY w Y   |	                    fd          }t	          j
        ||            d S )NarF   brG   rF         ?       @      @      @g      @keydatarN   rO   r   r   float64r=   axiskeys+DataFrame.groupby with axis=1 is deprecatedmatchc                 ,    g | ]}t          |          S  str.0r2   s     r   
<listcomp>z&test_apply_trivial.<locals>.<listcomp>[       333AQ333r   rS   c                 "    j         dd          S Nr   ilocr2   r$   s    r   r3   z$test_apply_trivial.<locals>.<lambda>\   s     r   )r   r    concatrd   r"   assert_produces_warningFutureWarningr   dtypesr   r#   r@   msggbrA   r$   s       @r   test_apply_trivialrm   P   s8    
)))3L3L3LMM
 
 
B y"'!""+rwqrr{3!9hBWXXXH
7C		#M	=	=	= = =ZZ33333!Z<<= = = = = = = = = = = = = = =XX++++,,F&(+++++s   .'B!!B%(B%c                     t          g dg ddddg          t          j        gddd	g
          } d}t          j        t
          |          5                      d j        D             dd          }d d d            n# 1 swxY w Y   |                    fd          }t          j	        ||            d S )NrE   rH   rM   rN   rO   rP   r   rQ   r=   rR   rU   rV   c                 ,    g | ]}t          |          S rY   rZ   r\   s     r   r^   z+test_apply_trivial_fail.<locals>.<listcomp>j   r_   r   T)rS   r9   c                     S r   rY   re   s    r   r3   z)test_apply_trivial_fail.<locals>.<lambda>k   s     r   )
r   r    rf   r"   rg   rh   r   ri   r   r#   rj   s       @r   test_apply_trivial_failrq   a   s0   	)))3L3L3LMM
 
 
B y"bH0EFFFH
7C		#M	=	=	= N NZZ33333!ZMMN N N N N N N N N N N N N N NXXllll##F&(+++++s   (BBBzdf, group_names)r   r   r         )rF   rF   rF   rG   crF   rG   r   rr   rs   r   r   r   r   )r   r   r   r   r   rF   )r   r   r   rr   rr   r   r   rr      rr   r   rr   rs   r   rr   rs   )            rx   	   )rF   two
aaabbbcccc)
rs   rz   rs   r|   r{   rr   r   r~   r{   rz   )
rz   r   rr   rr   rr   r}   rx   r|   rr   rx   )rF   BCrF   rG   rt   )rr   rr   rs   rP   )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   )r   r6   copyr   r+   s    r   f_copyz/test_group_apply_once_per_group.<locals>.f_copy   s%    UZ   zz||r   c                 <                         | j                   | S r   r   r6   r   s    r   f_nocopyz1test_group_apply_once_per_group.<locals>.f_nocopy   s    UZ   r   c                 <                         | j                   dS Nr   r   r   s    r   f_scalarz1test_group_apply_once_per_group.<locals>.f_scalar   s    UZ   qr   c                 <                         | j                   d S r   r   r   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   ru   )r   r6   r   r   s    r   f_constant_dfz6test_group_apply_once_per_group.<locals>.f_constant_df   s1    UZ   s!--...r   rF   Fr8   )r   r   )	r$   group_namesr   r   r   r   r   funcr+   s	           @r   test_group_apply_once_per_groupr   p   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 )Nrr   )r   r   r   r   r   r   r   r   )02468101214)group_by_columntest_columnr   r   Fr8   c                      t          d          S )Nfunction_called)printr$   s    r   r3   z2test_group_apply_once_per_group2.<locals>.<lambda>   s    5*++ r   r   )r   r   r   
readouterroutcount)capsysr@   r$   rA   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   rs   )ArG   c                     | S r   rY   r   s    r   slowz,test_apply_fast_slow_identical.<locals>.slow   s    r   c                 *    |                                  S r   r   r   s    r   fastz,test_apply_fast_slow_identical.<locals>.fast   s    zz||r   r   Fr8   )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   r   c                     | S r   rY   r1   s    r   r3   r3      s    ! r   c                     | d d          S r   rY   r1   s    r   r3   r3      s    !AAA$ r   c                 .    |                      d          S )NFdeepr   r1   s    r   r3   r3      s    !&&e&$$ r   c                 .    |                      d          S )NTr   r   r1   s    r   r3   r3      s    !&&d&## r   c                     t          g dg dg dd          }|                    dd                              |           }t          j        ||           d S )Nr   rr   rr   rr   r   rr   rs   rz   )r{   r|   r}   rx   )grF   rG   r   Fr8   r   r   r   r"   r#   )r   r$   rA   s      r   5test_groupby_apply_identity_maybecopy_index_identicalr      sc     
LLL|||LL	M	MBZZZ..44T::F&"%%%%%r   c                  B   t          t          j                            d                              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 )Nrr   r|   oner   r   threer   r   foo1foo2c                     | S r   rY   r1   s    r   r3   z-test_apply_with_mixed_dtype.<locals>.<lambda>  s     r   r   r`   c1)r   rr   r|   r|   rx   rJ   c2Fas_index)r   nprandomdefault_rngstandard_normalr   ri   r"   r>   r   r   meanr   r   )r$   rA   r@   result1result2s        r   test_apply_with_mixed_dtyper      s   	I))!,,<<Q??@@@	
 	

 
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)rG   rG   rF   rt   rF   rG   )r   rr   r   r   rs   r   r|   )item_iduser_idr(   r   Tr   Frr   )r   r   rr   rz   c                 ,    |                      d          S Nrr   headr1   s    r   r3   z-test_groupby_as_index_apply.<locals>.<lambda>   s    q		 r   c                 ,    |                      d          S r   r   r1   s    r   r3   z-test_groupby_as_index_apply.<locals>.<lambda>!  s    q		 r   ))r   r   )r   rr   r   r   rr   rz   )r   r   r   rr   )rr   r   )rs   rz   r+   abcder   rs   rz   r{   r   r   )r   r9   c                     | S r   rY   r1   s    r   r3   z-test_groupby_as_index_apply.<locals>.<lambda>.  s    ! r   )r   r   r   r   r   r   r"   assert_index_equalr   r   from_tuplesr   )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   r   c                 F    |                                  }d|j        _        |S Nstat)describer   r6   r   rA   s     r   descz.test_apply_concat_preserve_names.<locals>.desc5  s     !!"r   c                 t    |                                  }d|j        _        |d t          |                    }|S r   )r   r   r6   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   r6   r   s     r   desc3z/test_apply_concat_preserve_names.<locals>.desc3A  sG    !! 3CJJ222#e**%r   )r   r   r   )r   r   N)r   r   r   r+   )three_groupgroupedr   r  r  rA   r   result3s           r    test_apply_concat_preserve_namesr  2  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>.fV  s    [*** 	# 	#VE]]F	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#)=PP
 
 	
s   7;;z1/1/2000r   )periodsrr   r   c                     | j         S r   monthr1   s    r   r3   z,test_apply_series_to_frame.<locals>.<lambda>`      17 r   Fr8   r6   )r
   r	   r   r   r   r   r   r   
isinstancer   hasattrr"   r   r   )r  drtsr	  rA   s        r   test_apply_series_to_framer  U  s    
 
 
 
Z	-	-	-B		%%a((88==R	H	H	HB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   rr   r   r   )r   r   r  r   r+   r$   rA   s     r    test_apply_series_yield_constantr#  h  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	   r6   r"  s     r   test_apply_frame_yield_constantr&  m  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	  rA   r@   s       r   test_apply_frame_to_seriesr+  x  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   rP   r%  )r   r   r  r   renamer   nandropr"   r   r   r(  r)  r*  s       r   )test_apply_frame_not_as_index_column_namer0    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   rr   )r   sumsort_valuesrd   r   s    r   transz-test_apply_frame_concat_series.<locals>.trans  s=    }}S!!#&**,,88::?CCr   c                     |                                          | j                  d                   }|                                                                j        d d         S )Nr   rr   )r   reindexr   r3  r4  rd   )r   r	  r$   s     r   trans2z.test_apply_frame_concat_series.<locals>.trans2  sM    --

5; 7 7 <=={{}}((**/33r   rr   r   r{     r   r   r   r   r   F)check_names)r   r   r   r   integersr   r   r   r"   r>   r6   )r5  r8  rA   r   r$   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  r1   s    r   r3   z&test_apply_transform.<locals>.<lambda>  r  r   Fr8   c                     | dz  S r   rY   r1   s    r   r3   z&test_apply_transform.<locals>.<lambda>  s
    QU r   c                     | dz  S r   rY   r1   s    r   r3   z&test_apply_transform.<locals>.<lambda>  s
    1q5 r   )r   r   	transformr"   r>   )r  r	  rA   r@   s       r   test_apply_transformrC    s\    jj**uj==G]]??++F  11H68,,,,,r   c                     |                      d d g          }d }|                    |          }|D ].\  }}t          j        |j        |          ||                     /d S )Nc                     | j         S r   yearr1   s    r   r3   z,test_apply_multikey_corner.<locals>.<lambda>  s     r   c                     | j         S r   r  r1   s    r   r3   z,test_apply_multikey_corner.<locals>.<lambda>  s    17 r   c                 <    |                      d          dd          S )Nr   r4  r   s    r   r  z%test_apply_multikey_corner.<locals>.f  s      %%bcc**r   )r   r   r"   r#   loc)tsframer	  r  rA   rN   r   s         r   test_apply_multikey_cornerrN    s    oo//1B1BCDDG+ + + ]]1F 9 9
U
fjoqqxx88889 9r   r9   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)	r   r   r   rr   rr   rr   rs   rs   rs   r~   )rN   r)   rN   r8   c                      | j         d d         S r   rc   r1   s    r   r3   z'test_apply_chunk_view.<locals>.<lambda>  s    afRaRj r   )r   r   rs   rz   r|   r}   )r   r   rr   rr   rs   rs   r   )
r   r   r   r   taker   from_arraysr   r"   r#   )r9   r$   rA   r@   s       r   test_apply_chunk_viewrS    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)
r   r   r   r   r   r   rr   rr   rr   rr   )
r   r   r   r   r   r   r   r   r   r   r~   )r6   name2r)   r6   rV  c                 0    |                      dd          S )Nr)   TinplacerK  r1   s    r   r3   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_conflictrZ    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rI   rI   rI   rJ   rJ   rJ   r   rr   rI         @r  rt   vc                     | d         }||                                 z
  |                                |                                 z
  z  | d<   | S Nr_  v2minmaxr   r_  s     r   r  z#test_apply_typecast_fail.<locals>.f  ?    #J15577{quuww'89dr   r  Fr8           g      ?r   rb  )	r   r   tilearanger   r   r   r"   r#   )r$   r  rA   r@   s       r   test_apply_typecast_failrl    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   r   r   r   ry   r\  r   rr   rI   r]  r^  r   c                     | d         }||                                 z
  |                                |                                 z
  z  | d<   | S ra  rc  rf  s     r   r  z%test_apply_multiindex_fail.<locals>.f  rg  r   r  Fr8   rh  rb  )r   rR  r   r   rj  rk  r   r   r   r"   r#   )r   r$   r  rA   r@   s        r   test_apply_multiindex_failro    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   rF  r1   s    r   r3   z#test_apply_corner.<locals>.<lambda>  s    qv r   Fr8   c                     | dz  S r   rY   r1   s    r   r3   z#test_apply_corner.<locals>.<lambda>  s    QRUVQV r   rr   )r   r   r"   r#   )rM  rA   r@   s      r   test_apply_cornerrs    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,  )rF   rG   rt   rt   r   )id_fieldcategoryr)   c                 n    | j         d         dk    r|                                 S | | j        dk             S Nr   r   rt   )shaper   rw  r1   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 ry  )rz  rw  r1   s    r   filt2z&test_apply_without_copy.<locals>.filt2  s(    71:??HQZ3&''r   rv  r   )rO   r{  r}  r@   rA   s        r   test_apply_without_copyr~    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 )Nr2   poXY)r   rr   rr   r   r   r   F)levelr9   c                     | S r   rY   r1   s    r   r3   z<test_apply_with_duplicated_non_sorted_axis.<locals>.<lambda>(  s     r   r8   c                     | S r   rY   r1   s    r   r3   z<test_apply_with_duplicated_non_sorted_axis.<locals>.<lambda>/      1 r   )	r   r<   r   r   
sort_indexr"   r>   r4  r#   )r  r$   serrA   r@   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   r   r   rr   rr   Group1Group2rr   r   r)   r   r)   r   r6   c                     |                      t          j        | j                                        | j                                        dz                       S rb   )r7  r   rk  r   rd  re  r1   s    r   reindex_helperz1test_apply_reindex_values.<locals>.reindex_helperA  s9    yy17;;==!'++--!2CDDEEEr   r   Fr8   )r   r	   r   r)   r   r"   r>   )r)  indicesr$   r@   r  rA   s         r   test_apply_reindex_valuesr  7  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 )Nr9  rr   r   r   )size)foobarbazquxrz   )rN   value1value2rN   Fr8   c                 "    | d         dz  | d<   | S )Nr  rr   value3rY   r   s    r   r  z"test_apply_corner_cases.<locals>.fX  s    kAo(r   r  )r   r   r   r<  r   r   r   r   )Nlabelsr$   r	  r  rA   s         r   test_apply_corner_casesr  I  s     	AY""1%%..q#A.>>F	i++A..>>qAA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 )Nr   rr   z
2017-03-02r  inf)NumberDateStrr  c                     | j         d         S r   rc   r1   s    r   r3   z;test_apply_numeric_coercion_when_datetime.<locals>.<lambda>j  s    afQi r   c                     | j         d         S r   rc   r1   s    r   r3   z;test_apply_numeric_coercion_when_datetime.<locals>.<lambda>l  s    AF1I r   r  )r         )r  3r   z12:31:22rs   )r   r   Tc                 *    | j         d         dg         S )Nr   r   rc   r  s    r   get_Bz8test_apply_numeric_coercion_when_datetime.<locals>.get_Bt  s    vay#r   r   r   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   r5   step1r   r  step2r  r  )r	   r=   r   Stater[   Machiner)  oTime)toolr   s     r   predictionsz>test_apply_numeric_coercion_when_datetime.<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   r   r   r    to_datetimer  r"   r>   	Timestampr   r   r   r   r  r  )r$   r@   rA   r  r  df1df2s          r   )test_apply_numeric_coercion_when_datetimer  `  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:00rs   )clientidr   time_delta_zeror  c                     t          | j                                        | j                                        d          S )N)clientid_ager   )r	   r  rd  r   )ddfs    r   r3   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$   rA   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-05r  r:  )r   r  Z   )r  r  TrX  )r   r    
date_ranger   r3  r<   r"   r#   )rO   r$   rA   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                  0   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dg          }d|j        _        t          j
        ||           t          j
        ||           d S )Nr   c                 4    g | ]}t          j                    S rY   )r   now)r]   nns     r   r^   z'test_time_field_bug.<locals>.<listcomp>  s    !E!E!ER(,..!E!E!Er   r   ru   c                 $    t          ddi          S )Nrt   rr   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   rr   rG   rt   )r	   r   r  s    r   func_with_datez+test_time_field_bug.<locals>.func_with_date  s$    HT1a00q99:::r   rF   byrt   rr   r   r  nsr  )r   r   r   r   r   r6   r    r  as_unitr"   r#   )r$   r  r  dfg_no_conversiondfg_no_conversion_expecteddfg_conversiondfg_conversion_expecteds          r   test_time_field_bugr    s8    
!E!E599!E!E!EFF	G	GB     ; ; ; 

se
,,223DEE!*C8A3!?!?!?,/$)ZZC5Z))//??N'l4A&&..t441==aS   *-!&+-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)rF   rF   rF   rG   rG   rG   rF   rF   rF   rG   rG   rG   )rt   rt   r  r  r  ert   rt   r  r  r  r  )g?rr   rs   rz   r{   r|   rr   rz   r|   rx   r   rr   )gffffff@rx   r~   r         rx   r}   r|   r{   rz   rs   )group1group2weightr)   r  r  T)r  sortc                 Z    t          j        | |z                                d          }|S )Nrs   )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  )r2   r  s    r   r3   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 )Nrw   )rx   r}   rz   r{   )r   random_varsc                     d S r   rY   r1   s    r   	test_funcz.test_groupby_apply_all_none.<locals>.test_func  s    r   r   r   )test_dfr  rA   r@   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)r   r   r   rr   )r   r   rr   rs   )r   varsr   c                 F    | j         d         dk     rd S | j        ddg         S )Nr   rr   rU  )rz  rd   r1   s    r   r  z0test_groupby_apply_none_first.<locals>.test_func	  s&    71:>>4vq"gr   r   r   r   rr   r   rs   r   )r   r   r   r   rR  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   r   filledempty)r)   r   r   c                 0    | | j         dk             d         S )Nr   r)   )r)   r   s    r   r3   z7test_groupby_apply_return_empty_chunk.<locals>.<lambda>  s    ekQ.>(?(H r   r)   r   r6   r   )	r   r   r   r	   r   from_productr/  r"   r>   )r$   r   rA   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   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 brv   rz   r|   r{   r:  r   Fr8   c                 0    | |                                  z  S r   r3  r1   s    r   r3   z-test_apply_with_mixed_types.<locals>.<lambda>,  s    1quuww; r   )gUUUUUU?gUUUUUU?r   )皙?g333333?rI   r   r   c                 0    | |                                  z  S r   r  r1   s    r   r3   z-test_apply_with_mixed_types.<locals>.<lambda>0  s    q15577{ r   )r   splitr   rB  r"   r#   r   )r$   r   rA   r@   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 )NrF   r   rr   r   c                     | j         S r   r   r  s    r   r3   z*test_func_returns_object.<locals>.<lambda>7  s    QW r   r6   )r   r   r   r   r	   r"   r>   r  s      r   test_func_returns_objectr!  4  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  ru   rF   c                 (    t          dgdg          S )Nspam*   r   r  r1   s    r   r3   z+test_apply_datetime_issue.<locals>.<lambda>H  s    VVHRD-I-I-I r   r%  r=   r4   r&  rP   r   r   r   r   r"   r#   )r"  r$   rA   r@   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   r   rr   rs   rz   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   )r]   rt   r?   s      r   
<dictcomp>zYtest_apply_series_return_dataframe_groups.<locals>.most_common_values.<locals>.<dictcomp>m  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_valuesl  s'    KK

KKKLLLr   r+  r-  z
2015-02-24r   r  )	r   r    r  r   r   r	   DatetimeIndexr"   r>   )tdfr3  rA   r@   s       r   )test_apply_series_return_dataframe_groupsr6  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   rw  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   rr   r{   rv   )
categoriesr   )r8  r6   )r     r   r   r  r9  )r   r%  r   r   )r   r   r   r%  r   F)observedc                 *    |                                  S r   r  r1   s    r   r3   z-test_apply_multi_level_name.<locals>.<lambda>  s    QUUWW r   )r    CategoricalCategoricalIndexr   r   r   rk  r   r   r<   r   r   r"   r#   r   r+   )rw  rG   expected_indexexpected_valuesr@   r$   rA   s          r   test_apply_multi_level_namer@  v  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            
         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  r   reddarkr   r  greenstormyrr   9i  bluebrightrs   r   i  calmrz   potato)observationcolormood	intensityscorerP   rL  c                     | j         d         S r   rc   r  s    r   r3   z;test_groupby_apply_datetime_result_dtypes.<locals>.<lambda>  s    16!9 r   zdatetime64[ns]r   )r   from_recordsr    r  r   r   ri   r	   r   r5   r=   int64r"   r>   )rO   rA   r@   s      r   )test_groupby_apply_datetime_result_dtypesrS    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   abcrs   2020r%  )r  freq))rF   r   )rF   r   )rG   r   c                     t          g dg dd|           }|                    dd                              d           }t          j        ||           d S )	N)r   r   rr   )r   r   r   r  r   r   Fr8   c                     | S r   rY   r1   s    r   r3   z8test_apply_index_has_complex_internals.<locals>.<lambda>  r  r   r   )r   r$   rA   s      r   &test_apply_index_has_complex_internalsrY    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_listr1   s    r   r3   r3     s    17??$$ r   c                 N    t          | j                                                  S r   )setr   r[  r1   s    r   r3   r3     s    3qw(()) r   c                 N    t          | j                                                  S r   )tupler   r[  r1   s    r   r3   r3     s    5**++ r   )r   r   rr   rs   c                 h    t          t          | j                                                            S r   )dict	enumerater   r[  r1   s    r   r3   r3     s"    d9QW__%6%67788 r   c                 b    d t          | j                                                  D             S )Nc                     g | ]	\  }}||i
S rY   rY   )r]   nis      r   r^   z<lambda>.<locals>.<listcomp>  s     III&1a1vIIIr   )rc  r   r[  r1   s    r   r3   r3     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   rP   r   r   r   r   r   r   r   r	   r   r"   r>   )functionr?  r$   rA   r@   s        r   1test_apply_function_returns_non_pandas_non_scalarrk    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   )rF   rF   rG   noner   rr   rs   r!  r   rI   rJ   rK   )rF   rG   rp  r   r   )	r   r   r.  r   r   r	   r   r"   r>   )ro  r$   rA   r@   s       r   'test_apply_function_returns_numpy_arrayrq    s    + + + 
0001a7HII	J	JBZZ__""3''F
scURVH%U3E3E3EC-P-P-P  H 68,,,,,r   rj  c                     | j         S r   r   grs    r   r3   r3     s     r   c                     | j         dz   dz
  S rb   r   rs  s    r   r3   r3     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   rr   rr   rr   r   rr   rs   r   rs   r   idrP   )r   rz   r}   r~   )r   rr   rs   r{   r|   rx   rv   r   r   ri  )rj  r$   rA   r@   s       r    test_apply_function_index_returnrx    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   rr   rz   rz   r{   r|   r   r   Fr   c                 *    |                                  S r   )r   r1   s    r   r3   zAtest_apply_function_with_indexing_return_column.<locals>.<lambda>  s     r   )r   r   r   )rK   rL   rL   r   r  s      r   /test_apply_function_with_indexing_return_columnr{    s    	@@@&&&	
 	

 
B ZZZ//556H6HIIF+++#OO	
 	
 H &(+++++r   udfc                 *    |                                  S r   r   r1   s    r   r3   r3     s     r   c                 R    |                                                      d           S )Nc                     | dz   S rb   rY   )ys    r   r3   z<lambda>.<locals>.<lambda>  s
    A r   )r   r-  r1   s    r   r3   r3     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 )NrF   rG   r   rr   r!  r   r8   )r   r   r   r   r   r   nlevels)r9   r|  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)rr   r   rr   rv   r!  r   Fr8   c                     | S r   rY   r1   s    r   r3   z4test_result_order_group_keys_false.<locals>.<lambda>  s    q r   c                 *    |                                  S r   r   r1   s    r   r3   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-01rr   z
2001-01-02z
2001-01-03UTC)tzrs   r|   )r2   r  tr2   Fr8   c                 :    | ddg                                          S Nr2   r  r   r   s    r   r3   z1test_apply_with_timezones_aware.<locals>.<lambda>      "c3Z.BUBUBWBW r   c                 :    | ddg                                          S r  r   r   s    r   r3   z1test_apply_with_timezones_aware.<locals>.<lambda>  r  r   )	r    r4  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          }d}t          j        t
          |d          5  |                    t                    }d d d            n# 1 swxY w Y   t          j        ||           |                    d          }t          | |          } t          ||           | }t          j        t
          |d          5  |                    t                    }d d d            n# 1 swxY w Y   t          j        ||           d S )N)c   r  r  X   r  r  )r   rr   rs   rz   r{   r|   )r   r  r  r  r  <   r   i  i)     r|      r  r  r  rF   r   r   r  z:The behavior of DataFrame.sum with axis=None is deprecatedF)rW   check_stacklevel)r   r   r   r"   rg   rh   r   r3  r#   r   getattr)reduction_funcr$   r@   grprk   rA   args_s           r   ;test_apply_is_unchanged_when_other_methods_are_called_firstr     s    
)))###)))	
 	

 
B CjAwc2Y77RH3'''  H ***

C
FC		#Mu	U	U	U    3                             &(+++ ***

C">266D$^$$d+A		#Mu	U	U	U    3                             &(+++++s$   :B!!B%(B%D==EE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)rF   rF   rF   rG   i  r   r   rr   r   r:  )r   e   f   g   idxr   r   r   r   c                 ,    |                      d          S rb   r   r1   s    r   r3   zRtest_apply_with_date_in_multiindex_does_not_convert_to_timestamp.<locals>.<lambda>R  s     r   )r   rr   rs   )r   r   r  rP   )r   r   r   r   r   rd   r   r   
from_framer   r/  r"   r#   levelstype)r$   r  rA   r@   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dg          t	          j        ddgddgg                    } d}t          j        t          |	          5  | j	        
                    d
d
          }d d d            n# 1 swxY w Y   |                    d           }d}t          j        t          |	          5  | 
                    dd
          }d d d            n# 1 swxY w Y   |                    d           }t          j        ||j	                   t          j        ||            d S )Nrr   r|   rz   r   r   r   rP   z5The 'axis' keyword in DataFrame.groupby is deprecatedrV   r   rS   r  c                 0    |                      dd          S )Nr   r  	droplevelr1   s    r   r3   zDtest_apply_by_cols_equals_apply_by_rows_transposed.<locals>.<lambda>l  s    !1!=!= r   rU   c                 0    |                      dd          S )Nr   r   r  r  r1   s    r   r3   zDtest_apply_by_cols_equals_apply_by_rows_transposed.<locals>.<lambda>q  s    !++1A+">"> r   )r   r   r   r   r   r  r"   rg   rh   r  r   r   r#   )r$   rk   rl   by_rowsgb2by_colss         r   2test_apply_by_cols_equals_apply_by_rows_transposedr  ^  s    

	a  ''A//'#saV(<==
 
 
B
 BC		#M	=	=	= + +T\\q\**+ + + + + + + + + + + + + + +hh==>>G
7C		#M	=	=	= * *jjaqj))* * * * * * * * * * * * * * *ii>>??G'79---'2&&&&&s$   9B""B&)B& DDD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r   rr   rs   rz   r{   rF   rG   )colr   xxyxzr   r   F)r  r9   c                     | S r   rY   r1   s    r   r3   z5test_apply_dropna_with_indexed_same.<locals>.<lambda>  s    RS r   )r   rs   r   rr   rz   )
r   r   r.  r   r   r   r  rd   r"   r#   )r  r$   rA   r@   s       r   #test_apply_dropna_with_indexed_samer  w  s     
"??262634	
 	
 7mm
 
 
B ZZ5ZAAGGTTF$Bryy{{{"'///*BH&(+++++r   zas_index, expected)r   r   r   )rr   rr   r   )rF   rG   N)r5   r   )rr   rr   rG   r   r   c                     t          g dg dg dd          }|                    ddg|                               d           }t          j        ||           d S )Nr  )r   r   r   r   r   rF   rG   r   c                     dS rb   rY   r1   s    r   r3   z5test_apply_as_index_constant_lambda.<locals>.<lambda>      q r   )r   r   r   r"   assert_equal)r   r@   r$   rA   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  )r|   r}   rx   r~   r   )r   r   r   rr   rr   r:  r{   r   r   c                 4    | j                                         S r   )r   r  r1   s    r   r3   z(test_sort_index_groups.<locals>.<lambda>  s    QS^^-=-= r   r   r|   )r   r   r   r`  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12Hr{   )rV  r  r   )r   valsletFr8   c                      | j         dd          S r   rc   r1   s    r   r3   z;test_positional_slice_groups_datetimelike.<locals>.<lambda>  s    afQRRj r   )r   r    r  r   r   r   r  r   dtr   r"   r#   )r@   rA   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)rF   rF   rG   rv   r  r:  r   r   r   c                     |                      t                                                    |                                 z
  S r   )astypefloatre  rd  r1   s    r   r3   z7test_groupby_apply_shape_cache_safety.<locals>.<lambda>  s)    AHHUOO,?,?,A,AAEEGG,K r   rI   ri  rJ   r  rF   rG   r   r   r'  )r$   rl   rA   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)rF   rG   rF   rG   )aaacr  ad)r  r  r  r  )rF   b1b2rF   r  r  c                 N    |                                                                  S r   )unstackr0  r1   s    r   r3   z3test_groupby_apply_to_series_name.<locals>.<lambda>  s    !9!9!;!; r   )rF   rF   rG   rG   rG   )r  r  r  r  r  )arraysr+   )rs   r   rr   r   r   r   r  )	r   	from_dictr   r   r   rR  r	   r"   r>   )r$   r  rA   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   rr   r{   r   rr   )r  r  zr  )r  c                 .    |                      dd          S )Nr   r  )nlargest)grp_dfs    r   r3   ztest_apply_na.<locals>.<lambda>  s    3(?(? r   c                 V    |                      dd                              d          S )Nr  F)	ascendingr   )r4  r   r1   s    r   r3   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$   dfgrprA   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          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?   )unitr   rF   rG   c                     | j         d         S NrU  rc   r   s    r   r3   z8test_apply_empty_string_nan_coerce_bug.<locals>.<lambda>  s    "'"+ r   r   r  rr   rz   )r   r  )rr   r  r   r  )	r   r    r  r   r   r   r   r"   r#   )rA   r@   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)rI   rJ   rK   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a3rv   ru   r   b_mean)rJ   rK   rI   )r  r  r  rF   r   c                 X    t          | d                                         gdg          S )NrG   r  r   )r	   r   r   s    r   r3   z0test_apply_index_key_error_bug.<locals>.<lambda>  s$    62c7<<>>*8*=== r   )r   r   r   r   r"   r#   )r  rA   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   rz   rs   )r  r  r  c                     t          d| i|          }|                    dd                              d           }t          j        ||           d S )Nr  r   Fr8   c                     | S r   rY   r1   s    r   r3   z5test_apply_nonmonotonic_float_index.<locals>.<lambda>B  r  r   r   )argr  r@   rA   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   r3  T)r  )r   r   r3  r"   r#   )r$   r  kwargsrl   rA   r@   s         r   test_apply_str_with_argsr  F  s`     
CBRXe-d---f--Fvv4v((H&(+++++r   r6   	some_namec                     t          ddg|           }|                    ddgd                              d           }t          ddg|           }t          j        ||           d S )Nr   rr   r   rF   Fr8   c                     | S r   rY   r1   s    r   r3   z1test_result_name_when_one_group.<locals>.<lambda>S  r  r   )r	   r   r   r"   r>   )r6   r  rA   r@   s       r   test_result_name_when_one_groupr  O  sr     !Qd
#
#
#C[[#s[66<<[[IIFq!f4(((H68,,,,,r   z
method, opr   c                     | j         d         S r  )r)  rl   s    r   r3   r3   \  s    RYr] r   c                 (    | d         j         d         S )NrG   r   rc   r  s    r   r3   r3   ]  s    RW\!_ r   )aggskew)r  prod)r  r3  c           
         t          g g d          }|                    dd          }t          |d          } t          ||           |          }t          g ddt	          g dd                    }t          j        ||           d S )	Nru   rF   Tr8   rG   rQ   r4   )r6   r5   r   )r   r   r  r	   r   r"   r>   )methodopempty_dfrl   r   rA   r@   s          r   test_empty_dfr  Y  s     r++,,H			#$		/	/BBE#WUF##B''F
IU2YS-Q-Q-Q  H 68,,,,,r   	group_colri  c           	      <   t          | g dd          }|                    d          j                            d           }t	          t
          j        dt
          j        gdt          j        dgg dgddg	          
          }t          j
        ||           d S )N)rr   rr   rr   rr   )r  	value_colr  c                 V    |                                                      g d          S )Nrv   r   )r0  r7  r1   s    r   r3   z0test_apply_inconsistent_output.<locals>.<lambda>z  s%    !..""***;; r   rK   r  ri  rv   r   r  )r   r   r  r   r	   r   r.  r   r  r"   r>   )r  r$   rA   r@   s       r   test_apply_inconsistent_outputr  q  s     
FF	G	GBZZ$$.44;; F 	bf%uiii&8c@RSSS  H 68,,,,,r   c                  >   t          dddddddddd          } |                     d          ddg                             d           }t          t	          j        d	g          gdz  t          ddgd
          d          }t          j        ||           d S )Nr   rr   ru   r:  r   r   r   c                 ,    t          j        dg          S r   )r   r  r1   s    r   r3   z7test_apply_array_output_multi_getitem.<locals>.<lambda>  s    1# r   r   r   r  r  )	r   r   r   r	   r   r  r   r"   r>   r  s      r   %test_apply_array_output_multi_getitemr    s    	A11%5%5!!<L<LMM
 
B ZZ__c3Z(../F/FGGF	1#!5!Qc#:#:#:  H 68,,,,,r   )cr   r   ior   numpyr   pytestpandasr    r   r   r   r	   r
   pandas._testing_testingr"   pandas.tests.groupbyr   r&   rC   rm   rq   markparametrizer   r   r   r   r   r   r   r   r  r  r#  r&  r+  r0  r=  rC  rN  rS  rZ  rl  ro  rs  r~  r  r  r  r  r  r  r  r  r  r  r  r  r!  todayr(   r(  r6  r@  rS  r=  interval_rangeperiod_ranger   rY  rk  rq  rx  r{  r  r  r  r  r  r  r  r=   r  r  r  r  r  r  r  r  r  r  r  r  r.  r  r  rY   r   r   <module>r"     s                                            8 8 8 8 8 85 5 5"&- &- &-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8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 , , ,, , ,, , ,@! ! !<' ' '2 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- 	**+	,,-	 	- -	 	- 
BFC"&#sC!8QS"&<QS - -	 - 	- 	- 	- 	- 	-r   