
    A>ie                     	   S SK rS SKrS SKrS SKJrJrJrJrJ	r	J
r
  S SKJr  S r\R                  R!                  SSS/5      S 5       r\R                  R!                  SS S	/5      S
 5       r\R                  R!                  SSS/5      S 5       r\R                  R!                  SSS/5      \R                  R!                  S\" SSS\R(                  /S.5      \" SS/0\" S/SS9S94\" S\R(                  /S.\S9\" SS/0\" S/SS9S94/5      S 5       5       rS rS rS rS rS rS rS rS rS rS r S  r!\R                  R!                  S!S"/\	" S#S$S%9S&/S'.S"/\	" S#S$S%9S&/S'.S"/\	" S#S$S%9S&/S'.4/ S(Q\	" S)S*S%9\	" S#S$S%9\	" S+S,S%9// S-QS'.S"S./\	" S)S*S%9\	" S#S$S%9/S&S//S'.S"S./\	" S+S,S%9\	" S#S$S%9/S0S//S'.4/5      S1 5       r"\R                  R!                  S2S\	" S3S4S%9S/S\	" S5S4S%9S6//5      S7 5       r#\R                  R!                  S8\RH                  " S9S:/S;S9\RH                  " S&S//S<S9\RJ                  " S=S>/5      \RL                  " S&S//S?S@9/5      \R                  R!                  SA/ SBQ5      SC 5       5       r'SD r(\R                  R!                  SESFS	S /4SFS / 4SFS&S S//4SFSG/ SHQ4SIS	S&/4SIS / 4SIS&S&S//4SISG/ SHQ4/5      \R                  R!                  SJS/ S"/S./S"S.//5      SK 5       5       r)SL r*SM r+SN r,\R                  R!                  SO/ SPQ5      SQ 5       r-\R                  R!                  SO/ SPQ5      SR 5       r.SS r/ST r0\R                  R!                  S/ SUQ5      SV 5       r1\R                  R!                  SW\2" SS0S/5      / SXQ/\2" SSY5      / SZQ/\2" SS/5      \2" SYS5      // S[Q/S S&\2" SYS5      // S[Q//5      S\ 5       r3S] r4S^ r5S_ r6S` r7Sa r8\R                  Rs                  Sb5      Sc 5       r:Sd r;\R                  R!                  SeS6S6/S6Sf/45      \R                  R!                  SO/ SgQ5      Sh 5       5       r<\R                  R!                  Si\	" Sj5      \	" Sk5      4Sl/5      Sm 5       r=g)n    N)	DataFrameIndex
MultiIndexSeries	Timestampisnac                 "   U R                  S5      nUR                  5       nU R                  SS// SQ4   n[        SS/SS9Ul        UR                  5       n[        R                  " X#5        UR                  S5      nU R                  SS/   n[        R                  " XC5        UR                  5       nU R                  SS	// SQ4   n[        SS/SS9Ul        [        R                  " XS5        UR                  S
5      nU R                  SS	/   n[        R                  " XC5        UR                  S5      nU R                  SS/   n[        R                  " XC5        US   R                  5         US   R                  5         US   R                  S5        U R                  5       n [        R                  U R                  U S   S:H  S4'   U R                  S5      n[        US   R                  5       S   5      (       d   e[        US   R                  5       S   5      (       d   e[        US   R                  S5      R                  S   5      (       d   e[        S[        R                  /SS/SS//SS/S9n U R                  S5      nUR                  5       nU R                  SS/   R!                  S5      n[        R                  " Xs5        U R                  SS/   nUR                  SSS9n[        R                  " Xs5        g )NA   r   )BCDbarfooname            r         columnsanydropna)groupbyfirstlocr   index
sort_indextmassert_frame_equalnthlastiloccopynpnanr   r   	set_index)dfgroupedr    expectedr&   r'   gresults           d/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/groupby/methods/test_nth.pytest_first_last_nthr3      s   jjoGMMOEvvq!fo-.HE5>4HN""$H%*
++a.Cvvq!f~H#(<<>Dvvq!fo-.HE5>4HN$)
++b/Cww1vH#(
++a.Cww1vH#( CLCLCLQ	B$&FFBFF2c7eS !jjoG""$U+,,,,!!#E*++++  #((+,,,, 
QK!Q!Q03*	EB


3AWWYFww1v((-H&+ww1vHUU1UU#F&+    methodr    r'   c                 &   [        / SQSSSU/S.5      R                  S5      n[        X 5      " 5       nU S:X  a  SS/nOSS/n[        R                  " XCS   R
                  S	9n[        SS/SS
9n[        SU0US9n[        R                  " X65        g )Nr   r   r   r   r   r   r   abr9   r    r:   dtyper   r"   )	r   r   getattrr*   arrayr<   r   r$   r%   )r5   nulls_fixturegroupsr1   valuesidxr/   s          r2   test_first_last_with_na_objectrD   B   s     \Aq-0HIJRRSVWFV$&FQQXXf3K$5$56F
AS
!C#vc2H&+r4   r"   r   c                     [        / SQSSSU/S.5      nUR                  S5      nUR                  U 5      nU S:X  a  UR                  SS/   OUR                  SS/   n[        R
                  " XE5        g )Nr7   r   r   r   r8   r9   r   r   r   r&   r(   r$   r%   )r"   r@   r-   rA   r1   r/   s         r2   test_nth_with_na_objectrG   T   sj     
Q1m,DE	FBZZ_FZZF"'1*rww1v"''1a&/H&+r4   c                     [         R                  " S/S /S.5      nUR                  SSS9n[        X 5      " 5       n[        R
                  " X15        g )Nr9   idvaluerJ   Fas_index)r   	from_dictr   r>   r$   r%   )r5   r-   rA   r1   s       r2   test_first_last_with_NonerO   ^   sJ     
		SETF;	<BZZuZ-FV$&F&%r4   zdf, expectedr9   r   rI   rK   rJ   r   r=   r;   c                 p    [        UR                  S5      U 5      " 5       n[        R                  " X25        g )NrJ   )r>   r   r$   r%   )r5   r-   r/   r1   s       r2   "test_first_last_with_None_expandedrQ   i   s*      RZZ%v.0F&+r4   c            
         [        / SQ/ SQ[        R                  R                  S5      R	                  S5      [        R
                  " [        R                  R                  S5      R	                  S5      SS9S.5      n SU S	'   S
U S'   U R                  S5      nUR                  5       nU R                  S
S// SQ4   n[        SS/SS9Ul
        UR                  5       n[        R                  " X#5        UR                  5       nU R                  SS// SQ4   n[        SS/SS9Ul
        UR                  5       n[        R                  " XC5        UR                  S
5      nU R                   SS/   n[        R                  " XS5        g )N)r   r   r   r   r   r   r   r   )onerS   twothreerT   rT   rS   rU   r      float32r;   r
   r   r   r   TEr   Fr
   r   )r   r   r   rY   rZ   r   r   r   r   r   r   )r   r*   randomdefault_rngstandard_normalr?   r   r    r!   r   r"   r#   r$   r%   r'   r&   r(   )r-   r.   r    r/   r'   r&   s         r2   test_first_last_nth_dtypesr^   }   sM   	IM&&q)99!<"))//2BB1EYW		

B BsGBsG jjoGMMOEvvq!f778HE5>4HN""$H%*<<>Dvvq!f778HE5>4HN""$H$)
++a.Cww1vH#(r4   c                      [        [        S5      5      n U R                  S5        [        [        S5      U SS9nUR                  S:X  d   eUR                  SS9R                  5       nUR                  S:X  d   eg )	N
   	      IntCol)datar"   r   int64r   level)listrangeappendr   r<   r   r    )rC   serfs      r2   test_first_last_nth_dtypes2rm      si    
uRy/CJJqM
eBis
:C99!""$A77gr4   c                  (   [        S/[        S /[        S9S.5      n U R                  S5      nU R	                  S5      R
                  n[        R                  " UR
                  R                  5       U5        [        R                  " UR
                  R                  5       U5        U R
                  n[        R                  " UR
                  R                  S5      U5        [        R                  " UR
                  R                  S5      U5        g )Nr
   r;   )rd   nansrd   r   r   )r   r   objectr   r,   ro   r$   assert_series_equalr    r'   r&   )r-   r.   r/   s      r2   test_first_last_nth_nan_dtyperr      s    	SE64&+GH	IBjj G||F#((H7<<--/:7<<,,.9wwH7<<++B/:7<<++A.9r4   c                  2   [        [        S5      SS/[        S5      SS/SSS/S	S
S/05      n U R                  S5      R                  5       n[        / SQ/[	        [        S5      [        S5      S	/5      [	        S/SS9S9n[
        R                  " X5        g )Nz2012-01-01 00:00:00r9   r:   z2012-01-02 00:00:00cdr   eaaaarl   r0   )r9   rt   rl   z
2012-01-01z
2012-01-02r   r   r"   )r   r   r   r    r   r$   r%   )testr1   r/   s      r2   test_first_strings_timestampsrz      s    +,sCj+,sCjS#JS#J		
D \\&!'')F	y.	,0GPQSE'H
 &+r4   c                     [        S[        R                  /SS/SS//SS/S9n U R                  S5      n[        R
                  " UR                  S5      U R                  SS	/   5        [        R
                  " UR                  S5      U R                  S/   5        [        R
                  " UR                  S	5      U R                  /    5        [        R
                  " UR                  S
5      U R                  SS	/   5        [        R
                  " UR                  S5      U R                  S/   5        [        R
                  " UR                  S5      U R                  /    5        [        R                  " UR                  R                  S5      U R                  R                  SS	/   5        [        R                  " UR                  R                  S5      U R                  R                  S/   5        [        R
                  " US/   R                  S5      U S/   R                  SS	/   5        [        R
                  " UR                  SSS9U R                  SS	/   5        [        R
                  " UR                  S
SS9U R                  SS	/   5        [        R
                  " UR                  SSS9U R                  S S 5        [        R
                  " UR                  S	SS9U R                  S S 5        g )Nr   r   r   r   r
   r   r   r   r   r   r   r   r   )r   r*   r+   r   r$   r%   r&   r(   r!   rq   r   r-   gbs     r2   test_nthr      s+   	QK!Q!Q03*	EB	CB"&&)RWWaV_5"&&)RWWaS\2"&&)RVVBZ0"&&*bggq!fo6"&&*bggqcl3"&&*bffRj124488A;		1a&(9:24488A;		1#7"cU)--*BuINNAq6,BC"&&5&1277Aq6?C"&&E&2BGGQFOD"&&5&12772A;?"&&5&12772A;?r4   c                     [        SSSSSS.SSSSSS.SSS	S
SS.SSSSSS.S.5      R                  SS/5      n U R                  SSS9R                  S5      nU R                  S/   n[
        R                  " X5        U R                  SSS9R                  S5      nU R                  /    n[
        R                  " X5        g )Ngreenredr   r   r   r   r   hameggsporkgI|?goB!gHk:!4gn2d?gC8fٓ?gW?gV,gN'r?gGĔH"g(	?)colorfoodrT   rS   r   r   r   F)rg   rM   r   r   r   )r   r,   r   r&   r(   r$   r%   r!   r-   r1   r/   s      r2   	test_nth2r      s     
 W5UK&V&I%(&&& '&'&	

& i&!"' * ZZa%Z044Q7Fwwt}H&+ZZa%Z044Q7FvvbzH&+r4   c                     [        [        R                  R                  S5      R	                  SSS5      SS9n U S   nU S   nUR                  U5      R                  5       nUR                  U5      R                  S 5      n[        R                  " XCS	S
9  UR                  S:X  d   eUR                  S:X  d   eXS:H     R                  S   nUR                  S   U:X  d   eUR                  S   U:X  d   e[        R                  " [        SS9   UR                  US	S9R                  SSS9  S S S 5        g ! , (       d  f       g = f)Nr   r   r`   )d   r   re   r;   r   c                      U R                   S   $ )Nr   )r(   )xs    r2   <lambda>test_nth3.<locals>.<lambda>  s    q	r4   F)check_nameszFor a DataFramematch)sortTr   )r   r*   r[   r\   integersr   r    applyr$   rq   r   r(   pytestraises
ValueErrorr&   )r-   rk   r   r/   	expected2vs         r2   	test_nth3r      s$    
299((+44QHEW	UB
Q%C	AB{{2$$&HB%%&9:I9EB==A>>Q 	!G!A==q   >>!!!!	z):	;BU#''$'7 
<	;	;s   D;;
E	c                     [        S[        R                  /SS/SS//SS/S9n U R                  S5      nUR                  R                  SS	S
9nU R                  R                  SS/   n[        R                  " X#5        g )Nr   r   r   r   r
   r   r   r   allr   r   )	r   r*   r+   r   r   r&   r(   r$   rq   )r-   r   r1   r/   s       r2   	test_nth4r     sp    	QK!Q!Q03*	EB	CBTTXXaX&Fttyy!Q H6,r4   c                     [        S[        R                  /SS/SS/SS/SS//SS/S	9n U R                  S5      n[        R
                  " UR                  S
5      U R                  S
S/   5        [        R
                  " UR                  S
/5      U R                  S
S/   5        [        R
                  " UR                  S
S/5      U R                  / SQ   5        [        R
                  " UR                  S
S/5      U R                  / SQ   5        [        R
                  " UR                  / SQ5      U R                  / SQ   5        [        R
                  " UR                  / SQ5      U R                  / SQ   5        [        R
                  " UR                  S/5      U R                  S/   5        [        R
                  " UR                  SS/5      U R                  /    5        g )Nr   r   r   r   r   r   r
   r   r   r   )r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r   )	r   r*   r+   r   r$   r%   r&   r(   r!   r~   s     r2   	test_nth5r     sc   	QK!Q!Q!Q!Q@3PS*	UB	CB"&&)RWWaV_5"&&!+rww1v7"&&!Q."'',*?@"&&!R/277<+@A"&&+RWW_-EF"&&,bggo.FG"&&!+rwws|4"&&!Q."&&*5r4   c                 z   [         R                  " SSSU S9n[        SUSS/S9nUR                  R                  UR                  R
                  /nUR                  US	S
9R                  / SQ5      n[         R                  " / SQ5      R                  U 5      n[        SSS/US9n[        R                  " XF5        g )Nz4/1/2014z	6/30/2014r   )startendfrequnitr   r9   r:   r"   r   FrL   )r   r   r|   r   )z2014/4/1z2014/4/4z	2014/4/29z	2014/4/30z2014/5/1z2014/5/6z	2014/5/29z	2014/5/30z2014/6/2z2014/6/5z	2014/6/27z	2014/6/30rx   )pd
date_ranger   r"   yearmonthr   r&   to_datetimeas_unitr$   r%   )r   business_datesr-   keyr1   expected_datesr/   s          r2   test_nth_bdaysr   *  s    ]]k$N 
1NS#J	?B88=="((..
)CZZeZ,00@F^^	
 gdm   S#JnEH&+r4   c                     U R                  SS/5      nUR                  S5      nU R                  / SQ   n[        R                  " X#5        g )Nr
   r   r   r   r   r   r   )r   r&   r(   r$   r%   three_groupr.   r1   r/   s       r2   test_nth_multi_grouperr   F  sC     !!3*-G[[^F-H&+r4   z#data, expected_first, expected_lastr
   z2012-02-01 14:00:00z
US/Centraltzr   rJ   timer   )r
   r   r
   z2012-01-01 13:00:00zAmerica/New_Yorkz2012-03-01 12:00:00zEurope/London)r   r   r   r   r   r   c                 *   [        U 5      nUR                  SSS9R                  5       n[        U5      n/ SQn[        R                  " XF   XV   5        UR                  SSS9S   R                  5       n[        R                  " XESS/   5        UR                  SSS9R                  5       n[        U5      n/ SQn[        R                  " XF   XV   5        UR                  SSS9S   R                  5       n[        R                  " XESS/   5        g )NrJ   FrL   r   r   )r   r   r    r$   r%   r'   )rd   expected_firstexpected_lastr-   r1   r/   colss          r2   test_first_last_tzr   O  s    l 
4BZZuZ-335F(H D&,7ZZuZ-f5;;=F&D&>":;ZZuZ-224F'H D&,7ZZuZ-f5::<F&D&>":;r4   zmethod, ts, alphaz
2013-01-01
US/Easternz
2013-01-02r:   c           	         [        [        S5      5      R                  S5      n[        R                  " SSSUS9n[        / SQUUS.5      n[        UR                  S	5      U 5      " 5       n[        [        R                  " US
/UR                  S9U[        SSS9/S.[        SS/S	S9S9nUS   R                  R                  U5      US'   [        R                  " Xx5        g )Nabccategory20130101r   r   )periodsr   r   r   r   r   )groupcategory_string
datetimetzr   rt   r;   z
2013-01-03r   )r   r   r   r   r   r=   r   )r   rh   astyper   r   r   r>   r   Categoricalr<   r   r   dtr   r$   r%   )	r5   tsalphar   r   dtir-   r1   r/   s	            r2   test_first_last_tz_multi_columnr     s     T%[)00<O
--
A,T
JC	.	

B RZZ(&13F!~~O$9$9  y,GH		
 QF)H &l366>>tDH\&+r4   rB   TFbooleanInt64z
2020-01-01z
2020-02-01r   )r   function)r    r'   minmaxc                 2   [        SS/U S.5      nUR                  S5      n[        SS/SS9n[        U SUS9n[        SU 0US9n[	        US   U5      " 5       n[
        R                  " Xu5        UR                  SU05      n[
        R                  " X5        g )	Nr   r   r8   r9   r   r:   )r   r"   r=   )	r   r   r   r   r>   r$   rq   aggr%   )	rB   r   r-   r.   rC   expected_seriesexpected_frameresult_seriesresult_frames	            r2   +test_first_last_extension_array_keeps_dtyper     s     
!Qf-	.BjjoG
AS
!CV#S9OV}C8NGCL(35M=:;;X/L,7r4   c                      [        / SQ/ SQ/ SQS.5      n U R                  SS/5      nUR                  S5      nU R                  / SQ   n[        R
                  " X#5        g )	N)r   r   r   r   r   r   r   r   r   r   r   )rS   rS   rS   rT   rS   rS   rS   rT   rT   rT   rS   )dullr   shinyr   r   r   r   r   r   r   r   )r
   r   r   r
   r   r   r   rF   r   s       r2    test_nth_multi_index_as_expectedr     sd     7(	
*KV !!3*-G[[^F-H&+r4   zop, n, expected_rowsheadr   r   tailr   c                     [        SS/SS/SS//SS/S9nUR                  SUS	9nUR                  U   nUb  Xc   nXs   n[        X`5      " U5      n[        R
                  " X5        g )
Nr   r   r   r   r   r
   r   r   rL   )r   r   r(   r>   r$   r%   )	opnexpected_rowsr   rM   r-   r0   r/   r1   s	            r2   test_groupby_head_tailr     sx     
QFQFQF+c3Z	@B


3
*Aww}%HJ$Q^AF&+r4   c                  8   [        SS/SS/SS//SS/S9n U R                  S	S/   nU R                  S5      nUR                  SS
9nUR	                  S	5      n[
        R                  " X05        [
        R                  " XA5        U R                  S5      nUR                  SS
9nUR	                  S	5      n[
        R                  " X05        [
        R                  " XA5        U R                  S5      nUR	                  S	5      nUR                  SS
9n[
        R                  " X15        [
        R                  " X@5        U R                  S5      nUR	                  S	5      nUR                  SS
9n[
        R                  " X15        [
        R                  " X@5        g )Nr   r   r   r   r   r
   r   r   r   r   )r   r(   r   r   r&   r$   r%   r   )r-   r/   r0   result1result2s        r2   test_group_selection_cacher     sJ   	QFQFQF+c3Z	@Bww1vH


3AffqfkGeeAhG'&',


3AffqfkGeeAhG'&',


3AeeAhGffqfkG','&


3AeeAhGffqfkG','&r4   c                  6   [        S// SQS9n U R                  S5      R                  S5      nU R                  S S n[        R
                  " X5        U R                  SS/5      R                  S5      nU R                  S S n[        R
                  " X5        g )Nr   r9   r:   rt   r   r9   r`   r:   rF   r   s      r2   test_nth_emptyr   =  s    	!o	6BZZ_  $Fwwr{H&+ZZc
#''+Fwwr{H&+r4   c                  r   [        / SQ/ SQSS[        R                  // SQ/ SQ// SQS9n U R                  S	5      R	                  S
5      nU R
                  S
S/   n[        R                  " X5        U R                  S	5      R	                  SSS9nU R
                  SS/   n[        R                  " X5        g )N)r   r:   r   )r   r9   2   r   r9   )r   rt      )r   ru      )r
   r   r   r   r
   r   r   r   r   r   r   r   r*   r+   r   r&   r(   r$   r%   r   s      r2   test_nth_column_orderr   I  s     
	q#rvv&6}U
B ZZ_  #Fww1vH&+ZZ_  E 2Fww1vH&+r4   r   )Nr   r   c                    [        [        R                  S[        R                  S[        R                  // SQ/ SQS.5      nUR                  S5      R	                  SU S9nUR
                  SS	/   n[        R                  " X#5        g )
Nr9   r:   r   r   r   r   rV   )r   r   r   r   ra   r   r   r   r   r   r   r   r-   r1   r/   s       r2   test_nth_nan_in_grouperr   Y  sq     
&&#rvvsBFF3  	

B ZZ_  6 2Fww1vH&+r4   c                    [        [        R                  S[        R                  S[        R                  // SQS.5      nUR                  S5      S   R	                  SU S9nUS   R
                  SS/   n[        R                  " X#5        g )	Nr9   r:   r   r8   r   r   r   r   )r   r*   r+   r   r&   r(   r$   rq   r   s       r2   test_nth_nan_in_grouper_seriesr   i  sx     
&&#rvvsBFF3 	

B ZZ_S!%%a%7F#w||QF#H6,r4   c            	         [        / SQS[        R                  " S5      /-  [        / SQSS9S.5      n U R	                  S5      R                  5       n[        S	[        R                  " S5      /-  [        / S
Q5      R                  [        R                  " / SQ5      5      S.5      n[        / SQSS9Ul
        [        R                  " X5        g )N)r    r    secondthirdr   r   NaT)r9   r:   rt   r9   r:   r   r;   )r   r   
categoriesr   r   )r9   rt   r9   r   )r   r  )r    r   r   r   )r   r*   
datetime64r   r   r    r   r   CategoricalDtyper   r"   r$   r%   r   s      r2   ,test_first_categorical_and_datetime_data_natr  x  s    	Cu-.. !:*M	

B ZZ &&(Fu-.. 188##O4	
H 7gFHN&+r4   c            	         [        / SQ/ SQ/ SQ/ SQS.5      n U R                  SS05      n U R                  SS	/S
9R                  5       n[        / SQ[	        / SQ5      R                  [
        R                  " / SQ5      5      S.5      n[        R                  " / SQSS	/S9Ul	        [        R                  " X5        g )N)r   r   r   r   r   )r   r   r   r   r   )appleorangemangor	  r  )jupitermercurymarsvenusr  rX   r   r   r
   r   )by)r  r	  r	  )r
  r  r  )r
  r  r  r  )r   r   ))r   r   )r   r   )r   r   )names)r   r   r   r    r   r   r  r   from_tuplesr"   r$   r%   r   s      r2   (test_first_multi_key_groupby_categoricalr    s    	 *@A		

B 
C$	%BZZC:Z&,,.F,45<<##$KL	
H  ++&sCjHN &+r4   )r    r'   r&   c                     [        S/[        S9n[        XUSU// SQ[        S9R                  SS9nU S:X  a  [        X05      " S5      nO[        X05      " 5       n[        R
                  " XB5        g )	Nyr;   )r   r   r   r   r   )r"   r<   r   rf   r&   r   )r   rp   r   r>   r$   rq   )r5   r@   r/   rd   r1   s        r2   %test_groupby_last_first_nth_with_noner    sr     se6*H	}c=I gAg	 	 &q)&(6,r4   zarg, expected_rows)r   r   r   r   r|   )r   r   r   r   r   r   r   r   r   r   c                     UR                   U   nUR                  U5      nU R                  U   n[        R                  " XF5        [        R                  " XV5        g )N)r&   r(   r$   r%   )slice_test_dfslice_test_groupedargr   r1   
equivalentr/   s          r2   
test_slicer    sP      ##C(F#'',J!!-0H&+*/r4   c                     UR                   SSSS 24   nUR                  SS[        SS 5      /5      nU R                  / SQ   n[        R                  " X$5        [        R                  " X45        g )Nr   r   r|   r  )r&   slicer(   r$   r%   )r  r  r1   r  r/   s        r2   test_nth_indexedr    sf      ##Aq"#I.F#''AuR(?@J!!"78H&+*/r4   c                     [         R                  " [        SS9   U R                  S5        S S S 5        g ! , (       d  f       g = f)NzInvalid indexr   gQ	@)r   r   	TypeErrorr&   r  s    r2   test_invalid_argumentr"    s,     
y	8t$ 
9	8	8s	   5
Ac                     [         R                  " [        SS9   U R                  [	        S S S5      5        S S S 5        g ! , (       d  f       g = f)NzInvalid stepr   r   )r   r   r   r&   r  r!  s    r2   test_negative_stepr$    s5     
z	8uT445 
9	8	8s   A  
Ac                     UR                  [        R                  " SS/5      5      nU R                  / SQ   n[        R
                  " X#5        g )Nr   r   r   )r&   r*   r?   r(   r$   r%   )r  r  r1   r/   s       r2   test_np_intsr&    s?      ##BHHaV$45F!!/2H&+r4   c            
         [        [        R                  " [        R                  " SS5      [        R                  " SS5      /5      [        R                  " [        R                  " SS5      [        R                  " SS5      /5      // SQ/ SQ/5      n [	        S[        [        U 5      5      0U S	9nUR                  SS/S
S9R                  S5      n/ SQn[        [        R                  " [        R                  " SS5      [        R                  " SS5      /5      [        R                  " [        R                  " SS5      [        R                  " SS5      /5      // SQ/ SQ/5      n[	        X4S/S9n[        R                  " X%5        g )Nr   r   r   r`      )r   r   r   r   r   )r   r   r   r   r   colr=   F)rg   observed)r   r   r   )r   r   r   )r   r   r   r   )r   r   CategoricalIndexIntervalr   ri   lenr   r&   r$   r%   )
idx_result	df_resultr1   val_expectedidx_expectedr/   s         r2   test_groupby_nth_intervalr2    s<   Q!2BKK14E FGQ!3R[[R5H IJ	
 
*+J 5%J"89LIaVe<@@CFLQ!2BKK14E FGQ!3R[[R5H IJ	
 
IL E7KH&+r4   z<ignore:invalid value encountered in remainder:RuntimeWarningc                     [        SS/S[        R                  /S[        R                  /S[        R                  //SS/S9n [        SS//SS/S9nU R                  SS/5      R	                  SS	9n[
        R                  " X!5        U R                  SS/5      R                  SS	9n[
        R                  " X!5        U R                  SS/5      R                  S
S	9n[
        R                  " X!5        g )Nr9   zr:   rt   XYr   r   r   r   	r   r*   r+   r   r   r$   r%   r   r&   r-   r/   r1   s      r2   test_head_tail_dropna_truer9    s    
 

sc266]S"&&MC=ACQT:
B 3*Sz:HZZc
#((1(-F&+ZZc
#((1(-F&+ZZc
#''!',F&+r4   c                     [        SS/S[        R                  /S[        R                  //SS/S9n [        SS/S[        R                  /S[        R                  //SS/S9nU R                  SS/SS	9R	                  S
S9n[
        R                  " X!5        U R                  SS/SS	9R                  S
S9n[
        R                  " X!5        U R                  SS/SS	9R                  SS9n[
        R                  " X!5        g )Nr9   r4  r:   rt   r5  r6  r   Fr   r   r   r   r7  r8  s      r2   test_head_tail_dropna_falser;    s    	S#JbffRVV}=Sz	RB3*sBFFmc266]CcSVZXHZZc
5Z1666;F&+ZZc
5Z1666;F&+ZZc
5Z1555:F&+r4   	selectionrt   )r   r   Nc                    [        / SQ[        R                  SS// SQS.5      nUR                  S5      U    nUR	                  SUS9nUS	:X  d  US
:X  a  U SS/:w  a  SS/nOSS/nUR
                  XP4   n[        R                  " XF5        g )Nr   r   r   )r   r   r   r   r9   r   r   r   r   r:   rt   r   r   )r   r*   r+   r   r&   r!   r$   assert_equal)r<  r   r-   r   r1   locsr/   s          r2   test_nth_after_selectionr@  )  s     
&&!Q	

B 
C	#BVVAfV%F6U?yS#J/F1v1vvvdo&HOOF%r4   rd   z2011-01-15 12:50:28.502376z2011-01-20 12:50:28.593448)l    m;-Ll    m;-Lc                     [        SS/U S.5      nUR                  S5      nUR                  S5      n[        SU S   /S.5      n[        R                  " X45        g )Nr   r8   r9   r   )r   r   r&   r$   r%   )rd   r-   r.   r1   r/   s        r2   #test_groupby_nth_int_like_precisionrB  >  sT     
!Qd+	,BjjoG[[^FqQy12H&+r4   )>numpyr*   r   pandasr   r   r   r   r   r   r   pandas._testing_testingr$   r3   markparametrizerD   rG   rO   r+   rp   rQ   r^   rm   rr   rz   r   r   r   r   r   r   r   r   r   r?   r   to_timedeltar   r   r   r   r   r   r   r   r  r  r  r  r  r  r"  r$  r&  r2  filterwarningsr9  r;  r@  rB   r4   r2   <module>rL     s-       /,d GV#45, 6," 1b'*, +, GV#45& 6& GV#45 SD%+@ABw(se$0GH	

 SBFF84FCw'ucU/FG	
	, 6,)>:,&@*,B8*-6,8, ) e!"7LIs e!"7LIs e!"7LIs	
& &38JK3E3H
 ! Cj38JK3E 1v Cj3H3E 1v%	
%-0b<c0b<0 	)L\:C@	<L93?,,2 
$i0
!Qw'
l34
AS)	 %DE8 F8 1,h 	aS	B	QF	I	aS	B	QF	I	 T2usec3Z$HI, J,'<	,,  #78, 9, #78- 9-,,,4 #;<- =-" 	tQ	L)	tR)$
a.%D/	*,AB
Qb$	 "78	000%6,,. B,,", sSEC:&>?#78& 9 @&& 
 2323	
 	/	,	,r4   