
    Oh                        d dl mZm Z  d dlZd dlZd dlmZ d dlZd dlm	Z	m
Z
mZmZmZ d dlmZ d dlmZ d Zd Zd Zd	 Zd
 Zej0                  j3                  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j0                  j3                  d&d' d( d) d* g      d+        Zd, Z d- Z!d. Z"d/ Z#d0 Z$d1 Z%d2 Z&d3 Z'd4 Z(d5 Z)d6 Z*ej0                  j3                  d7d8d9g      d:        Z+d; Z,d< Z-d= Z.d> Z/d? Z0ej0                  j3                  d@d8d9g      dA        Z1dB Z2dC Z3dD Z4dE Z5dF Z6dG Z7dH Z8dI Z9dJ Z:dK Z;dL Z<dM Z=ej0                  j3                  dN e j|                          e j|                         j                          e j|                         j                         g      dO        Z@dP ZAej0                  j3                  dQd9d8g      dR        ZBdS ZCej0                  j3                  dT ej                   edU             ej                  d dV       ej                  dWdVdXY       ej                  g dZ      g      d[        ZHej0                  j3                  d\d] d dgddVggfd^ d dhddVhgfd_ d`dagfdb d dd`ddVd`gfdc d d iddigd diddViggfg      dd        ZIde ZJej0                  j3                  dfdg dh g      di        ZKdj ZLej0                  j3                  dkdl dm g      ej0                  j3                  d7d8d9g      dn               ZMdo ZNdp ZOdq ZPdr ZQds ZRej0                  j3                  dtd8d9g      du        ZSej0                  j3                  dv ej                  d9 e	g dwg dxg e
g dyeUz             ej0                  j                   e       d{|      }      d8 eddg ej                  d~dgddg            gg      d        ZWd ZXd ZYd ZZd Z[ej0                  j3                  dtd8d9g      d        Z\d Z]ej0                  j3                  dg dg dg      d        Z^ej0                  j3                  dg dg dgg dg dgg dg dgg      d        Z_ej0                  j3                  dd8gi fg dd8ifg      d        Z`ej0                  j3                  dddg      d        Zaej0                  j3                  ddd fdd fdddg      d        Zbej0                  j3                  dd8d9g      d        Zcej0                  j3                  dedeeefg      ej0                  j3                  ddddgg      d               Zgy)    )datedatetimeN)using_string_dtype)	DataFrameIndex
MultiIndexSeriesbdate_range)get_groupby_method_argsc                     t        dt        t        d            dz  dg      j                         } g fd}d}t	        j
                  t        |      5  | j                  d      j                  |       d d d        t        dgdz  dgdz  d	t        j                  dd
d            }t	        j                  d   |       y # 1 sw Y   PxY w)N   
   r   )indexcolumnsc                 (    j                  |        y N)append)groupgroupss    g/var/www/html/diagnosisapp-backend/venv/lib/python3.12/site-packages/pandas/tests/groupby/test_apply.pystorezFtest_apply_func_that_appends_group_to_list_without_copy.<locals>.store   s    e    7DataFrameGroupBy.apply operated on the grouping columnsmatchr   )r   r   d   r   )r   listrangereset_indextmassert_produces_warningFutureWarninggroupbyapplypd
RangeIndexassert_frame_equal)dfr   msgexpected_valuer   s       @r   7test_apply_func_that_appends_group_to_list_without_copyr,      s     
1DrOb01#	>	J	J	LBF DC		#	#M	= )


7!!%()#(sRx(ab0IN &)^4) )s   !CCc                 f   g d}t        dg dit        t        j                  |      d            }|j	                  |j
                  j                        j                         }|j	                  |j
                  j                        j                  d       }t        j                  ||       y )Nz2011-05-16 00:00z2011-05-16 01:00z2011-05-16 02:00z2011-05-16 03:00z2011-05-17 02:00z2011-05-17 03:00z2011-05-17 04:00z2011-05-17 05:00z2011-05-18 02:00z2011-05-18 03:00z2011-05-18 04:00z2011-05-18 05:00value	/?ݓ?Q?j?r1   r2   r3   r4   r1   r2   r3   r4   	date_timenamer   c                 "    | j                         S r   idxmaxxs    r   <lambda>z'test_apply_index_date.<locals>.<lambda>N   s    qxxz r   )r   r   r&   to_datetimer$   r   r   r:   r%   r!   r(   )using_infer_stringtsr)   expectedresults        r   test_apply_index_daterC   *   s    
B 
 	
  BNN2&[9#
B& zz"((--(//1HZZ&,,-ABF&(+r   c                     g d} t        | D cg c]  }|j                          c}ddg      }g d|d<   t        g dd      }t        g d	|
      }d}t	        j
                  t        |      5  |j                  dd      j                  d       }d d d        t	        j                  |       y c c}w # 1 sw Y   %xY w)Nr.   r   timer   r0   r/   )z
2011-05-16z
2011-05-17z
2011-05-18r6   )z00:0002:00rG   r   r   r   F
group_keysc                 4    | d   | d   j                            S )NrE   r/   r9   r;   s    r   r=   z.test_apply_index_date_object.<locals>.<lambda>w   s    ai'
 1 1 34 r   )
r   splitr   r	   r!   r"   r#   r$   r%   assert_series_equal)r@   rowr)   exp_idxrA   r*   rB   s          r   test_apply_index_date_objectrO   R   s    
B 
2.CCIIK.8H	IBBwK >VLG1AH
CC		#	#M	= 
Fu5;;4

 68,- /$
 
s   B52$B::Cc           	         t        g dg ddddg      | rdnd}t        j                  j                  d	d  j                  d	d  gd	d
|g      }d}t	        j
                  t        |      5  j                  j                  D cg c]  }t        |       c}d	      }d d d        j                  fd      }t	        j                  ||       y c c}w # 1 sw Y   9xY w)NarR   brS   rR         ?       @      @      @g      @keydatarZ   r[   rF   strobjectr   float64axiskeys+DataFrame.groupby with axis=1 is deprecatedr   r`   c                 "    j                   dd  S Nr   ilocr<   r)   s    r   r=   z$test_apply_trivial.<locals>.<lambda>   s     r   )r   r&   concatrg   r!   r"   r#   r$   dtypesr\   r%   r(   r?   dtyperA   r*   r<   gbrB   r)   s          @r   test_apply_trivialrn   |   s     
)3LM
B (EXEyy"''!"+rwwqr{3!9eBTUH
7C		#	#M	= =ZZ3AQ3!Z<=XX+,F&(+ 4= =s   1CC
	CCC'c           	         t        g dg ddddg      | rdnd}t        j                  gd	d
|g      }d}t        j                  t
        |      5  j                  j                  D cg c]  }t        |       c}d	d      }d d d        j                  fd      }t        j                  ||       y c c}w # 1 sw Y   9xY w)NrQ   rT   rY   rZ   r[   rF   r\   r]   r   r^   r_   rb   r   T)r`   rI   c                     S r    rh   s    r   r=   z)test_apply_trivial_fail.<locals>.<lambda>   s     r   )r   r&   ri   r!   r"   r#   r$   rj   r\   r%   r(   rk   s          @r   test_apply_trivial_failrr      s    	)3LM
B (EXEyy"bE0BCH
7C		#	#M	= NZZ3AQ3!ZMNXXl#F&(+ 4N Ns   C1C 

C CCzdf, group_names)r   r   r         )rR   rR   rR   rS   crR   rS   r   rs   rt   r   r   r   r   )r   r   r   r   r   rR   )r   r   r   rs   rs   r   r   rs      rs   r   rs   rt   r   rs   rt   )            ry   	   )rR   two
aaabbbcccc)
rt   r{   rt   r}   r|   rs   r   r   r|   r{   )
r{   r   rs   rs   rs   r~   ry   r}   rs   ry   )rR   BCrR   rS   ru   )rs   rs   rt   rF   )GH2936zGH7739 & GH10519GH10519GH2656GH12155GH20084GH21417)idsc                   	 g 		fd}	fd}	fd}	fd}	fd}|||||fD ]V  }	d d = d}t        j                  t        |      5  | j                  dd	
      j	                  |       d d d        	|k(  rVJ  y # 1 sw Y   xY w)Nc                 Z    j                  | j                         | j                         S r   )r   r7   copyr   namess    r   f_copyz/test_group_apply_once_per_group.<locals>.f_copy   s    UZZ zz|r   c                 >    j                  | j                         | S r   r   r7   r   s    r   f_nocopyz1test_group_apply_once_per_group.<locals>.f_nocopy   s    UZZ r   c                 <    j                  | j                         yNr   r   r   s    r   f_scalarz1test_group_apply_once_per_group.<locals>.f_scalar   s    UZZ r   c                 <    j                  | j                         y r   r   r   s    r   f_nonez/test_group_apply_once_per_group.<locals>.f_none   s    UZZ r   c                 Z    j                  | j                         t        dgdgd      S )Nr   rv   )r   r7   r   r   s    r   f_constant_dfz6test_group_apply_once_per_group.<locals>.f_constant_df   s'    UZZ s!-..r   r   r   rR   FrH   )r!   r"   r#   r$   r%   )
r)   group_namesr   r   r   r   r   funcr*   r   s
            @r   test_group_apply_once_per_groupr      s    N E


!/
 8V]C $!HG''SA 	:JJsuJ-33D9	:###$	: 	:s   	#A>>B	c                 >   d}t        g dg ddg d      }d}t        j                  t        |      5  |j	                  dd	
      j                  d        d d d        | j                         j                  j                  d      }||k(  sJ y # 1 sw Y   :xY w)Nrs   )r   r   r   r   r   r   r   r   )02468101214)group_by_columntest_columnr   r   r   r   FrH   c                     t        d      S )Nfunction_called)printr)   s    r   r=   z2test_group_apply_once_per_group2.<locals>.<lambda>   s    u./ r   r   )	r   r!   r"   r#   r$   r%   
readouterroutcount)capsysrA   r)   r*   rB   s        r    test_group_apply_once_per_group2r      s     H	7F	
 :
B DC		#	#M	= 



$
7==/	


  $$**+<=FX
 
s   $BBc                     t        g dt        d      d      } d }d }d}t        j                  t        |      5  | j                  dd	
      j                  |      }d d d        t        j                  t        |      5  | j                  dd	
      j                  |      }d d d        t        j                         y # 1 sw Y   fxY w# 1 sw Y   ,xY w)N)r   r   r   rt   )ArS   c                     | S r   rq   r   s    r   slowz,test_apply_fast_slow_identical.<locals>.slow
  s    r   c                 "    | j                         S r   r   r   s    r   fastz,test_apply_fast_slow_identical.<locals>.fast  s    zz|r   r   r   r   FrH   )r   r   r!   r"   r#   r$   r%   r(   )r)   r   r   r*   fast_dfslow_dfs         r   test_apply_fast_slow_identicalr     s     
q2	3B DC		#	#M	= @**SU*399$?@		#	#M	= @**SU*399$?@ '7+@ @@ @s   #C#CCCr   c                     | S r   rq   r;   s    r   r=   r=     s    ! r   c                     | d d  S r   rq   r;   s    r   r=   r=     s
    !A$ r   c                 &    | j                  d      S )NFdeepr   r;   s    r   r=   r=     s    !&&e&$ r   c                 &    | j                  d      S )NTr   r   r;   s    r   r=   r=     s    !&&d&# r   c                    t        g dg dg dd      }d}t        j                  t        |      5  |j	                  dd	      j                  |       }d d d        t        j                  |       y # 1 sw Y    xY w)
Nr   rs   rs   rs   r   rs   rt   r{   )r|   r}   r~   ry   )grR   rS   r   r   r   FrH   r   r!   r"   r#   r$   r%   r(   )r   r)   r*   rB   s       r   5test_groupby_apply_identity_maybecopy_index_identicalr     sl     
L|L	MB
CC		#	#M	= ?CE288>?&"%? ?s   #A55A>c                  .   t        t        j                  j                  d      j	                  d      g dd      } | j                  d d      j                  }| j                  }t        j                  ||       t        dg d	i      } | j                  d
z  | d<   | j                  d      j                         j                         j                  }| j                  dd      j                         j                  }t        j                  ||       y )Nrs   r}   oner   r   threer   r   foo1foo2c                     | S r   rq   r;   s    r   r=   z-test_apply_with_mixed_dtype.<locals>.<lambda>8  s     r   r   rc   c1)r   rs   r}   r}   ry   rV   c2Fas_index)r   nprandomdefault_rngstandard_normalr%   rj   r!   rL   r   r$   meanr    r   )r)   rB   rA   result1result2s        r   test_apply_with_mixed_dtyper   0  s    	II))!,<<Q?@	

B XXkX*11FyyH68, 
D/*	+Buus{BtHjj##%11366Gjjj.33588G7G,r   c                     t        g dg dt        d      d      } | j                  dd      }| j                  dd      }|j                  d	      j                  }|j                  d	      j                  }t        g d
      }t        j                  ||       t        j                  ||       d}t        j                  t        |      5  |j                  d       j                  }d d d        t        j                  t        |      5  |j                  d       j                  }d d d        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}t        j                  t        |      5  | j                  ddd      j                  d       j                  }d d d        t        j                  |       y # 1 sw Y   ExY w# 1 sw Y   xY w# 1 sw Y   :xY w)N)rS   rS   rR   ru   rR   rS   )r   rs   r   r   rt   r   r}   )item_iduser_idrE   r   Tr   Frs   )r   r   rs   r{   r   r   c                 $    | j                  d      S Nrs   headr;   s    r   r=   z-test_groupby_as_index_apply.<locals>.<lambda>Y  s    AFF1I r   c                 $    | j                  d      S r   r   r;   s    r   r=   z-test_groupby_as_index_apply.<locals>.<lambda>[  s    AFF1I r   ))r   r   )r   rs   r   r   rs   r{   )r   r   r   rs   )rs   r   )rt   r{   r   abcder   rt   r{   r|   r   r   )r   rI   c                     | S r   rq   r;   s    r   r=   z-test_groupby_as_index_apply.<locals>.<lambda>j  s    a r   )r   r   r$   r   r   r   r!   assert_index_equalr"   r#   r%   r   from_tuplesr   )r)   g_asg_not_asres_as
res_not_asexpr*   res_as_applyres_not_as_applyexp_not_as_applytpexp_as_applyindress                 r   test_groupby_as_index_applyr   D  s   	5)!H	

B ::i$:/Dzz)ez4HYYq\Fq!''J

C&#&*c*
CC		#	#M	= =zz"56<<=		#	#M	= E#>>*=>DDE
 "--.NO	)B))"Y4EFL,5*,<=
W
C	QFQFQFQFQF;3	GB
CC		#	#M	= WjjUuj=CCKPVVW#s#'= =E EW Ws$   H/H<!/I	/H9<I	Ic                 p   | j                  ddg      }d }d }d }d}t        j                  t        |      5  |j	                  |      }d d d        j
                  j                  dk(  sJ d}t        j                  t        |      5  |j	                  |      }d d d        j
                  j                  dk(  sJ d}t        j                  t        |      5  |j	                  |      }d d d        j
                  j                  d	k(  sJ y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   =xY w)
Nr   r   c                 H    | j                         }d|j                  _        |S Nstat)describer   r7   r   rB   s     r   descz.test_apply_concat_preserve_names.<locals>.descq  s    !"r   c                 d    | j                         }d|j                  _        |d t        |        }|S r   )r   r   r7   lenr  s     r   desc2z/test_apply_concat_preserve_names.<locals>.desc2v  s/    !"#e*%r   c                 ~    | j                         }dt        |       d|j                  _        |d t        |        }|S )Nstat_d)r   r  r   r7   r  s     r   desc3z/test_apply_concat_preserve_names.<locals>.desc3}  s>    ! $CJq>2#e*%r   r   r   )r   r   r   )r   r   N)r$   r!   r"   r#   r%   r   r   )	three_groupgroupedr  r  r	  r*   rB   r   result3s	            r    test_apply_concat_preserve_namesr  n  s   !!3*-G
 DC		#	#M	= %t$%<<!3333
CC		#	#M	= '--&'=="4444
CC		#	#M	= '--&'=="2222% %
' '
' 's#   DD D,D D),D5c                  t   d } t        dd      }t        t        j                  j	                  d      j                  d      |      }|j                  d d	      }|j                  |       }t        |t              sJ t        |d
      rJ t        j                  |j                  |j                         y )Nc                     t        j                  d      5  t        j                  |       }d d d        t        | | | j	                         z
  d      S # 1 sw Y   )xY w)Nignore)invalid)r/   demeanedlogged)r   errstatelogr   r   )piecer  s     r   fz%test_apply_series_to_frame.<locals>.f  sR    [[* 	#VVE]F	#)=P
 	
	# 	#s   AAz1/1/2000r   )periodsrs   r   c                     | j                   S r   monthr;   s    r   r=   z,test_apply_series_to_frame.<locals>.<lambda>  
    177 r   FrH   r7   )r
   r	   r   r   r   r   r$   r%   
isinstancer   hasattrr!   r   r   )r  drr@   r  rB   s        r   test_apply_series_to_framer     s    
 
Z	-B			%%a(88=R	HBjj*uj=G]]1Ffi(((vv&&&&,,1r   c                     | j                  ddg      d   j                  t              }|j                  j                  d d dk(  sJ y )Nr   r   r   rs   r   r   )r$   r%   r  r   r   )r)   rB   s     r    test_apply_series_yield_constantr#    sC    ZZc
#C(..s3F<<bq!Z///r   c                    d}t        j                  t        |      5  | j                  ddg      j	                  t
              }d d d        t        t              sJ |j                  J | j                  ddg      ddg   j	                  t
              }t        |t              sJ |j                  J y # 1 sw Y   uxY w)Nr   r   r   r   r   D)	r!   r"   r#   r$   r%   r  r  r	   r7   )r)   r*   rB   s      r   test_apply_frame_yield_constantr&    s    
CC		#	#M	= 3S#J'--c23ff%%%;;ZZc
#S#J/55c:Fff%%%;;3 3s   'B99Cc                    | j                  ddg      }d}t        j                  t        |      5  |j	                  t
              }d d d        |j                         d   }t        j                  j                  |j                         t        j                  |j                  |j                         y # 1 sw Y   qxY w)Nr   r   r   r   r   )r$   r!   r"   r#   r%   r  r   r   r   assert_numpy_array_equalvaluesr)   r  r*   rB   rA   s        r   test_apply_frame_to_seriesr+    s    jj#s$G
CC		#	#M	= $s#$}}s#H&,,7x?	$ $s   B77C c                    | j                  ddgd      }d}t        j                  t        |      5  |j	                  t
              }d d d        |j                         j                  dt        j                  i      j                  d	      }t        j                  j                  |j                         t        j                  |j                  |j                         y # 1 sw Y   xY w)
Nr   r   Fr   r   r   r   rF   r%  )r$   r!   r"   r#   r%   r  r   renamer   nandropr   r   r(  r)  r*  s        r   )test_apply_frame_not_as_index_column_namer0    s    jj#sej4G
CC		#	#M	= $s#$}}%%sBFFm%<AA#ANH&,,7x?$ $s   C&&C/c                     d } fd}t        t        j                  j                  d      j	                  ddd      t        j                  j                  d      j	                  ddd      t        j                  j                  d      j                  d      d      d}t        j                  t        |	      5  j                  d
      j                  |       }d d d        j                  d
      d   j                  |      }t        j                  |d       |j                  dk(  sJ y # 1 sw Y   VxY w)Nc                 |    | j                  d      d   j                         j                         j                  d d S )Nr   r   rs   )r$   sumsort_valuesrg   r   s    r   transz-test_apply_frame_concat_series.<locals>.trans  s5    }}S!#&**,88:??CCr   c                     | j                  j                  | j                        d         }|j                         j	                         j
                  d d S )Nr   rs   )r$   reindexr   r3  r4  rg   )r   r  r)   s     r   trans2z.test_apply_frame_concat_series.<locals>.trans2  sE    --

5;; 7 <={{}((*//33r   rs   r   r|     r   r   r   r   r   r   r   F)check_names)r   r   r   r   integersr   r!   r"   r#   r$   r%   rL   r7   )r5  r8  r*   rB   r   r)   s        @r   test_apply_frame_concat_seriesr=    s   D4 
&&q)221a>&&q)221a>&&q)99$?	

B DC		#	#M	= .C&&u-.
**S/#

$
$V
,C63E:;;#	. .s   >!D44D=c                     | j                  d d      }|j                  d       }|j                  d       }t        j                  ||       y )Nc                     | j                   S r   r  r;   s    r   r=   z&test_apply_transform.<locals>.<lambda>  r  r   FrH   c                     | dz  S r   rq   r;   s    r   r=   z&test_apply_transform.<locals>.<lambda>  s
    QU r   c                     | dz  S r   rq   r;   s    r   r=   z&test_apply_transform.<locals>.<lambda>  s
    1q5 r   )r$   r%   	transformr!   rL   )r@   r  rB   rA   s       r   test_apply_transformrC    sC    jj*uj=G]]?+F  1H68,r   c                     | j                  d d g      }d }|j                  |      }|D ].  \  }}t        j                  |j                  |    ||             0 y )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
    177 r   c                 *    | j                  d      dd  S )Nr   r4  r   s    r   r  z%test_apply_multikey_corner.<locals>.f  s      %bc**r   )r$   r%   r!   r(   loc)tsframer  r  rB   rZ   r   s         r   test_apply_multikey_cornerrN    s[    oo/1BCDG+ ]]1F 9
U
fjjoqx89r   rI   TFc                    t        g dt        d      d      }d}t        j                  t        |      5  |j                  d|       j                  d       }d d d        |j                  g d	      }| r,t        j                  g d
|j                  gdd g      |_
        t        j                  |       y # 1 sw Y   axY w)N)	r   r   r   rs   rs   rs   rt   rt   rt   r   )rZ   r/   r   r   rZ   rH   c                      | j                   d d S r   rf   r;   s    r   r=   z'test_apply_chunk_view.<locals>.<lambda>  s    !&&QSRS* r   )r   r   rt   r{   r}   r~   )r   r   rs   rs   rt   rt   r   )r   r   r!   r"   r#   r$   r%   taker   from_arraysr   r(   )rI   r)   r*   rB   rA   s        r   test_apply_chunk_viewrS    s     
6qJ	KB
CC		#	#M	= VEj9??@TUVww)*H#//0
 &(+V Vs   $B;;Cc            	          t        g dg dt        ddd      d      } | j                  ddg      }d}t        j                  t
        |	      5  |j                  d
        d d d        y # 1 sw Y   y xY w)N)
r   r   r   r   r   r   rs   rs   rs   rs   )
r   r   r   r   r   r   r   r   r   r   r   )r7   name2r/   r7   rV  r   r   c                 (    | j                  dd      S )Nr/   TinplacerK  r;   s    r   r=   z4test_apply_no_name_column_conflict.<locals>.<lambda>  s    gt D r   )r   r   r$   r!   r"   r#   r%   )r)   r  r*   s      r   "test_apply_no_name_column_conflictrZ    ss    	231b"%	

B jj&'*+G
CC		#	#M	= FDEF F Fs   A++A4c                     t        g dt        j                  g dd      t        j                  dd      d      } d }d}t	        j
                  t        |	      5  | j                  d
d      j                  |      }d d d        | j                         }t        j                  g dd      |d<   t	        j                  |       y # 1 sw Y   KxY w)NrU   rU   rU   rV   rV   rV   r   rs   rU         @r  ru   vc                     | d   }||j                         z
  |j                         |j                         z
  z  | d<   | S Nr_  v2minmaxr   r_  s     r   r  z#test_apply_typecast_fail.<locals>.f&  9    #J1557{quuw'89dr   r   r   r  FrH           g      ?r   rb  )r   r   tilearanger!   r"   r#   r$   r%   r   r(   )r)   r  r*   rB   rA   s        r   test_apply_typecast_failrl    s    	/!,3$	

B
 DC		#	#M	= <CE288;< wwyHWW]A.HTN&(+< <s   #C		Cc                     t        j                  g dg dg      } t        g dt        j                  g dd      t        j
                  dd      d| 	      }d
 }d}t        j                  t        |      5  |j                  dd      j                  |      }d d d        |j                         }t        j                  g dd      |d<   t        j                  |       y # 1 sw Y   KxY w)N)r   r   r   r   r   r   rz   r\  r   rs   rU   r]  r^  r   c                     | d   }||j                         z
  |j                         |j                         z
  z  | d<   | S ra  rc  rf  s     r   r  z%test_apply_multiindex_fail.<locals>.f@  rg  r   r   r   r  FrH   rh  rb  )r   rR  r   r   rj  rk  r!   r"   r#   r$   r%   r   r(   )r   r)   r  r*   rB   rA   s         r   test_apply_multiindex_failro  5  s    ""$68J#KLE	/!,3$	

 
B
 DC		#	#M	= <CE288;< wwyHWW]A.HTN&(+< <s   9#C&&C/c                     | j                  d d      j                  d       }| dz  }t        j                  ||       y )Nc                     | j                   S r   rF  r;   s    r   r=   z#test_apply_corner.<locals>.<lambda>P  s
    qvv r   FrH   c                     | dz  S r   rq   r;   s    r   r=   z#test_apply_corner.<locals>.<lambda>P  s    QRUVQV r   rs   )r$   r%   r!   r(   )rM  rB   rA   s      r   test_apply_cornerrs  O  s9    __-%_@FFWF{H&(+r   c                     t        g dg dg dd      } d }d }d}t        j                  t        |      5  | j	                  d	      j                  |      }d d d        t        j                  t        |      5  | j	                  d	      j                  |      }d d d        t        j                         y # 1 sw Y   dxY w# 1 sw Y   ,xY w)
N)r   r      i,  )rR   rS   ru   ru   r   )id_fieldcategoryr/   c                 j    | j                   d   dk(  r| j                         S | | j                  dk(     S Nr   r   ru   )shaper   rw  r;   s    r   filt1z&test_apply_without_copy.<locals>.filt1a  s0    771:?668OQZZ3&''r   c                 N    | j                   d   dk(  r| S | | j                  dk(     S ry  )rz  rw  r;   s    r   filt2z&test_apply_without_copy.<locals>.filt2g  s*    771:?HQZZ3&''r   r   r   rv  r   )r[   r{  r}  r*   rA   rB   s         r   test_apply_without_copyr~  U  s     ,,!	
D(( DC		#	#M	= 9<<
+11%89		#	#M	= 7j)//67&(+	9 97 7s   !B==!C	=C	Ctest_seriesc                 4   t        ddgddgddggddgg d      }| rn|j                  d      d   }|j                  dd	
      j                  d       }|j	                         }|j	                         }t        j                  ||       y d}t        j                  t        |      5  |j                  dd	      j                  d       }d d d        j                  d      }|j                  d      }t        j                  ||       y # 1 sw Y   BxY w)Nr<   poXY)r   rs   rs   r   r   r   F)levelrI   c                     | S r   rq   r;   s    r   r=   z<test_apply_with_duplicated_non_sorted_axis.<locals>.<lambda>}  s     r   r   r   rH   c                     | S r   rq   r;   s    r   r=   z<test_apply_with_duplicated_non_sorted_axis.<locals>.<lambda>      q r   )r   	set_indexr$   r%   
sort_indexr!   rL   r"   r#   r4  r(   )r  r)   serrB   rA   r*   s         r   *test_apply_with_duplicated_non_sorted_axisr  u  s    

sc3Z#s,sCj	
B ll3$17==kJ ""$>>#
vx0G''SA 	JZZZ6<<[IF	J ##C(>>#&
fh/	J 	Js   )$DDc                      g d} g d}t        ddgdz  | d|      }t        | |d	      }d
 }|j                  dd      j                  j	                  |      }t        j                  ||       y )Nr   r   r   rs   rs   Group1Group2rs   r   r/   r   r/   r   r7   c                     | j                  t        j                  | j                  j	                         | j                  j                         dz               S re   )r7  r   rk  r   rd  re  r;   s    r   reindex_helperz1test_apply_reindex_values.<locals>.reindex_helper  s5    yy177;;=!''++-!2CDEEr   r   FrH   )r   r	   r$   r/   r%   r!   rL   )r)  indicesr)   rA   r  rB   s         r   test_apply_reindex_valuesr    sr    
 FG	h1A5Gw	WBfG':HF ZZEZ288>>~NF8V,r   c                     d} t         j                  j                  d      j                  dd|       }t	        |t         j                  j                  d      j                  |       g d| dz  z  d      }|j                  d	d
      }d }d}t        j                  t        |      5  |j                  |      }d d d        dv sJ y # 1 sw Y   xY w)Nr9  rs   r   r   )size)foobarbazquxr{   )rZ   value1value2rZ   FrH   c                     | d   dz  | d<   | S )Nr  rs   value3rq   r   s    r   r  z"test_apply_corner_cases.<locals>.f  s    kAo(r   r   r   r  )r   r   r   r<  r   r   r$   r!   r"   r#   r%   )Nlabelsr)   r  r  r*   rB   s          r   test_apply_corner_casesr    s     	AYY""1%..q#A.>F	ii++A.>>qA2a1f=	

B jj5j1G DC		#	#M	= "q!"v" "s   *CCc                     t        ddgdgdz  ddgd      } d}t        j                  t        |      5  | j	                  d	g      j                  d
       }d d d        t        j                  | j                        | _        d}t        j                  t        |      5  | j	                  d	g      j                  d       }d d d        t        j                  d   d          t        g dg dt        j                  d      gdz  d      } d }d}t        j                  t        |      5  | j	                  d      j                  |      d   }d d d        | j                  }| j                  |_        t        j                  ||       d }t        g dg dg dg dd      }|j                         }t        j                  |j                        |_        d}t        j                  t        |      5  |j	                  d      j                  |      j                   }d d d        t        j                  t        |      5  |j	                  d      j                  |      j                   }d d d        t        j                  ||       y # 1 sw Y   ?xY w# 1 sw Y   xY w# 1 sw Y   [xY w# 1 sw Y   xY w# 1 sw Y   SxY w)Nr   rs   z
2017-03-02r  inf)NumberDateStrr   r   r  c                      | j                   d   S r   rf   r;   s    r   r=   z;test_apply_numeric_coercion_when_datetime.<locals>.<lambda>  s    !&&) r   c                      | j                   d   S r   rf   r;   s    r   r=   z;test_apply_numeric_coercion_when_datetime.<locals>.<lambda>  s    q	 r   r  )r         )r  3r   z12:31:22rt   )r   r   Tc                 (    | j                   d   dg   S )Nr   r   rf   r  s    r   get_Bz8test_apply_numeric_coercion_when_datetime.<locals>.get_B  s    vvay#r   r   r   c                    t        g dt              }dt        | j                        v r5t	        | | j                  dk(     j
                  j                  d         |d<   dt        | j                        v rjt	        | | j                  dk(     j
                  j                  d         |d<   t	        | | j                  dk(     j                  j                  d         |d<   |S )	N)p1p2useTime)r   rl   step1r   r  step2r  r  )r	   r]   r   Stater\   Machiner)  oTime)toolr   s     r   predictionsz>test_apply_numeric_coercion_when_datetime.<locals>.predictions  s    2&Ad4::&&Dw!67??FFqIJCId4::&&Dw!67??FFqIJCI djjG&;!<!B!B!I!I!!L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#   r$   r%   r&   r>   r  rL   	Timestampr   r   r   r   r  r  )r)   r*   rA   rB   r  r  df1df2s           r   )test_apply_numeric_coercion_when_datetimer    sg    
q6L>A#5uenM
B DC		#	#M	= E::xj)//0CDEnnRWW%BG
CC		#	#M	= CXJ'--.ABC6%=(5/: 
!2",,z:R9SVW9WX
B  DC		#	#M	= 3C&&u-c23ttHTTHN68, '9K2		
C ((*Csyy)CI
CC		#	#M	= <;;u%++K8;;<		#	#M	= :U#))+699:8V,aE EC C3 36< <: :s;   #J!#J"2$J/=+J<+KJ"J,/J9<KKc                     t        g dt        j                  d      gdz  d      } | j                  | j                  z
  | d<   d}t	        j
                  t        |      5  | j                  d      j                  d	       }d d d        t        g dt        j                  d
d      gdz  t        j                  d      gdz  d      j                  d      }t	        j                  |       y # 1 sw Y   oxY w)Nr:  z2017-02-01 00:00:00rt   )clientidr   time_delta_zeror   r   r  c                 ~    t        | j                  j                         | j                  j                         d      S )N)clientid_ager   )r	   r  rd  r   )ddfs    r   r=   z?test_apply_aggregating_timedelta_and_datetime.<locals>.<lambda>  s/    !$!4!4!8!8!:CLLDTDTDVW r   r   r%  )r  r  r   )r   r   
datetime64r   r!   r"   r#   r$   r%   timedelta64r  r(   r)   r*   rB   rA   s       r   -test_apply_aggregating_timedelta_and_datetimer    s     
''<=>B	

B KK"++5B
CC		#	#M	= 
J'--

 '^^As34q8]]#89:Q>	
 i
  &(+
 
s   !"C11C:c                  "   ddgddgddgddgddgg} t        | d	d
gt        j                  dd            }|j                  d	      j	                         }t        g dg dd      }|j                  d	d       t        j                  ||       y )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(   )r[   r)   rB   rA   s       r    test_apply_groupby_datetimeindexr    s     "IRy3)c2Yb	BD	vw'r}}\</X
B ZZ##%F/LIJHvt,&(+r   c                     t        dt        d      D  cg c]  } t        j                          c} d      }d }d }d}t	        j
                  t        |      5  |j                  dg	      j                  |      }d d d        t        d
didg      }d|j                  _
        d}t	        j
                  t        |      5  |j                  dg	      j                  |      }d d d        t        t        j                  ddd      j                  d      dddg      }d|j                  _
        t	        j                  |       t	        j                  |       y c c} w # 1 sw Y   xY w# 1 sw Y   xY w)Nr   r   rv   c                     t        ddi      S )Nru   rs   r	   batchs    r   func_with_no_datez.test_time_field_bug.<locals>.func_with_no_date-  s    sAhr   c                 4    t        t        ddd      dd      S )N  r   rs   rS   ru   )r	   r   r  s    r   func_with_datez+test_time_field_bug.<locals>.func_with_date0  s    HT1a0q9::r   r   r   rR   byru   rs   r   r  nsr  )r   r   r   nowr!   r"   r#   r$   r%   r   r7   r&   r  as_unitr(   )	nnr)   r  r  r*   dfg_no_conversiondfg_no_conversion_expecteddfg_conversiondfg_conversion_expecteds	            r   test_time_field_bugr  %  sX    
59!ER(,,.!EF	GB ; DC		#	#M	= JJJ3%J0667HIJ!*C8A3!?,/$$)
CC		#	#M	= Du-33NCD'll4A&..t41=aS *-!!&+-GH.*AB/ "FJ JD Ds   E"
#E'#E3'E03E<c                      t        g dg dg dg dd      } | j                  ddg      } | j                  ddgd	      }d
 |j                  fd       y )N)rR   rR   rR   rS   rS   rS   rR   rR   rR   rS   rS   rS   )ru   ru   r  r  r  eru   ru   r  r  r  r  )g?rs   rt   r{   r|   r}   rs   r{   r}   ry   r   rs   )gffffff@ry   r   r         ry   r~   r}   r|   r{   rt   )group1group2weightr/   r  r  T)r  sortc                 T    t        j                  | |z        j                  d      }|S )Nrt   )r   arrayrepeat)r/   r  r   s      r   noddyz7test_gb_apply_list_of_unequal_len_arrays.<locals>.noddyR  s$    hhuv~&--a0
r   c                 >     | j                   | j                        S r   )r/   r  )r<   r  s    r   r=   z:test_gb_apply_list_of_unequal_len_arrays.<locals>.<lambda>\  s    uQWWahh7 r   )r   r  r$   r%   )r)   
df_groupedr  s     @r   (test_gb_apply_list_of_unequal_len_arraysr  E  s`    	RR<>		

B 
x*	+B8X"6TBJ 78r   c                     t        g dg dd      } d }d}t        j                  t        |      5  | j	                  d      j                  |      }d d d        t               }t        j                  |       y # 1 sw Y   *xY w)Nrx   )ry   r~   r{   r|   )r   random_varsc                      y r   rq   r;   s    r   	test_funcz.test_groupby_apply_all_none.<locals>.test_funcd  s    r   r   r   r   r   )test_dfr   r*   rB   rA   s        r   test_groupby_apply_all_noner  _  su     <MNG DC		#	#M	= <*00;<{H&(+< <s   !A==Bc                     t        g dg dd      } t        g dg dd      }d }d}t        j                  t        |      5  | j	                  d      j                  |      }d d d        t        j                  t        |      5  |j	                  d      j                  |      }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                  |	       y # 1 sw Y   xY w# 1 sw Y   xY w)N)r   r   r   rs   )r   r   rs   rt   )r   varsr   c                 J    | j                   d   dk  ry | j                  ddg   S )Nr   rs   rU  )rz  rg   r;   s    r   r   z0test_groupby_apply_none_first.<locals>.test_funcs  s&    771:>vvq"gr   r   r   r   r   r   rs   r   rt   r   )	r   r!   r"   r#   r$   r%   r   rR  r(   )
test_df1test_df2r   r*   r   r   index1index2	expected1	expected2s
             r   test_groupby_apply_none_firstr  n  sG   L,GHHL,GHH
 DC		#	#M	= >""8,229=>		#	#M	= >""8,229=>##aVaV$4Xt<LMF##aVaV$4Xt<LMFaVaV<FKIaVaV<FKI'9-'9-> >> >s   !E	!EEEc            	      r   t        ddgddgd      } | j                  d      }d}t        j                  t        |      5  |j                  d	       }d d d        t        dgd
t        j                  ddgdggdd g      j                  d            }t        j                  |       y # 1 sw Y   ZxY w)Nr   r   filledempty)r/   r   r   r   r   c                 ,    | | j                   dk7     d   S )Nr   r/   )r/   r   s    r   r=   z7test_groupby_apply_return_empty_chunk.<locals>.<lambda>  s    E%++2B,CG,L r   r/   r   )r7   r   )r   r$   r!   r"   r#   r%   r	   r   from_productr/  rL   )r)   r   r*   rB   rA   s        r   %test_groupby_apply_return_empty_chunkr    s    	aVx.AB	CBZZ F
CC		#	#M	= NLMN	
%%x 1#&wo

$w-H 68,N Ns   B--B6c                  0   t        dj                         g dg dd      } | j                  dd      }|j                  d       }t        g d	g d
d      }t	        j
                  ||       |j                  d       }t	        j
                  ||       y )Nza a brw   r{   r}   r|   r:  r   FrH   c                 (    | | j                         z  S r   r3  r;   s    r   r=   z-test_apply_with_mixed_types.<locals>.<lambda>  s    1quuw; r   )gUUUUUU?gUUUUUU?r   )皙?g333333?rU   r   r   c                 (    | | j                         z  S r   r  r;   s    r   r=   z-test_apply_with_mixed_types.<locals>.<lambda>  s    q1557{ r   )r   rK   r$   rB  r!   r(   r%   )r)   r   rB   rA   s       r   test_apply_with_mixed_typesr    sy    	yyI	JB


35
)A[[./F4?KLH&(+WW*+F&(+r   c                  n   t        dddgit        ddg            } d}t        j                  t        |      5  | j                  d      j                  d       }d d d        t        t        dg      t        dg      gt        ddgd            }t        j                  |       y # 1 sw Y   PxY w)	NrR   r   rs   r   r   r   c                     | j                   S r   r   r  s    r   r=   z*test_func_returns_object.<locals>.<lambda>  s
     r   r6   )	r   r   r!   r"   r#   r$   r%   r	   rL   r  s       r   test_func_returns_objectr    s    	C!Q=q!f	6B
CC		#	#M	= :C&&'89:uaSz5!:.eQF6MNH68,	: :s   "B++B4group_column_dtlikec                 0   t        dg| gd      }d}t        j                  t        |      5  |j	                  d      j                  d       }d d d        t        dgt        dgdd	      d
g      }t        j                  |       y # 1 sw Y   =xY w)Nr  rv   r   r   rR   c                      t        dgdg      S )Nspam*   r   r  r;   s    r   r=   z+test_apply_datetime_issue.<locals>.<lambda>  s    1M r   r!  r\   rl   r7   r"  rF   )r   r!   r"   r#   r$   r%   r   r(   )r  r)   r*   rB   rA   s        r   test_apply_datetime_issuer$    s     
%(;'<=	>B
CC		#	#M	= OC&&'MNO &5%C#HSURVWH&(+	O Os   "BB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}t        j                  t
        |	      5  | j                  d
      j                  |      d   }d d d        t        dgt        j                  dgd
      d      }t        j                  |       y # 1 sw Y   ExY w)Nz2015-02-24 00:00:00)r   r   rs   rt   r{   zsome UA stringzanother UA string17661101)day	userAgentuserIdc           	          t        | j                         D ci c]#  \  }}||j                         j                  d   % c}}      S c c}}w r   )r	   itemsvalue_countsr   )r)   ru   ss      r   most_common_valueszEtest_apply_series_return_dataframe_groups.<locals>.most_common_values  s<    
K1q!..*0033KLLKs   (A	
r   r   r'  r)  z
2015-02-24r6   r  )r   r&   r  r!   r"   r#   r$   r%   r	   DatetimeIndexrL   )tdfr.  r*   rB   rA   s        r   )test_apply_series_return_dataframe_groupsr1    s   
 << 56<< 56<< 56<< 56<< 56 $##&# 	
C4M DC		#	#M	= HU#))*<=hGH	B,,l^%HxH 68,H Hs   !$D		Drw  c           
      ,   ddgdz  }| r:t        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      j                  ddg      }|j                  dd      j                  d       }t        j                  ||       |j                  j                  ddgk(  sJ y )Nr   rs   r|   rw   )
categoriesr   )r3  r7   )r     r   r6   r  r4  )r   r%  r   r   )r   r   r   r%  r   F)observedc                 "    | j                         S r   r  r;   s    r   r=   z-test_apply_multi_level_name.<locals>.<lambda>  s    QUUW r   )r&   CategoricalCategoricalIndexr   r   r   rk  r   r   r  r$   r%   r!   r(   r   r   )rw  rS   expected_indexexpected_valuesrA   r)   rB   s          r   test_apply_multi_level_namer;    s     
A
ANN13,,Y9SVW%1vC0r(O4NH 
iim!$uRy/U2YP
ic
  ZZeZ,223DEF&(+88>>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}t	        j
                  t        |      5  |j                  d      j                  d       j                  }d d d        | r$t        j                  t        j                        nt        }t        t        j                  d      ||t        j                   |gg d      }t	        j"                  |       y # 1 sw Y   xY w)Ni  r   reddarkr   r  greenstormyrs   9i  bluebrightrt   r   i  calmr{   potato)observationcolormood	intensityscorerF   r   r   rG  c                      | j                   d   S r   rf   r  s    r   r=   z;test_groupby_apply_datetime_result_dtypes.<locals>.<lambda>  s    qvvay r   )na_valuezdatetime64[ns]r   )r   from_recordsr&   r  r!   r"   r#   r$   r%   rj   StringDtyper   r.  r]   r	   rl   int64rL   )r?   r[   r*   rB   rl   rA   s         r   )test_groupby_apply_datetime_result_dtypesrP     s+   !!\\$1%ufa=\\$1%w!SA\\$1%vxDA\\$1%vvq(C		
 GD DC		#	#M	= Ig&,,-@AHHI/ABNNBFF+vE	"	#UE288UCDH 68,I Is   #,EEr   abcrt   2020r%  )r  freq))rR   r   )rR   r   )rS   r   c                    t        g dg dd|       }d}t        j                  t        |      5  |j	                  dd	      j                  d
       }d d d        t        j                  |       y # 1 sw Y    xY w)Nr   r   rs   )r   r   r   r  r   r   r   r   FrH   c                     | S r   rq   r;   s    r   r=   z8test_apply_index_has_complex_internals.<locals>.<lambda>$  r  r   r   )r   r)   r*   rB   s       r   &test_apply_index_has_complex_internalsrW    sp     
Y;5	IB
CC		#	#M	= JG6<<[IJ&"%J Js   $A55A>zfunction, expected_valuesc                 6    | j                   j                         S r   )r   to_listr;   s    r   r=   r=   +  s    177??$ r   c                 H    t        | j                  j                               S r   )setr   rY  r;   s    r   r=   r=   ,  s    3qww() r   c                 H    t        | j                  j                               S r   )tupler   rY  r;   s    r   r=   r=   -  s    5*+ r   )r   r   rs   rt   c                 Z    t        t        | j                  j                                     S r   )dict	enumerater   rY  r;   s    r   r=   r=   /  s    d9QWW__%678 r   c                 ~    t        | j                  j                               D cg c]	  \  }}||i c}}S c c}}w r   )ra  r   rY  )r<   nis      r   r=   r=   3  s,    Iaggoo6G,HI&1a1vI Is   9c                 (   t        g ddg      }d}t        j                  t        |      5  |j	                  d      j                  |       }d d d        t        |t        ddgd      	      }t        j                  |       y # 1 sw Y   :xY w)
N)r   r   r   r   r   rF   r   r   r   r   r6   r   	r   r!   r"   r#   r$   r%   r	   r   rL   )functionr:  r)   r*   rB   rA   s         r   1test_apply_function_returns_non_pandas_non_scalarrh  (  s}    $ 
'(	<B
CC		#	#M	= 6H%++H56oUC:H-MNH68,6 6s   !BBc                  |   d } t        g ddddt        j                  gd      }d}t        j                  t
        |      5  |j                  d	      j                  |       }d d d        t        d
dgdgt        j                  ggt        g dd	            }t        j                  |       y # 1 sw Y   OxY w)Nc                 <    | d   j                   j                         S )Nr   )r)  flattenr   s    r   fctz4test_apply_function_returns_numpy_array.<locals>.fctD  s    Sz  ((**r   )rR   rR   rS   noner   rs   rt   r"  r   r   r   rU   rV   rW   )rR   rS   rm  r6   r   )r   r   r.  r!   r"   r#   r$   r%   r	   r   rL   )rl  r)   r*   rB   rA   s        r   'test_apply_function_returns_numpy_arrayrn  B  s    + 
01a7HI	JB
CC		#	#M	= ,C&&s+,
scURVVH%U3EC-PH 68,, ,s   !B22B;rg  c                     | j                   S r   r   grs    r   r=   r=   R  s
     r   c                 &    | j                   dz   dz
  S re   r   rp  s    r   r=   r=   R  s    bhhQRlUVFV r   c                 p   t        g ddg      }d}t        j                  t        |      5  |j	                  d      j                  |       }d d d        t        t        g d      t        g d      t        dd	g      gt        g d
d            }t        j                  |       y # 1 sw Y   ^xY w)N)
r   rs   rs   rs   r   rs   rt   r   rt   r   idrF   r   r   )r   r{   r~   r   )r   rs   rt   r|   r}   ry   rw   r6   r   rf  )rg  r)   r*   rB   rA   s        r    test_apply_function_index_returnru  R  s     
1D6	BB
CC		#	#M	= 2D!''12	|	eL15!Q=AID)H 68,2 2s   !B,,B5c                      t        g dg dd      } | j                  dd      j                  d       }t        g dg d	d      }t        j                  ||       y )
Nr   )r   rs   r{   r{   r|   r}   r   r   Fr   c                 "    | j                         S r   )r   r;   s    r   r=   zAtest_apply_function_with_indexing_return_column.<locals>.<lambda>h  s     r   )r   r   r   )rW   rX   rX   )r   r$   r%   r!   r(   )r)   rB   rA   s      r   /test_apply_function_with_indexing_return_columnrx  `  s^    	@&	

B ZZZ/556HIF+#	
H &(+r   udfc                 "    | j                         S r   r   r;   s    r   r=   r=   t  s     r   c                 B    | j                         j                  d       S )Nc                     | dz   S re   rq   )ys    r   r=   z<lambda>.<locals>.<lambda>t  s
    A r   )r   r-  r;   s    r   r=   r=   t  s    affhooo&F r   c                    t        ddgddgd      }d}t        j                  t        |      5  |j	                  d| 	      j                  |      }d d d        |j                  j	                  |j                  | 	      j                  |      }| r7j                  j                  dk(  sJ |j                  j                  dk(  sJ y j                  j                  dk(  sJ |j                  j                  dk(  sJ y # 1 sw Y   xY w)
NrR   rS   r   rs   r"  r   r   r   rH   )
r   r!   r"   r#   r$   r%   r   r   r   nlevels)rI   ry  r)   r*   	df_resultseries_results         r   test_apply_result_typer  r  s     
#s1a&1	2B
CC		#	#M	= FJJszJ:@@E	FDDLL*L=CCCHM&&!+++""**a///&&!+++""**a///F Fs   #DD
c                     t        g dg dd      } d}t        j                  t        |      5  | j	                  dd      j                  d	       }d d d        t        j                  t        |      5  | j	                  dd      j                  d
       }d d d        t        j                         y # 1 sw Y   gxY w# 1 sw Y   ,xY w)N)rs   r   rs   rw   r"  r   r   r   FrH   c                     | S r   rq   r;   s    r   r=   z4test_result_order_group_keys_false.<locals>.<lambda>  s    1 r   c                 "    | j                         S r   r   r;   s    r   r=   z4test_result_order_group_keys_false.<locals>.<lambda>  s    QVVX r   r   r  s       r   "test_result_order_group_keys_falser    s     
3	4B
CC		#	#M	= FCE288EF		#	#M	= O::ce:4::;MNO&(+	F FO Os   $B:7$C:CCc                     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
}t        j                  t        |      5  |j                  dd      j                  d       }d d d        t        j                  t        |      5  |j                  dd      j                  d       }d d d        t        j                         y # 1 sw Y   gxY w# 1 sw Y   ,xY w)Nz
2001-01-01rs   z
2001-01-02z
2001-01-03UTC)tzrt   r}   )r<   r}  tr   r   r<   FrH   c                 ,    | ddg   j                         S Nr<   r}  r   r   s    r   r=   z1test_apply_with_timezones_aware.<locals>.<lambda>      r3*~**, r   c                 ,    | ddg   j                         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$   r%   r(   )datesindex_no_tzindex_tzr  r  r*   r   r   s           r   test_apply_with_timezones_awarer    s/   NQ,!!33|nq6HHE""5)K%0H
$uQx.1,58+N
OC
$uQx.1,58(K
LC
CC		#	#M	= 
++ce+4::,

 
	#	#M	= 
++ce+4::,


 '7+
 

 
s   8$E?$EEEc                 j   t        g dg dg dd      }t        ddgddgd	t        d
dgd            }|j                  d      }d}t        j                  t
        |d      5  |j                  t        d      }d d d        t        j                  |       |j                  d      }t        | |      } t        ||       | }t        j                  t
        |d      5  |j                  t        d      }d d d        t        j                  ||       y # 1 sw Y   xY w# 1 sw Y   ,xY w)N)c   r  r  X   r  r  )r   rs   rt   r{   r|   r}   )r   r  r  r  r  <   r      r}      r  r  r  r  rR   r6   r   r  :The behavior of DataFrame.sum with axis=None is deprecatedF)r   check_stacklevelinclude_groups)r   r   r$   r!   r"   r#   r%   r3  r(   r   getattr)reduction_funcr)   rA   grpr*   rB   args_s           r   ;test_apply_is_unchanged_when_other_methods_are_called_firstr    s     
)#)	

B 1gS"I&RH3'H ***
C
FC		#	#Mu	U 63u56&(+ ***
C">26D$^$d+A		#	#Mu	U 63u56&(+6 66 6s   'D&D)D&)D2c                     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	
            } | j                  ddg      }d}t	        j
                  t        |      5  |j                  d       }d d d        | j                  g d   }|j                         }t        j                  |g d         |_        |j                  d	      }t	        j                  |       |j                  j                  d   D ]  }t!        |      t        u rJ  y # 1 sw Y   xY w)N)rR   rR   rR   rS   i  r   r   rs   r   r:  )r   e   f   g   idxr6   r   r   r   r   r   c                 $    | j                  d      S re   r   r;   s    r   r=   zRtest_apply_with_date_in_multiindex_does_not_convert_to_timestamp.<locals>.<lambda>  s    QVVAY r   )r   rs   rt   )r   r   r  rF   )r   r   r   r$   r!   r"   r#   r%   rg   r    r   
from_framer   r/  r(   levelstype)r)   r  r*   rB   rA   vals         r   @test_apply_with_date_in_multiindex_does_not_convert_to_timestampr    s0    
%T1b!T1b!T1b!T1b!	 		
 (u5
B **c3Z
 C
CC		#	#M	= 0./0 wwy!H##%H**84E+FGHN}}U}+H&(+||""1% !CyD   !0 0s   D88Ec                     t        t        j                  j                  d      j                  ddg      t	        j
                  ddgddgg            } d}t        j                  t        |	      5  | j                  j                  d
d
      }d d d        j                  d       }d}t        j                  t        |	      5  | j                  dd
      }d d d        j                  d       }t        j                  ||j                         t        j                  ||        y # 1 sw Y   xY w# 1 sw Y   ^xY w)Nrs   r}   r{   r   r   r   rF   z5The 'axis' keyword in DataFrame.groupby is deprecatedr   r   r`   r  c                 (    | j                  dd      S )Nr   r  	droplevelr;   s    r   r=   zDtest_apply_by_cols_equals_apply_by_rows_transposed.<locals>.<lambda>  s    !1!= r   rb   c                 (    | j                  dd      S )Nr   r   r  r  r;   s    r   r=   zDtest_apply_by_cols_equals_apply_by_rows_transposed.<locals>.<lambda>  s    !++1A+"> r   )r   r   r   r   r   r  r!   r"   r#   r  r$   r%   r(   )r)   r*   rm   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	= +TT\\q\*+hh=>G
7C		#	#M	= *jjaqj)*ii>?G'799-'2&+ +
* *s   2D,D8,D58Edropnac                    t        g ddt        j                  t        j                  ddgdt        d            }d}t	        j
                  t        |      5  |j                  d	| d
      j                  d       }d d d        | r|j                         n|j                  g d   }t	        j                  |       y # 1 sw Y   CxY w)Nr   rs   rt   r{   r|   rR   rS   )colr   xxyxzr   r   r   r   F)r  rI   c                     | S r   rq   r;   s    r   r=   z5test_apply_dropna_with_indexed_same.<locals>.<lambda>  s    VW r   )r   rt   r   rs   r{   )r   r   r.  r   r!   r"   r#   r$   r%   r  rg   r(   )r  r)   r*   rB   rA   s        r   #test_apply_dropna_with_indexed_samer    s     
"26626634	
 7m
B DC		#	#M	= YGFuEKKKXY$ryy{"''/*BH&(+Y Ys   %CC
zas_index, expected)r   r   r   )rs   rs   r   )rR   rS   N)rl   zTODO(infer_string))reason)marksr   )rs   rs   rS   r   r   c                    t        g dg dg dd      }d}t        j                  t        |      5  |j	                  ddg|       j                  d	       }d d d        t        j                  |       y # 1 sw Y    xY w)
Nr  )r   r   r   r   r   r   r   rR   rS   r   c                      yre   rq   r;   s    r   r=   z5test_apply_as_index_constant_lambda.<locals>.<lambda>,  s    r   )r   r!   r"   r#   r$   r%   assert_equal)r   rA   r)   r*   rB   s        r   #test_apply_as_index_constant_lambdar    sr    ( 
L|L	MB
CC		#	#M	= NS#J:@@MNOOFH%N Ns   &A88Bc                  x   t        g dg dg ddt        d            } d}t        j                  t        |      5  | j                  d	      j                  d
       }d d d        t        t        dd      t        j                  g dd	d g      d      }t        j                  |       y # 1 sw Y   QxY w)Nr  )r}   r~   ry   r   r   )r   r   r   rs   rs   r:  r|   r   r   r   r   c                 6    | j                   j                         S r   )r   r  r;   s    r   r=   z(test_sort_index_groups.<locals>.<lambda>8  s    1A r   r   r}   )r   r   r   r^  r   r   r   r  )r   r   r!   r"   r#   r$   r%   r	   r   r   rL   r  s       r   test_sort_index_groupsr  0  s    	O/JAh
B DC		#	#M	= CC&&'ABCa$$4S$K
 H 68,C Cs   "B00B9c                     t        t        j                  ddd      t        d      t	        d      d      } d}t        j                  t        |      5  | j                  | j                  | j                  j                  j                  gd	
      j                  d       }d d d        t        j                  |        y # 1 sw Y    xY w)Nz
2010-01-0112hr|   )rS  r  r   )r   valsletr   r   FrH   c                      | j                   dd  S r   rf   r;   s    r   r=   z;test_positional_slice_groups_datetimelike.<locals>.<lambda>P  s    !&&* r   )r   r&   r  r   r   r!   r"   r#   r$   r  r   dtr%   r(   )rA   r*   rB   s      r   )test_positional_slice_groups_datetimeliker  C  s    MM,UAF!H=	
H DC		#	#M	= &!!\\8==++001e " 

%$
% 	& &(+	& &s   ACCc                      t        g dg dg dd      } | j                  d      }|ddg   j                  d       }t        d	d
gdd
gdt        ddgd            }t	        j
                  ||       y )N)rR   rR   rS   rw   r  r:  r   r   r   c                 j    | j                  t              j                         | j                         z
  S r   )astypefloatre  rd  r;   s    r   r=   z7test_groupby_apply_shape_cache_safety.<locals>.<lambda>X  s"    AHHUO,?,?,AAEEG,K r   rU   ri  rV   r  rR   rS   r6   r   )r   r$   r%   r   r!   r(   )r)   rm   rB   rA   s       r   %test_groupby_apply_shape_cache_safetyr  T  sr    	yyI	JB	CBc
^!!"KLFCjSz*%c
2MH &(+r   c                     t        j                  g dg dg dd      } | j                  d      ddg   }|j                  d       }t	        j
                  g d	g d
gdd g      }t        g d|d      }t        j                  ||       y )N)rR   rS   rR   rS   )aaacr  ad)r  r  r  r  )rR   b1b2rR   r  r  c                 >    | j                         j                         S r   )unstackr,  r;   s    r   r=   z3test_groupby_apply_to_series_name.<locals>.<lambda>j  s    !9!9!; r   )rR   rR   rS   rS   rS   )r  r  r  r  r  )arraysr   )rt   r   rs   r   r   r   r  )	r   	from_dictr$   r%   r   rR  r	   r!   rL   )r)   r  rB   expected_idxrA   s        r   !test_groupby_apply_to_series_namer  `  s    			%**	

B **S/4,
'CYY;<F)))+IJDkL o\HH68,r   c                    t        g dg dddt        j                  t        j                  gd      }|j                  d|       }d}t	        j
                  t        |	      5  |j                  d
       }d d d        t	        j
                  t        |	      5  |j                  d       }d d d        t	        j                         y # 1 sw Y   VxY w# 1 sw Y   ,xY w)Nr  )r   r   rs   r|   r   rs   )r  r}  zr  )r  r   r   c                 &    | j                  dd      S )Nr   r  )nlargest)grp_dfs    r   r=   ztest_apply_na.<locals>.<lambda>}  s    FOOAs,C r   c                 F    | j                  dd      j                  d      S )Nr  F)	ascendingr   )r4  r   r;   s    r   r=   ztest_apply_na.<locals>.<lambda>  s    se)L)Q)QRS)T r   )	r   r   r.  r$   r!   r"   r#   r%   r(   )r  r)   dfgrpr*   rB   rA   s         r   test_apply_nar  t  s     
<q!RVVRVV6LM
B JJuVJ,E
CC		#	#M	= ECDE		#	#M	= V;;TUV&(+	E EV Vs   $CCCC!c            	         d} t        j                  t        |       5  t        g dg dt	        j
                  g dd      d      j                  d	d
g      j                  d       }d d 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                  |       y # 1 sw Y   {xY w)Nr   r   r  )r  r  r  r  r   r-  )unitr   rR   rS   c                      | j                   d   S NrU  rf   r   s    r   r=   z8test_apply_empty_string_nan_coerce_bug.<locals>.<lambda>  s    bggbk r   r   r  rs   r{   )r   r  )rs   r  r   r  )r!   r"   r#   r   r&   r>   r$   r%   r   r   r(   )r*   rB   rA   s      r   &test_apply_empty_string_nan_coerce_bugr    s    
CC		#	#M	= 
%)3? Wc3Z U)* 	
 
R,	-2r~~ac7R/ST$$gw%7SzJH
 &(+#
 
s   AC$$C-index_values)rU   rV   rW   c                 L   t        g dg ddt        |             }t        dg dit        g dd	            }d
}t        j                  t        |      5  |j                  d      j                  d       }d d d        t        j                  ||       y # 1 sw Y    xY w)N)r  a2a3rw   rv   r   b_mean)rV   rW   rU   )r  r  r  rR   r6   r   r   c                 B    t        | d   j                         gdg      S )NrS   r  r   )r	   r   r   s    r   r=   z0test_apply_index_key_error_bug.<locals>.<lambda>  s    vr#w||~.xjA r   )r   r   r!   r"   r#   r$   r%   r(   )r  rB   rA   r*   s       r   test_apply_index_key_error_bugr    s     #	
 L!F o	
 &S1	H DC		#	#M	= 
$**A

 &(+	
 
s   "BB#zarg,idx)皙?333333?皙?)r  r  r  )r   r{   rt   )r  r  r  c                     t        d| i|      }d}t        j                  t        |      5  |j	                  dd      j                  d       }d d d        t        j                  |       y # 1 sw Y    xY w)Nr  r   r   r   FrH   c                     | S r   rq   r;   s    r   r=   z5test_apply_nonmonotonic_float_index.<locals>.<lambda>  s    1 r   r   )argr  rA   r*   rB   s        r   #test_apply_nonmonotonic_float_indexr    ss    V %S1H
CC		#	#M	= N!!%E!:@@MN&(+N Ns   $A00A9zargs, kwargsnumeric_onlyc                     | j                  d      } |j                  dg|i |}|j                  d      }t        j                  ||       y )Nr   r3  T)r  )r$   r%   r3  r!   r(   )r)   r  kwargsrm   rB   rA   s         r   test_apply_str_with_argsr    sK     
CBRXXe-d-f-Fvv4v(H&(+r   r7   	some_namec                     t        ddg|       }|j                  ddgd      j                  d       }t        ddg|       }t        j                  ||       y )Nr   rs   r6   rR   FrH   c                     | S r   rq   r;   s    r   r=   z1test_result_name_when_one_group.<locals>.<lambda>  r  r   )r	   r$   r%   r!   rL   )r7   r  rB   rA   s       r   test_result_name_when_one_groupr    sU     !Qd
#C[[#s[6<<[IFq!f4(H68,r   z
method, opr%   c                      | j                   d   S r  )r)  rm   s    r   r=   r=     s    RYYr] r   c                 &    | d   j                   d   S )NrS   r   rf   r  s    r   r=   r=     s    RW\\!_ r   )aggskew)r  prod)r  r3  c           
          t        g g d      }|j                  dd      }t        |d      } t        ||       |      }t        g ddt	        g dd            }t        j                  ||       y )	Nrv   rR   TrH   rS   r^   r#  )r7   rl   r   )r   r$   r  r	   r   r!   rL   )methodopempty_dfrm   r   rB   rA   s          r   test_empty_dfr    su     r+,H			#$		/BBE#WUF#B'F
IU2YS-QH 68,r   r  c                 `   t        g dg dd      }|j                  d      }| rt        nd }d}t        j                  ||      5  |j                  d |       }d d d        t        d	d	gd
dgdt        dd	gd            }| s|dg   }t        j                  |       y # 1 sw Y   IxY w)NrU  )rt   r{   r|   rv   rR   r   r   c                 "    | j                         S r   r  r;   s    r   r=   z%test_include_groups.<locals>.<lambda>  s    AEEG r   r  rs   r~   r|   r   r6   r   rS   )r   r$   r#   r!   r"   r%   r   r(   )r  r)   rm   warnr*   rB   rA   s          r   test_include_groupsr    s     
3	4B	CB*=D
CC		#	#D	4 L+NKL1vQF35!Qc;RSHSE?&(+L Ls   B$$B-r  ra   jimjoec                    t         j                  j                  d      }t        |j	                  ddd      ddg      }|j                  d      |d	<   |j                  |       }|j                  |t        urd nt        }d
}t        j                  ||dd      5  |j                  |      }d d d        t        |j                  |             }dj                   d| d}	|j                  |dfk(  sJ |	       fdd}t        j                  t        |      5  |j                        }
d d d        t        j                   |
       t        j                  t        |      5  |j                  fd      }d d d        t        j                   |       |t        k7  rK|j#                        j%                         }
|
j'                  | dd       t        j                   ||
d       t        j(                   t+        |      d       t+        |      d             y # 1 sw Y   }xY w# 1 sw Y   xY w# 1 sw Y   xY w)Nrs   r   r~   )r   rs   r  r  rF   r   jolier  F)r   r  raise_on_extra_warnings)subsetzinvalid frame shape: z (expected (z, 3))rt   c                 4     t        t              | d      S )Nr   rc   )r  r   )r<   fnames    r   r=   z%test_builtins_apply.<locals>.<lambda>6  s    )wr5)!!4 r   r   r   c                      |       S r   rq   )r<   npfuncs    r   r=   z%test_builtins_apply.<locals>.<lambda>=  s    vay r   T)rY  r/  )check_dtyper   rc   )r   r   r   r   r<  r   r$   __name__r3  r#   r!   r"   r%   r  drop_duplicatesrz  r(   r  r    r  rL   r  )ra   r  rsr)   rm   r  r*   rB   ngroups
assert_msgrA   r  r  r  s               @@r   test_builtins_applyr#    s    
		q	!B	2;;q!W-u~	FB$$R(BwK	D	BJJEC<4]D
FC		#	#C%
  !	
 "$$D$12G(l7)5QJ<<GQ<'33'4F
CC		#	#M	= $88F#$&(+		#	#M	= 2HH01	2&),Cx66%=,,.4E:
fhEB17651q9;M72u;MST;UV3 $ $2 2s$   H+ H8+I+H58II)hr   r   numpyr   pytestpandas._configr   pandasr&   r   r   r   r	   r
   pandas._testing_testingr!   pandas.tests.groupbyr   r,   rC   rO   rn   rr   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  todayrE   r$  r1  r;  rP  r8  interval_rangeperiod_ranger   rW  rh  rn  ru  rx  r  r  r  r  r  r  r  paramr]   xfailr  r  r  r  r  r  r  r  r  r  r  r  r  re  rd  r3  r#  rq   r   r   <module>r2     sY  
   -    85&%,P'-T,$,  	/HI	JIV	L9	:QFC	C!:	$	1aA	BQFK	+4FG	H)Tl+77 		
 
Iy)?	CaVL!$	)  <+$=<+$\2,, 
$#	&&-('$T&3R2&0

@	@0-9 e}5, 6, F ,0,4,,@ u60 700-$2;-|,:,"C@94,..-"
,- X^^~x~~',,.0@0E0E0GH,	,%-P eT]3( 4(,-, DK(!Q4
=>	&& 	$1v1v&67	)QFQF+;<	+ff-=>8q\qQ<(	

 J!fq!fAA/0	
 -! --  &9;V%WX
- Y
-,$ 	FH e}50 6	
0$	,,*,@!@'2 D%=1, 2," I&6Ff0U ++##$6$8AU#V	
 A4j44ff5EcSVZX	
$&%$&-&,"	,-( D%=1, 2,,. )_)EF, G,. 
	

	

	
3%(R,S(R, D62,nd=S8T)UV, W, +t!45- 6- 	*+	,-	-	- )D%=9, :, sCo.%%!89%W : /%Wr   