
    .ib                     2   d dl mZm Z  d dlZd dlZd dlmZ d dlZd dlm	Z	m
Z
mZmZmZ d dlmZ d dlmZ d Zd Zd Zej,                  j/                  d	 e	g d
g dd      g df e	g dg dd      d dgf e	ddgi      dgf e	g d ed      d      ddgf e	g dg dd      g df e	 ed      g dg dd      g df e	g dg dgg d      ddgfgg d       d!        Zd" Zd# Zd$ Zej,                  j/                  d%d& d' d( d) g      d*        Zd+ Zd, Z d- Z!d. Z"d/ Z#d0 Z$d1 Z%d2 Z&d3 Z'd4 Z(d5 Z)d6 Z*ej,                  j/                  d7d8d9g      d:        Z+d; Z,d< Z-d= Z.d> Z/d? Z0ej,                  j/                  d@d8d9g      dA        Z1dB Z2dC Z3dD Z4dE Z5dF Z6dG Z7dH Z8dI Z9dJ Z:dK Z;ej,                  j/                  dLg dMg dNdOddgd dggdPd dgigg dQg dNdOddgddRggdPddRgigg      dS        Z<dT Z=ej,                  j/                  dUdVdWg      dX        Z>dY Z?ej,                  j/                  dZ e j                          e j                         j                          e j                         j                         g      d[        ZBd\ ZCej,                  j/                  d]d9d8g      d^        ZDd_ ZEej,                  j/                  d` ej                   eda             ej                  d dR       ej                  dbdRdcd       ej                  g de      g      df        ZJej,                  j/                  dgdh d dgddRggfdi d dhddRhgfdj dkdlgfdm d ddkddRdkgfdn d d iddigd diddRiggfg      do        ZKdp ZLej,                  j/                  dqdr ds g      dt        ZMdu ZNej,                  j/                  dvdw dx g      ej,                  j/                  d7d8d9g      dy               ZOdz ZPd{ ZQd| ZRd} ZSd~ ZTej,                  j/                  dd9 e	g dg dg e
g deU            gd8 eddg ej                  ddgddg            gg      d        ZVd ZWd ZXd ZYd ZZd Z[d Z\ej,                  j/                  dg dg dg      d        Z]ej,                  j/                  dg dg dgg dg dgg dg dgg      d        Z^ej,                  j/                  dd8gi fg dd8ifg      d        Z_ej,                  j/                  dddg      d        Z`ej,                  j/                  ddVd fdVd fddddg      d        Zad Zbej,                  j/                  decdfeddfeedRfg      d        Zfd Zgd Zhd Ziy)    )datedatetimeN)Pandas4Warning)	DataFrameIndex
MultiIndexSeriesbdate_range)get_groupby_method_argsc                     t        dt        t        d            dz  dg      j                         } g fd}| j	                  d      j                  |       t        ddgdz  it        j                  ddd            }|j                  j                  t              |_        t        j                  d   |       y )	N   
   r   )indexcolumnsc                 (    j                  |        y N)append)groupgroupss    ]/var/www/app/trading-bot/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    r   d   r   )r   listrangereset_indexgroupbyapplypd
RangeIndexr   astypeobjecttmassert_frame_equal)dfr   expected_valuer   s      @r   7test_apply_func_that_appends_group_to_list_without_copyr(      s     
1DrOb01#	>	J	J	LBF JJwe$A38}BMM!S"4MNN+33::6BN&)^4r   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?r-   r.   r/   r0   r-   r.   r/   r0   	date_timenamer   c                 "    | j                         S r   idxmaxxs    r   <lambda>z'test_apply_index_date.<locals>.<lambda>K   s    qxxz r   )r   r   r    to_datetimer   r   r   r6   r   r$   r%   )using_infer_stringtsr&   expectedresults        r   test_apply_index_dater?   '   s    
B 
 	
  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	|
      }|j	                  d      j                  d       }t        j                  ||       y c c}w )Nr*   r   timer   r,   r+   )z
2011-05-16z
2011-05-17z
2011-05-18r2   )z00:0002:00rC   r   c                 4    | d   | d   j                            S )NrA   r+   r5   r7   s    r   r9   z.test_apply_index_date_object.<locals>.<lambda>q   s    &	!G*:K:K:M0N r   )r   splitr   r	   r   r   r$   assert_series_equal)r<   rowr&   exp_idxr=   r>   s         r   test_apply_index_date_objectrI   O   s    
B 
2.CCIIK.8H	IBBwK >VLG1AHZZ%%&NOF68,% /s   Bzdf, group_names)r   r   r         )arL   rL   bcrL   rM   r   rJ   rK   r   r   r   r   )r   r   r   r   r   rL   )r   r   r   rJ   rJ   r   r   rJ      rJ   r   rJ   rK   r   rJ   rK   )            rR   	   )rL   two
aaabbbcccc)
rK   rT   rK   rV   rU   rJ   r   rX   rU   rT   )
rT   r   rJ   rJ   rJ   rW   rR   rV   rJ   rR   )rL   BCrL   rM   rN   )rJ   rJ   rK   rB   )GH2936zGH7739 & GH10519GH10519GH2656GH12155GH20084GH21417)idsc                     g fd}fd}fd}fd}fd}|||||fD ].  }d d = | j                  d      j                  |       |k(  r.J  y )Nc                 Z    j                  | j                         | j                         S r   )r   r3   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   r3   rh   s    r   f_nocopyz1test_group_apply_once_per_group.<locals>.f_nocopy   s    UZZ r   c                 <    j                  | j                         yNr   rl   rh   s    r   f_scalarz1test_group_apply_once_per_group.<locals>.f_scalar   s    UZZ r   c                 <    j                  | j                         y r   rl   rh   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   rO   )r   r3   r   rh   s    r   f_constant_dfz6test_group_apply_once_per_group.<locals>.f_constant_df   s'    UZZ s!-..r   rL   )r   r   )	r&   group_namesrj   rm   rp   rr   rt   funcri   s	           @r   test_group_apply_once_per_grouprw   u   sk    N E


!/
 8V]C $!H


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

E7u
=CCDWX**eW*7=="K +[9r   rv   c                     | S r   r   r7   s    r   r9   r9      s    ! r   c                     | d d  S r   r   r7   s    r   r9   r9      s
    !A$ r   c                 &    | j                  d      S )NFdeepr   r7   s    r   r9   r9      s    !&&e&$ r   c                 &    | j                  d      S )NTr   r   r7   s    r   r9   r9      s    !&&d&# r   c                     t        g dg dg dd      }|j                  dd      j                  |       }t        j                  ||dd	g          y )
Nr   rJ   rJ   rJ   r   rJ   rK   rT   )rU   rV   rW   rR   )grL   rM   r   Fr   rL   rM   r   r   r   r$   r%   )rv   r&   r>   s      r   5test_groupby_apply_identity_maybecopy_index_identicalr      sJ     
L|L	MBZZZ.44T:F&"c3Z.1r   c                     t        t        j                  j                  d      j	                  d      g dd      } | j                  d d      }| }t        j                  ||       t        dg d	i      } | j                  d
z  | d<   | j                  d      j                         j                         }| j                  dd      j                         }t        j                  ||       y )NrJ   rV   onerY   rY   threer   rY   foo1foo2c                     | S r   r   r7   s    r   r9   z-test_apply_with_mixed_dtype.<locals>.<lambda>  s     r   r   axisc1)r   rJ   rV   rV   rR          @c2Fas_index)r   nprandomdefault_rngstandard_normalr   r$   r%   r   r   meanr   )r&   r>   r=   result1result2s        r   test_apply_with_mixed_dtyper     s    	II))!,<<Q?@	

B XXkX*FH&(+ 
D/*	+Buus{BtHjj##%113Gjjj.335G'7+r   c                    t        g dg dt        d      d      }|j                  d|       }t        g dg dg d	dg d	
      }|j                  d      }t	        j
                  ||       | rg d}t        j                  |dd g      }nt        g d      }t        t        d      g dd|
      }|j                  d       }t	        j
                  ||       y )N)rM   rM   rL   rN   rL   rM   )r   rJ   r   r   rK   r   rV   )item_iduser_idrA   r   r   )rM   rM   rL   rL   )r   rJ   r   rK   )r   r   rJ   rT   r   rJ   )r   r   r   rJ   )rJ   r   )rK   rT   ri   )r   rJ   r   rT   baba)r   rA   c                 $    | j                  d      S NrJ   headr7   s    r   r9   z-test_groupby_as_index_apply.<locals>.<lambda>D  s    q	 r   )r   r   r   r   r$   r%   r   from_tuplesr   r   r   )r   r&   gbr=   r>   tpr   s          r   test_groupby_as_index_applyr      s    	5)!H	

B 
I	1B+# 	

 H WWQZF&(+ -&&r)T1BCl#F| 	
 H XX)*F&(+r   c                      t        t        d            } t        ddgddgddgddgddgg|       }|j                  d	d
d
      j	                  d       j
                  }t        j                  ||        y )Nabcder   rJ   rK   rT   rU   rV   r   r   F)r   r   c                     | S r   r   r7   s    r   r9   z1test_groupby_as_index_apply_str.<locals>.<lambda>K  s    ! r   )r   r   r   r   r   r   r$   assert_index_equal)indr&   ress      r   test_groupby_as_index_apply_strr   H  sp    
W
C	QFQFQFQFQF;3	GB
**Q5*
9
?
?
L
R
RC#s#r   c                 D   | j                  ddg      }d }d }d }|j                  |      }|j                  j                  dk(  sJ |j                  |      }|j                  j                  dk(  sJ |j                  |      }|j                  j                  dk(  sJ y )Nr   r[   c                 H    | j                         }d|j                  _        |S Nstat)describer   r3   r   r>   s     r   descz.test_apply_concat_preserve_names.<locals>.descR  s    !"r   c                 d    | j                         }d|j                  _        |d t        |        }|S r   )r   r   r3   lenr   s     r   desc2z/test_apply_concat_preserve_names.<locals>.desc2W  s/    !"#e*%r   c                 ~    | j                         }dt        |       d|j                  _        |d t        |        }|S )Nstat_d)r   r   r   r3   r   s     r   desc3z/test_apply_concat_preserve_names.<locals>.desc3^  s>    ! $CJq>2#e*%r   )r   r[   r   )r   r[   N)r   r   r   ri   )three_groupgroupedr   r   r   r>   r   result3s           r    test_apply_concat_preserve_namesr   O  s    !!3*-G
 ]]4 F<<!3333mmE"G=="4444mmE"G=="2222r   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>.fs  sR    [[* 	#VVE]F	#)=P
 	
	# 	#s   AAz1/1/2000r   periodsrJ   r   c                     | j                   S r   monthr7   s    r   r9   z,test_apply_series_to_frame.<locals>.<lambda>}  
    177 r   Fr   r3   )r
   r	   r   r   r   r   r   r   
isinstancer   hasattrr$   r   r   )r   drr<   r   r>   s        r   test_apply_series_to_framer  r  s    
 
Z	,B			%%a(88<B	GB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\   rJ   r   r[   )r   r   r   r   ri   r&   r>   s     r    test_apply_series_yield_constantr	    sC    ZZc
#C(..s3F<<bq!Z///r   c                 &   | j                  ddg      j                  t              }t        |t              sJ |j
                  J | j                  ddg      ddg   j                  t              }t        |t              sJ |j
                  J y )Nr   r[   r\   D)r   r   r   r  r	   r3   r  s     r   test_apply_frame_yield_constantr    s    ZZc
#))#.Fff%%%;;ZZc
#S#J/55c:Fff%%%;;r   c                 "   | j                  ddg      }|j                  t              }|j                         d   }t	        j
                  |j                  |j                         t	        j                  |j                  |j                         y )Nr   r[   r\   )	r   r   r   r   r$   r   r   assert_numpy_array_equalvaluesr&   r   r>   r=   s       r   test_apply_frame_to_seriesr    sb    jj#s$G]]3F}}s#H&,,7x?r   c                    | j                  ddgd      }|j                  t              }|j                         j	                  dt
        j                  i      j                  d      }t        j                  |j                  |j                         t        j                  |j                  |j                         y )Nr   r[   Fr   r\   rB   r  )r   r   r   r   renamer   nandropr$   r   r   r  r  r  s       r   )test_apply_frame_not_as_index_column_namer    s    jj#sej4G]]3F}}%%sBFFm%<AA#ANH&,,7x?r   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      j                  d      j                  |       }j                  d      d	   j                  |      }t        j                  ||d
       |j                  d	k(  sJ y )Nc                 |    | j                  d      d   j                         j                         j                  d d S )Nr[   r\   rJ   )r   sumsort_valuesilocr   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[   rJ   )r   reindexr   r  r  r  )r   r   r&   s     r   trans2z.test_apply_frame_concat_series.<locals>.trans2  sE    --

5;; 7 <={{}((*//33r   rJ   r   rU   i  r   r[   r\   r   r\   F)check_names)r   r   r   r   integersr   r   r   r$   rF   r3   )r  r  r>   expr&   s       @r   test_apply_frame_concat_seriesr$    s    D4 
&&q)221a>&&q)221a>&&q)99$?	

B ZZ_""5)F
**S/#

$
$V
,C63E:;;#r   c                     | j                  d d      }|j                  d       }|j                  d       }t        j                  ||       y )Nc                     | j                   S r   r   r7   s    r   r9   z&test_apply_transform.<locals>.<lambda>  r  r   Fr   c                     | dz  S r   r   r7   s    r   r9   z&test_apply_transform.<locals>.<lambda>  s
    QU r   c                     | dz  S r   r   r7   s    r   r9   z&test_apply_transform.<locals>.<lambda>  s
    1q5 r   )r   r   	transformr$   rF   )r<   r   r>   r=   s       r   test_apply_transformr*    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   yearr7   s    r   r9   z,test_apply_multikey_corner.<locals>.<lambda>  s
     r   c                     | j                   S r   r   r7   s    r   r9   z,test_apply_multikey_corner.<locals>.<lambda>  s
    177 r   c                 *    | j                  d      dd  S )Nr   r  r   s    r   r   z%test_apply_multikey_corner.<locals>.f  s      %bc**r   )r   r   r$   r%   loc)tsframer   r   r>   keyr   s         r   test_apply_multikey_cornerr6    s[    oo/1BCDG+ ]]1F 9
U
fjjoqx89r   r   TFc                 2   t        g dt        d      d      }|j                  d|       j                  d       }|dg   j	                  g d      }| r,t        j                  g d	|j                  gdd g
      |_        t        j                  ||       y )N)	r   r   r   rJ   rJ   rJ   rK   rK   rK   rX   )r5  r+   r5  r   c                      | j                   d d S r   r  r7   s    r   r9   z'test_apply_chunk_view.<locals>.<lambda>  s    affRaj r   r+   )r   r   rK   rT   rV   rW   )r   r   rJ   rJ   rK   rK   r   )
r   r   r   r   taker   from_arraysr   r$   r%   )r   r&   r>   r=   s       r   test_apply_chunk_viewr<    s     
6qJ	KBZZ*Z5;;<PQF7)}!!"45H#//0
 &(+r   c            	          t        g dg dt        ddd      d      } | j                  ddg      }|j                  d        y )	N)
r   r   r   r   r   r   rJ   rJ   rJ   rJ   )
r   r   r   r   r   r   r   r   r   r   rX   )r3   name2r+   r3   r?  c                 (    | j                  dd      S )Nr+   Tinplacer2  r7   s    r   r9   z4test_apply_no_name_column_conflict.<locals>.<lambda>  s    AMM'4M@ r   )r   r   r   r   )r&   r   s     r   "test_apply_no_name_column_conflictrC    sE    	231b"%	

B jj&'*+GMM@Ar   c                  4   t        g dt        j                  g dd      t        j                  dd      d      } d }| j	                  dd	
      j                  |      }| ddg   }t        j                  g dd      |d<   t        j                  ||       y )N      ?rF  rF  r   r   r   r]   rJ   rF        @r   rN   vc                     | d   }||j                         z
  |j                         |j                         z
  z  | d<   | S NrI  v2minmaxr   rI  s     r   r   z#test_apply_typecast_fail.<locals>.f  9    #J1557{quuw'89dr   r   Fr   rN   rI          g      ?r   rL  )r   r   tilearanger   r   r$   r%   )r&   r   r>   r=   s       r   test_apply_typecast_failrV    s    	/!,3$	

B
 ZZZ.44Q7F3*~HWW]A.HTN&(+r   c                  n   t        j                  g dg dg      } t        g dt        j                  g dd      t        j
                  dd      d| 	      }d
 }|j                  dd      j                  |      }|ddg   }t        j                  g dd      |d<   t        j                  ||       y )N)r   r   r   r   r   r   rS   rE  r]   rJ   rF  rG  rH  r   c                     | d   }||j                         z
  |j                         |j                         z
  z  | d<   | S rK  rM  rP  s     r   r   z%test_apply_multiindex_fail.<locals>.f  rQ  r   r   Fr   rN   rI  rR  rL  )
r   r;  r   r   rT  rU  r   r   r$   r%   )r   r&   r   r>   r=   s        r   test_apply_multiindex_failrY    s    ""$68J#KLE	/!,3$	

 
B
 ZZZ.44Q7F3*~HWW]A.HTN&(+r   c                     | j                  d d      j                  d       }| dz  }t        j                  ||       y )Nc                     | j                   S r   r-  r7   s    r   r9   z#test_apply_corner.<locals>.<lambda>  s
    qvv r   Fr   c                     | dz  S r   r   r7   s    r   r9   z#test_apply_corner.<locals>.<lambda>  s    QRUVQV r   rJ   )r   r   r$   r%   )r4  r>   r=   s      r   test_apply_cornerr]    s9    __-%_@FFWF{H&(+r   c                      t        g dg dg dd      } d }d }| j                  d      j                  |      }| j                  d      j                  |      }t        j                  ||       y )N)r   r      i,  )rL   rM   rN   rN   r   )id_fieldcategoryr+   c                 j    | j                   d   dk(  r| j                         S | | j                  dk(     S Nr   r   rN   )shaperg   ra  r7   s    r   filt1z&test_apply_without_copy.<locals>.filt1+  s0    771:?668OQZZ3&''r   c                 N    | j                   d   dk(  r| S | | j                  dk(     S rc  )rd  ra  r7   s    r   filt2z&test_apply_without_copy.<locals>.filt21  s*    771:?HQZZ3&''r   r`  r   )datare  rg  r=   r>   s        r   test_apply_without_copyri    sj     ,,!	
D(( ||J'--e4H\\*%++E2F&(+r   test_seriesc                 \   t        ddgddgddggddgg d      }| rP|j                  d      d   }|j                  dd	
      j                  d       }|}t	        j
                  ||       y |j                  dd	      j                  d       }|dg   }t	        j                  ||       y )Nr8   poXY)r   rJ   rJ   r   r   r   F)levelr   c                     | S r   r   r7   s    r   r9   z<test_apply_with_duplicated_non_sorted_axis.<locals>.<lambda>D  s     r   r   c                     | S r   r   r7   s    r   r9   z<test_apply_with_duplicated_non_sorted_axis.<locals>.<lambda>H      1 r   )r   r   r   r   r$   rF   r%   )rj  r&   serr>   r=   s        r   *test_apply_with_duplicated_non_sorted_axisrv  <  s     

sc3Z#s,sCj	
B ll3$17==kJ
vx0CE288Ese9
fh/r   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   rJ   rJ   Group1Group2rJ   r   r+   r   r+   r   r3   c                     | j                  t        j                  | j                  j	                         | j                  j                         dz               S Nr   )r  r   rU  r   rN  rO  r7   s    r   reindex_helperz1test_apply_reindex_values.<locals>.reindex_helperW  s5    yy177;;=!''++-!2CDEEr   r   Fr   )r   r	   r   r+   r   r$   rF   )r  indicesr&   r=   r  r>   s         r   test_apply_reindex_valuesr  M  sr    
 FG	h1A5Gw	WBfG':HF ZZEZ288>>~NF8V,r   c                  J   d} t         j                  j                  d      j                  dd|       }t	        |t         j                  j                  d      j                  |       g d| dz  z  d      }|j                  d	d
      }d }|j                  |      }d|v sJ y )Nr   rJ   r   r   size)foobarbazquxrL   rU   )r5  value1value2r5  Fr   c                     | d   dz  | d<   | S )Nr  rJ   value3r   r   s    r   r   z"test_apply_corner_cases.<locals>.fn  s    kAo(r   r  )r   r   r   r"  r   r   r   r   )Nlabelsr&   r   r   r>   s         r   test_apply_corner_casesr  _  s     	AYY""1%..q#A.>F	ii++A.>>qA716B	

B jj5j1G ]]1Fvr   c                  :   t        ddgdgdz  ddgd      } | j                  dg      j                  d       }t        j                  | j
                        | _        | j                  dg      j                  d	       }t        j                  |d
   |d
          y )Nr   rJ   z
2017-03-02r  inf)NumberDateStrr  c                      | j                   d   S ro   r9  r7   s    r   r9   z;test_apply_numeric_coercion_when_datetime.<locals>.<lambda>  s    affQi r   c                      | j                   d   S ro   r9  r7   s    r   r9   z;test_apply_numeric_coercion_when_datetime.<locals>.<lambda>  s    AFF1I r   r  )r   r   r   r    r:   r  r$   rF   )r&   r=   r>   s      r   )test_apply_numeric_coercion_when_datetimer  v  s     
q6L>A#5uenM
B zz8*%++,?@HnnRWW%BGZZ
#))*=>F6%=(5/:r   c                  
   t        g dg dt        j                  d      gdz  d      } d }| j                  d      j	                  |      d   }| j
                  }| j                  |_        t        j                  ||       y )	N)r   r      )r  3r{   z12:31:22rK   )r   r[   Tc                 (    | j                   d   dg   S )Nr   r[   r9  r  s    r   get_Bz@test_apply_numeric_coercion_when_datetime_getitem.<locals>.get_B  s    vvay#r   r   r[   )
r   r    	Timestampr   r   r[   r   r   r$   rF   )r&   r  r>   r=   s       r   1test_apply_numeric_coercion_when_datetime_getitemr    sq    	!2",,z:R9SVW9WX
B  ZZ_""5)#.FttHTTHN68,r   c                  v   d } t        g dg dg dg dd      }|j                         }t        j                  |j                        |_        |j                  d      j                  |       j                  }|j                  d      j                  |       j                  }t        j                  ||       y )Nc                    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   dtypestep1r   r  step2r  r  )r	   r#   r   StatestrMachiner  oTime)toolr   s     r   predictionszGtest_apply_numeric_coercion_when_datetime_with_nat.<locals>.predictions  s    2&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   rg   r    r:   r  r   r   r  r$   rF   )r  df1df2r=   r>   s        r   2test_apply_numeric_coercion_when_datetime_with_natr    s     '9K2		
C ((*Csyy)CI{{5!''477H[[%%k255F8V,r   c                     t        g dt        j                  d      gdz  d      } | j                  | j                  z
  | d<   | j	                  d      j                  d       }t        g dt        j                  dd	      gdz  t        j                  d      gdz  d
      j                  d      }t        j                  ||       y )Nr   z2017-02-01 00:00:00rK   )clientidr   time_delta_zeror  c                 ~    t        | j                  j                         | j                  j                         d      S )N)clientid_ager   )r	   r  rN  r   )ddfs    r   r9   z?test_apply_aggregating_timedelta_and_datetime.<locals>.<lambda>  s/    F 00446@P@P@RS
 r   r   r  )r  r  r   )
r   r   
datetime64r   r   r   timedelta64r   r$   r%   r&   r>   r=   s      r   -test_apply_aggregating_timedelta_and_datetimer    s     
''<=>B	

B KK"++5BZZ
#))	
F
 '^^As34q8]]#89:Q>	
 i
  &(+r   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-05rp  r   )r   r  Z   )r  r  TrA  )r   r    
date_ranger   r  r   r$   r%   )rh  r&   r>   r=   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 }|j	                  dg      j                  |      }t        dd	idg
      }d|j                  _        |j	                  dg      j                  |      }t        t        j                  ddd      d	ddg
      }d|j                  _        t        j                  ||       t        j                  ||       y c c} w )Nr   r   rO   c                     t        ddi      S )NrN   rJ   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   rJ   rM   rN   )r	   r   r  s    r   func_with_datez+test_time_field_bug.<locals>.func_with_date  s    HT1a0q9::r   rL   byrN   rJ   r   r  r  )r   r   r   nowr   r   r   r3   r    r  r$   r%   )nnr&   r  r  dfg_no_conversiondfg_no_conversion_expecteddfg_conversiondfg_conversion_expecteds           r   test_time_field_bugr    s     
59!ER(,,.!EF	GB ; 

se
,223DE!*C8A3!?,/$$)ZZC5Z)//?N'll4A&Q/s *-!!&+-GH.*AB' "Fs   D
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)rL   rL   rL   rM   rM   rM   rL   rL   rL   rM   rM   rM   )rN   rN   r   r   r   erN   rN   r   r   r   r  )g?rJ   rK   rT   rU   rV   rJ   rT   rV   rR   r   rJ   )gffffff@rR   rX   r         rR   rW   rV   rU   rT   rK   )group1group2weightr+   r  r  T)rq  sortc                 T    t        j                  | |z        j                  d      }|S )NrK   )r   arrayrepeat)r+   r  r   s      r   noddyz7test_gb_apply_list_of_unequal_len_arrays.<locals>.noddy  s$    hhuv~&--a0
r   c                 >     | j                   | j                        S r   )r+   r  )r8   r  s    r   r9   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    s`    	RR<>		

B 
x*	+B8X"6TBJ 78r   c                      t        g dg dd      } d }| j                  d      j                  |      }t        dgd      }t        j                  ||       y )	NrQ   )rR   rW   rT   rU   )r   random_varsc                      y r   r   r7   s    r   	test_funcz.test_groupby_apply_all_none.<locals>.test_func  s    r   r   r  int64)r   r  r   )test_dfr  r>   r=   s       r   test_groupby_apply_all_noner    sQ     <MNG __X&,,Y7F-@H&(+r   zin_data, out_idx, out_data)r   r   r   rJ   )r   r   rJ   rK   )r   varsr  r   rK   c                     t        |       }d }|j                  d      j                  |      }t        j                  |dd g      }t        ||      }t        j                  ||       y )Nc                 J    | j                   d   dk  ry | j                  ddg   S )Nr   rJ   r>  )rd  r  r7   s    r   r  z0test_groupby_apply_none_first.<locals>.test_func1  s&    771:>vvq"gr   r   r   r   )r   r   r   r   r;  r$   r%   )in_dataout_idxout_datatest_df1r  r   index1	expected1s           r   test_groupby_apply_none_firstr    sc    " !H
 x(..y9G##GHd3CDF(&1I'9-r   c            	         t        ddgddgd      } | j                  d      }|j                  d       }t        dgdt	        j
                  ddgdggdd g	      j                  d      
      }t        j                  ||       y )Nr   r   filledempty)r+   r   r   c                 ,    | | j                   dk7     d   S )Nr   r+   )r+   r   s    r   r9   z7test_groupby_apply_return_empty_chunk.<locals>.<lambda>@  s    ekkQ.>(?(H r   r+   r   )r3   r   )	r   r   r   r	   r   from_productr  r$   rF   )r&   r   r>   r=   s       r   %test_groupby_apply_return_empty_chunkr  <  s    	aVx.AB	CBZZ F\\HIF	
%%x 1#&wo

$w-H 68,r   methr   r)  c                     t        dj                         g dg dd      }|j                  dd      } t        ||       d       }t        g d	g d
d      }t	        j
                  ||       y )Nza a brP   rT   rV   rU   r   r   Fr   c                 (    | | j                         z  S r   r  r7   s    r   r9   z-test_apply_with_mixed_types.<locals>.<lambda>Q  s    AEEG r   )gUUUUUU?gUUUUUU?r   )皙?g333333?rF  r[   r\   )r   rE   r   getattrr$   r%   )r  r&   r   r>   r=   s        r   test_apply_with_mixed_typesr
  K  sa     
yyI	JB


35
)AWQ34F4?KLH&(+r   c                  
   t        dddgit        ddg            } | j                  d      j                  d       }t	        t        dg      t        dg      gt        ddgd            }t        j                  ||       y )NrL   r   rJ   r   c                     | j                   S r   r   r  s    r   r9   z*test_func_returns_object.<locals>.<lambda>Y  s
    QWW r   r2   )r   r   r   r   r	   r$   rF   r  s      r   test_func_returns_objectr  V  so    	C!Q=q!f	6BZZ_""#45FuaSz5!:.eQF6MNH68,r   group_column_dtlikec                     t        dg| gd      }|j                  d      j                  d       }t        dgt        dgdd      dg	      }t	        j
                  ||       y )
Nr  rO   rL   c                      t        dgdg      S )Nspam*   r   r  r7   s    r   r9   z+test_apply_datetime_issue.<locals>.<lambda>j  s    VVHRD-I r   r  r  r  r3   r  rB   r   r   r   r   r$   r%   )r  r&   r>   r=   s       r   test_apply_datetime_issuer  _  sa     
%(;'<=	>BZZ_""#IJF&5%C#HSURVWH&(+r   c            
         t        t        j                  d      t        j                  d      t        j                  d      t        j                  d      t        j                  d      dddddddddddddd      } d }| j                  d      j	                  |      d	   }t        dgt        j                  d
gd      d	      }t        j                  ||       y )Nz2015-02-24 00:00:00)r   r   rJ   rK   rT   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 ro   )r	   itemsvalue_countsr   )r&   rN   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  z
2015-02-24r2   r|  )	r   r    r  r   r   r	   DatetimeIndexr$   rF   )tdfr  r>   r=   s       r   )test_apply_series_return_dataframe_groupsr"  p  s    
 << 56<< 56<< 56<< 56<< 56 $##&# 	
C4M [[%%&89(CF	B,,l^%HxH 68,r   ra  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   rJ   rU   rP   )
categoriesr[   )r$  r3   )r      r   r2   r   r%  )r\   r  r   r   )r   r[   r\   r  r   F)observedc                 "    | j                         S r   r  r7   s    r   r9   z-test_apply_multi_level_name.<locals>.<lambda>  s    QUUW r   )r    CategoricalCategoricalIndexr   r   r   rU  r   r   r   r   r   r$   r%   r   ri   )ra  rM   expected_indexexpected_valuesr=   r&   r>   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           
      P   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      }|j	                  d      j                  d       j                  }| r$t        j                  t        j                        nt        }t        t        j                  d      |t        j                  |gg d      }t        j                  ||       y )Ni  r   reddarkr}   r  greenstormyrJ   9i  bluebrightrK   r~   i  calmrT   potato)observationcolormood	intensityscorerB   r8  c                      | j                   d   S ro   r9  r  s    r   r9   z;test_groupby_apply_datetime_result_dtypes.<locals>.<lambda>  s    166!9 r   )na_valuezdatetime64[us])r7  r9  r:  r;  r   )r   from_recordsr    r  r   r   dtypesStringDtyper   r  r#   r	   r  r  r$   rF   )r;   rh  r>   r  r=   s        r   )test_groupby_apply_datetime_result_dtypesrA    s    !!\\$1%ufa=\\$1%w!SA\\$1%vxDA\\$1%vvq(C		
 GD \\'"(()<=DDF/ABNNBFF+vE	"	#UBHHe<;H 68,r   r   abc2020r  )r   freq))rL   r   )rL   r   )rM   r   c                     t        g dg dd|       }|j                  dd      j                  d       }t        j                  ||d	g          y )
Nr   r   rJ   )r   r   r   r{  r   r   Fr   c                     | S r   r   r7   s    r   r9   z8test_apply_index_has_complex_internals.<locals>.<lambda>  rt  r   r+   r   )r   r&   r>   s      r   &test_apply_index_has_complex_internalsrH    sH     
Y;5	IBZZEZ288EF&"gY-0r   zfunction, expected_valuesc                 6    | j                   j                         S r   )r   to_listr7   s    r   r9   r9     s    177??$ r   c                 H    t        | j                  j                               S r   )setr   rJ  r7   s    r   r9   r9     s    3qww() r   c                 H    t        | j                  j                               S r   )tupler   rJ  r7   s    r   r9   r9     s    5*+ r   )r   r   rJ   rK   c                 Z    t        t        | j                  j                                     S r   )dict	enumerater   rJ  r7   s    r   r9   r9     s    d9QWW__%678 r   c                 ~    t        | j                  j                               D cg c]	  \  }}||i c}}S c c}}w r   )rR  r   rJ  )r8   nis      r   r9   r9     s,    Iaggoo6G,HI&1a1vI Is   9c                     t        g ddg      }|j                  d      j                  |       }t        |t	        ddgd            }t        j                  ||       y )N)r   r   r[   r[   r   rB   r   r[   r2   r   r   r   r   r	   r   r$   rF   )functionr+  r&   r>   r=   s        r   1test_apply_function_returns_non_pandas_non_scalarrY    sS    $ 
'(	<BZZ!''1FoUC:H-MNH68,r   c                     d } t        g ddddt        j                  gd      }|j                  d      j	                  |       }t        dd	gd
gt        j                  ggt        g dd            }t        j                  ||       y )Nc                 <    | d   j                   j                         S )Nr[   )r  flattenr   s    r   fctz4test_apply_function_returns_numpy_array.<locals>.fct  s    Sz  ((**r   )rL   rL   rM   noner   rJ   rK   r  r   rF  r         @)rL   rM   r^  r2   r   )	r   r   r  r   r   r	   r   r$   rF   )r]  r&   r>   r=   s       r   'test_apply_function_returns_numpy_arrayr`    sz    + 
01a7HI	JBZZ_""3'F
scURVVH%U3EC-PH 68,r   rX  c                     | j                   S r   r   grs    r   r9   r9     s
     r   c                 &    | j                   dz   dz
  S r~  r   rb  s    r   r9   r9     s    bhhQRlUVFV r   c                    t        g ddg      }|j                  d      j                  |       }t        t	        g d      t	        g d      t	        ddg      gt	        g dd	      
      }t        j                  ||       y )N)
r   rJ   rJ   rJ   r   rJ   rK   r   rK   r   idrB   )r   rT   rW   rX   )r   rJ   rK   rU   rV   rR   rP   r2   r   rW  )rX  r&   r>   r=   s       r    test_apply_function_index_returnrg    sn     
1D6	BBZZ##H-F	|	eL15!Q=AID)H 68,r   c                      t        g dg dd      } | j                  dd      j                  d       }t        g dg d	d      }t        j                  ||       y )
Nr   )r   rJ   rT   rT   rU   rV   r   r   Fr   c                 "    | j                         S r   )r   r7   s    r   r9   zAtest_apply_function_with_indexing_return_column.<locals>.<lambda>  s     r   )r   r   rY   )r_        @rj  r   r  s      r   /test_apply_function_with_indexing_return_columnrk    s^    	@&	

B ZZZ/556HIF+#	
H &(+r   udfc                 "    | j                         S r   r   r7   s    r   r9   r9     s    qvvx r   c                 B    | j                         j                  d       S )Nc                     | dz   S r~  r   )ys    r   r9   z<lambda>.<locals>.<lambda>  s
    QU r   )rg   r  r7   s    r   r9   r9     s    1668???#C r   c                    t        ddgddgd      }|j                  d|       j                  |      }|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 )NrL   rM   r   rJ   r  r   r   )r   r   r   r[   r   r   nlevels)r   rl  r&   	df_resultseries_results        r   test_apply_result_typeru    s     
#s1a&1	2B

3:
6<<SAIDDLL*L=CCCHM&&!+++""**a///&&!+++""**a///r   c                      t        g dg dd      } | j                  dd      j                  d       }| j                  dd      j                  d       }t        j                  ||       y )	N)rJ   r   rJ   rP   r  r   Fr   c                     | S r   r   r7   s    r   r9   z4test_result_order_group_keys_false.<locals>.<lambda>.  s    q r   c                 "    | j                         S r   r   r7   s    r   r9   z4test_result_order_group_keys_false.<locals>.<lambda>/  s     r   r   r  s      r   "test_result_order_group_keys_falsery  *  s^     
3	4BZZZ.44[AFzz#%z0667IJH&(+r   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	      }|j                  d
d      j                  d       }|j                  d
d      j                  d       }t        j                  ||       y )Nz
2001-01-01rJ   z
2001-01-02z
2001-01-03UTC)tzrK   rV   )r8   rp  tr8   Fr   c                 *    | dg   j                         S Nrp  r   r   s    r   r9   z1test_apply_with_timezones_aware.<locals>.<lambda>;      "cU)..BR r   c                 *    | dg   j                         S r  r   r   s    r   r9   z1test_apply_with_timezones_aware.<locals>.<lambda><  r  r   )	r    r   r   r   r   r   r   r$   r%   )datesindex_no_tzindex_tzr  r  r   r   s          r   test_apply_with_timezones_awarer  3  s    NQ,!!33|nq6HHE""5)K%0H
$uQx.1,58+N
OC
$uQx.1,58(K
LCkk#%k0667RSGkk#%k0667RSG'7+r   c                 F   t        g dg dg dd      }t        ddgddgd	t        d
dgd            }|j                  d      }|j                  t        j
                  d      }t        j                  ||       |j                  d      }t        | |      }| dk(  r	t        }d}nd }d}t        j                  ||      5   t        ||       | }d d d        |j                  t        j
                  d      }t        j                  ||       y # 1 sw Y   AxY w)N)c   r  r  X   r  r  )r   rJ   rK   rT   rU   rV   )r   r   r  r  r  <   r]      rV      r  r  r  r  rL   r2   r   r  r   r   corrwithz'DataFrameGroupBy.corrwith is deprecatedr  match)r   r   r   r   r   r  r$   r%   r   r   assert_produces_warningr	  )	reduction_funcr&   r=   grpr>   argswarnmsg_s	            r   ;test_apply_is_unchanged_when_other_methods_are_called_firstr  A  s    
)#)	

B 1gS"I&RH3'H ***
CYYrvvAY&F&(+ ***
C">26D#7		#	#D	4 0(GC($/0YYrvvAY&F&(+0 0s   DD 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      }|j	                  d       }| j
                  g d   }|j                         }t        j                  |g d         |_	        |j                  g d      }t        j                  ||       |j                  j                  d   D ]  }t        |      t        u rJ  y )N)rL   rL   rL   rM   i  r   r   rJ   r   r   )r   e   f   g   idxr2   r   r   r[   c                 $    | j                  d      S r~  r   r7   s    r   r9   zRtest_apply_with_date_in_multiindex_does_not_convert_to_timestamp.<locals>.<lambda>w  s     r   )r   rJ   rK   )r   r[   r  rB   )r   r   r   r   r   r  r   r   
from_framer   r  r$   r%   levelstype)r&   r  r>   r=   vals        r   @test_apply_with_date_in_multiindex_does_not_convert_to_timestampr  e  s    
%T1b!T1b!T1b!T1b!	 		
 (u5
B **c3Z
 CYY*+Fwwy!H##%H**84E+FGHN}}%6}7H&(+||""1% !CyD   !r   c                 F   t        g ddt        j                  t        j                  ddgdt        d            }|j	                  d| d	      j                  d
       }| r|j                         dg   n|dg   j                  g d   }t        j                  ||       y )Nr   rJ   rK   rT   rU   rL   rM   )colr   xxyxzr   r   F)dropnar   c                     | S r   r   r7   s    r   r9   z5test_apply_dropna_with_indexed_same.<locals>.<lambda>  s    RS r   r  )r   rK   r   rJ   rT   )
r   r   r  r   r   r   r  r  r$   r%   )r  r&   r>   r=   s       r   #test_apply_dropna_with_indexed_samer    s     
"26626634	
 7m
B ZZ5ZAGGTF'-ryy{E7#2ug;3C3CO3TH&(+r   zas_index, expected)r   r   r   )rJ   rJ   r   )rL   rM   Nr  r   r   )rJ   rJ   rM   r   r   c                     t        g dg dg dd      }|j                  ddg|       j                  d       }t        j                  ||       y )Nrx  )r   r   r   r   r]   rL   rM   r   c                      yr~  r   r7   s    r   r9   z5test_apply_as_index_constant_lambda.<locals>.<lambda>  s    r   )r   r   r   r$   assert_equal)r   r=   r&   r>   s       r   #test_apply_as_index_constant_lambdar    sD    & 
L|L	MBZZc
XZ6<<[IFOOFH%r   c                     t        g dg dg ddt        d            } | j                  d      j                  d       }t	        t        d	d
      t        j                  g ddd g      d      }t        j                  ||       y )Nr  )rV   rW   rR   rX   r   )r   r   r   rJ   rJ   r   rU   r   r\   c                 6    | j                   j                         S r   )r   
sort_indexr7   s    r   r9   z(test_sort_index_groups.<locals>.<lambda>  s    QSS^^-= r   r   rV   )r   r  r   rO  )rJ   rT   r   r   r|  )	r   r   r   r   r	   r   r   r$   rF   r  s      r   test_sort_index_groupsr    sy    	O/JAh
B ZZ_""#=>Fa$$4S$K
 H 68,r   c                  B   t        t        j                  ddd      t        d      t	        d      d      } | j                  | j                  | j                  j                  j                  gd      j                  d	       }t        j                  || d
dg          y )Nz
2010-01-0112hrU   )rD  r   r   )r   valsletFr   c                      | j                   dd  S ro   r9  r7   s    r   r9   z;test_positional_slice_groups_datetimelike.<locals>.<lambda>  s    affQRj r   r   r  )r   r    r  r   r   r   r  r   dtr   r$   r%   )r=   r>   s     r   )test_positional_slice_groups_datetimeliker    s    MM,UAF!H=	
H 	x}}'',,-%  e !  &(FF+;"<=r   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)rL   rL   rM   rP   r  r   r   r[   r\   c                 j    | j                  t              j                         | j                         z
  S r   )r"   floatrO  rN  r7   s    r   r9   z7test_groupby_apply_shape_cache_safety.<locals>.<lambda>  s"    AHHUO,?,?,AAEEG,K r   rF  rS  r   r  rL   rM   r2   r   r  )r&   r   r>   r=   s       r   %test_groupby_apply_shape_cache_safetyr    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)rL   rM   rL   rM   )aaacr  ad)r  r  r  r  )rL   b1b2rL   r  r  c                 >    | j                         j                         S r   )unstackr  r7   s    r   r9   z3test_groupby_apply_to_series_name.<locals>.<lambda>  s    !9!9!; r   )rL   rL   rM   rM   rM   )r  r  r  r  r  )arraysri   )rK   r   rJ   r   r   r   r|  )	r   	from_dictr   r   r   r;  r	   r$   rF   )r&   r  r>   expected_idxr=   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|       }|j	                  d       }|j	                  d	       }t        j                  ||       y )
Nrx  )r   r   rJ   rU   r   rJ   )r  rp  zr  )r  c                 &    | j                  dd      S )Nr   r  )nlargest)grp_dfs    r   r9   ztest_apply_na.<locals>.<lambda>  s    3(? r   c                 F    | j                  dd      j                  d      S )Nr  F)	ascendingr   )r  r   r7   s    r   r9   ztest_apply_na.<locals>.<lambda>  s    Q]]3%]%H%M%Ma%P r   )r   r   r  r   r   r$   r%   )r  r&   dfgrpr>   r=   s        r   test_apply_nar    si    	<q!RVVRVV6LM
B JJuVJ,E[[?@F{{PQH&(+r   c            	      r   t        g dg dt        j                  g dd      d      j                  ddg      j	                  d	       } t        t        j                  d
d      gt        j                  dd      ggdgt        j                  ddgddg            }t        j                  | |       y )Nrx  )r  r  r  r  r   r  )unitr]   rL   rM   c                      | j                   d   S Nr>  r9  r   s    r   r9   z8test_apply_empty_string_nan_coerce_bug.<locals>.<lambda>   s    "''"+ r   rJ   rT   rN   )r   r  )rJ   r  r   rp  )	r   r    r:   r   r   r   r   r$   r%   )r>   r=   s     r   &test_apply_empty_string_nan_coerce_bugr    s     	!%^^Ls;	
 
#s		%	&  
..
%	&)D(EF$$gw%7SzJH
 &(+r   index_values)rF  r   r_  c                     t        g dg ddt        |             }t        dg dit        g dd	            }|j                  d      j                  d
       }t	        j
                  ||       y )N)r  a2a3rP   rO   r   b_mean)r   r_  rF  )r  r  r  rL   r2   c                 B    t        | d   j                         gdg      S )NrM   r  r   )r	   r   r   s    r   r9   z0test_apply_index_key_error_bug.<locals>.<lambda>  s    62c7<<>*8*= r   )r   r   r   r   r$   r%   )r  r>   r=   s      r   test_apply_index_key_error_bugr  
  sv     #	
 L!F o	
 &S1	H ^^C &&=F &(+r   zarg,idx)皙?333333?皙?)r  r  r  )r   rT   rK   )r  r  r  c                     t        | | d|      }|j                  dd      j                  d       }|dg   }t        j                  ||       y )N)r  r  r   r  Fr   c                     | S r   r   r7   s    r   r9   z5test_apply_nonmonotonic_float_index.<locals>.<lambda>L  s     r   r  r   )argr  r&   r>   r=   s        r   #test_apply_nonmonotonic_float_indexr     sN    V 
3s+3	7BZZ%Z066{CF5'{H&(+r   zargs, kwargsnumeric_onlyc                     | j                  d      } |j                  dg|i |}|j                  d      }t        j                  ||       y )Nr   r  T)r  )r   r   r  r$   r%   )r&   r  kwargsr   r>   r=   s         r   test_apply_str_with_argsr  Q  sK     
CBRXXe-d-f-Fvv4v(H&(+r   r3   	some_namec                     t        ddg|       }|j                  ddgd      j                  d       }t        ddg|       }t        j                  ||       y )Nr   rJ   r2   rL   Fr   c                     | S r   r   r7   s    r   r9   z1test_result_name_when_one_group.<locals>.<lambda>^  s    q r   )r	   r   r   r$   rF   )r3   ru  r>   r=   s       r   test_result_name_when_one_groupr  Z  sU     !Qd
#C[[#s[6<<[IFq!f4(H68,r   z
method, opc                      | j                   d   S r  )r  r   s    r   r9   r9   g  s    RYYr] r   c                 &    | d   j                   d   S )NrM   r   r9  r  s    r   r9   r9   h  s    RW\\!_ r   )aggskew)r  kurt)r  prod)r  r  c           
          t        g g d      }|j                  dd      }|j                  } t        ||       |      }t	        g ddt        g dd            }t        j                  ||       y )	NrO   rL   Tr   rM   float64r  )r3   r  r   )r   r   rM   r	  r	   r   r$   rF   )methodopempty_dfr   r   r>   r=   s          r   test_empty_dfr  d  sr     r+,H			#$		/BDDE#WUF#B'F
IU2YS-QH 68,r   c                      t        g dg dd      } | j                  d      }t        j                  t        d      5  |j                  d d	       d d d        y # 1 sw Y   y xY w)
NrF  rK   rT   rU   rO   rL   z(include_groups=True is no longer allowedr  c                 "    | j                         S r   r  r7   s    r   r9   z%test_include_groups.<locals>.<lambda>  s    1557 r   T)include_groups)r   r   pytestraises
ValueErrorr   )r&   r   s     r   test_include_groupsr  }  sS    	3	4B	CB	z)S	T 9
"489 9 9s   AA&zfunc, valuec                     t        g dg dg dd      }|j                  d      }|j                  |       }t        ||gt	        ddgd            }t        j                  ||       y )	NrF  r  )r   r   rJ   r   r   rJ   r2   r   rW  )rv   r+   r&   r   r>   r=   s         r   test_builtins_applyr    sZ     
yY9=	>B	ABXXd^FuenE1a&q,ABH68,r   c                     t        g dt        t        j                  d      d      t	        j
                  dd      d      } d }| j                  d	      j                         d
g   }| j                  d	      j                  |      d
g   }t        j                  ||       d }| j                  d	      j                  |      d
g   }|j                         }t        j                  |j                  d<   t        j                  ||       d }| j                  d	      j                  |      d
g   }|j                         }t        j                  |j                  d<   t        j                  ||       d }| j                  d	      j                  |      dg   }| j                  d	      j                         dg   }t        j                  |j                  d<   t        j                  ||       d }| j                  d	      j                  |      }| j                  d	      j                         d   j                         }t        j                  |j                  d<   d |_        t        j                   ||       y )N)Tigerr  r  Lambr  Ponyr  rW   r  r  20130101r   r   c                      | j                   d   S ro   r9  r  s    r   f_0z*test_inconsistent_return_type.<locals>.f_0  s    xx{r   r   r[   c                 @    | j                   dk(  ry | j                  d   S )Nr  r   r3   r  r  s    r   f_1z*test_inconsistent_return_type.<locals>.f_1  s    88wxx{r   r  c                 @    | j                   dk(  ry | j                  d   S Nr  r   r  r  s    r   f_2z*test_inconsistent_return_type.<locals>.f_2      88vxx{r   r  c                 @    | j                   dk(  ry | j                  d   S r  r  r  s    r   f_3z*test_inconsistent_return_type.<locals>.f_3  r  r   r\   c                 Z    | j                   dk(  ry | j                  d   j                  d   S )Nr  r   r\   )r3   r  r3  r  s    r   f_4z*test_inconsistent_return_type.<locals>.f_4  s(    88vxx{s##r   )r   r	   r   rU  r    r  r   firstr   r$   r%   rg   r  r3  NaTr3   rF   )	r&   r  r=   r>   r  r  r  r  r  s	            r   test_inconsistent_return_typer    s    
L		!G4z15	

B zz#$$&u-HZZ_""3'.F&(+
 ZZ_""3'.FAVVAEE'N&!$
 ZZ_""3'.FAFFAEE&M&!$
 ZZ_""3'.F


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


3$))+AFFAEE&MAF61%r   c                     t        dgdz  dgdz  z   dgdz  dgdz  z   dgdz  z   d	gdz  z   dgdz  z   dgdz  z   dgdz  z   t        j                  j                  d      j	                  d
d      d      } d }t        t        d      t        d      g dd      j                  ddg      d   }| j                  d      j                  |      }t        j                  ||       y )NrL   rR   rM   rV   rN   rJ   r   r  r   r      r  )cat1cat2r  c                     | j                         } | j                  j                  d      | d<   | j                  d      d   j	                         S )NrN  )r  rankr  )rg   r  r   r   rN  r7   s    r   r   z(test_nonreducer_nonstransform.<locals>.f  sB    FFHEEJJeJ,&	yy (,,..r   aaaabbbcdefcde)r_  r   g      @rF  r   rj  rF  )r  r  r   r  r  r   )r   r   r   r   r"  r   r   r   r   r$   rF   )r&   r   r=   r>   s       r   test_nonreducer_nonstransformr#    s    
EAI	)EAIeaieai eai eai	
 eai eai 99((+44Sr4B
	

B/
 OO7	
 i !&*H ZZ%%a(F68,r   c                     t         j                  j                  d      } t        | j	                  ddd      g dd      }i fd	}|j                  d
      j                  |       |j                  ddgdgf   }|j                  ddgdgf   }t        j                  d   |       t        j                  d   |       y )Nr  )seedr   r  )rT   r  )r   rJ   r   rJ   r  c                 >    | j                         t              <   y r   )rg   r   )r8   r   s    r   addstorez/test_groupby_apply_store_copy.<locals>.addstore  s    FFHc%jr   r[   r   rJ   r   rK   )
r   r   r   r   normalr   r   r  r$   r%   )rngr&   r'  expected_out_0expected_out_1r   s        @r   test_groupby_apply_store_copyr,    s    
))

R

(C	B.	

B E% JJsO(#WWaVaS[)NWWaVaS[)N%(N3%(N3r   )jr   r   numpyr   r  pandas.errorsr   pandasr    r   r   r   r	   r
   pandas._testing_testingr$   pandas.tests.groupbyr   r(   r?   rI   markparametrizer   r   rw   r   r   r   r   r   r   r   r   r  r	  r  r  r  r$  r*  r6  r<  rC  rV  rY  r]  ri  rv  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  todayrA   r  r"  r,  rA  r)  interval_rangeperiod_ranger   rH  rY  r`  rg  rk  ru  ry  r  r  r  r  r#   r  r  r  r  r  r  r  r  r  r  r  r  r  rO  rN  r  r  r  r#  r,  r   r   r   <module>r8     sg  
   (    85 %,P#-L 	/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!$	)  <)$=<)$X.,$:  
$#	22,(%,P$ 3F2&0
@@,-9 e}5, 6,B,,,.,,: u60 70 -$.; --4,6,"C894
,   $\:VaVaV	
 $\:VaVaV	
..- ';!78, 9,- X^^~x~~',,.0@0E0E0GH
,	
,#-L eT]3( 4(,-( DK(!Q4
=>	11 	$1v1v&67	)QFQF+;<	+ff-=>8q\qQ<(	

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