
    Owgn                        d dl Zd dlZd dlZd dlmZmZmZmZm	Z	m
Z
 d dlmZ d Zej                  j!                  dddg      d        Zej                  j!                  dd d	g      d
        Zej                  j!                  dddg      d        Zej                  j!                  dddg      ej                  j!                  d edddej(                  gd       eddgi edgd            f edej(                  gde       eddgi edgd            fg      d               Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d  Z!ej                  j!                  d!d"g e	d#d$%      d&gd'd"g e	d#d$%      d&gd'd"g e	d#d$%      d&gd'fg d( e	d)d*%       e	d#d$%       e	d+d,%      gg d-d'd"d.g e	d)d*%       e	d#d$%      gd&d/gd'd"d.g e	d+d,%       e	d#d$%      gd0d/gd'fg      d1        Z"ej                  j!                  d2d e	d3d4%      dgd e	d5d4%      d6gg      d7        Z#ej                  j!                  d8 ejH                  d9d:gd;       ejH                  d&d/gd<       ejJ                  d=d>g       ejL                  d&d/gd?@      g      ej                  j!                  dAg dB      dC               Z'dD Z(ej                  j!                  dEdFd	d gfdFd g fdFd&d d/gfdFdGg dHfdId	d&gfdId g fdId&d&d/gfdIdGg dHfg      ej                  j!                  dJdg d"gd.gd"d.gg      ej                  j!                  dKd9d:g      dL                      Z)ej                  j!                  dMdFd	d gfdFd g fdFd&d d/gfdFdGg dHfdId	d&gfdId g fdId&d&d/gfdIdGg dHfg      dN        Z*dO Z+dP Z,dQ Z-ej                  j!                  dRg dS      dT        Z.ej                  j!                  dRg dS      dU        Z/dV Z0dW Z1ej                  j!                  dg dX      dY        Z2ej                  j!                  dZ e3dd0d/      g d[g e3dd\      g d]g e3dd/       e3d\d      gg d^gd d& e3d\d      gg d^gg      d_        Z4d` Z5da Z6db Z7dc Z8dd Z9de Z:ej                  j!                  dfddg dg e;dh      fdd&d d0g e;di      fddjg dg e;dh      fdd	g dk e;dl      fd&dg dm e;dn      fd&d	d&g e;d.      fd	dd/dog e;dp      fd	d/dog e;dq      fg      ej                  j!                  ddrdg      ds               Z<ej                  j{                  dt      du        Z>dv Z?ej                  j!                  dwd6d6gd6dxgf      ej                  j!                  dRg dy      dz               Z@ej                  j!                  d{ e	d|       e	d}      fd~g      d        ZAy)    N)	DataFrameIndex
MultiIndexSeries	Timestampisnac                    | j                  d      }|j                         }| j                  ddgg df   }t        ddgd      |_        |j                         }t        j                  ||       |j                  d      }| j                  ddg   }t        j                  ||       |j                         }| j                  dd	gg df   }t        ddgd      |_        t        j                  ||       |j                  d
      }| j                  dd	g   }t        j                  ||       |j                  d      }| j                  ddg   }t        j                  ||       |d   j                          |d   j                          |d   j                  d       | j                         } t        j                  | j                  | d   dk(  df<   | j                  d      }t        |d   j                         d         sJ t        |d   j                         d         sJ t        |d   j                  d      j                  d         sJ t        dt        j                  gddgddggddg      } | j                  d      }|j                         }| j                  ddg   j!                  d      }t        j                  ||       | j                  ddg   }|j                  dd      }t        j                  ||       y )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           \/var/www/horilla/myenv/lib/python3.12/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#x(<<>Dvvq!fo-.HE5>4HN$)
++b/Cww1vH#x(
++a.Cww1vH#x( 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                 8   t        g dddd|gd      j                  d      } t        ||              }| dk(  rddg}nddg}t        j                  ||d   j
                  	      }t        ddgd
      }t        d|i|      }t        j                  ||       y )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$WVV$&FQQXXfF3K$5$56F
AS
!C#vc2H&(+r4   r"   r   c                     t        g dddd|gd      }|j                  d      }|j                  |       }| dk(  r|j                  ddg   n|j                  ddg   }t	        j
                  ||       y )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   sl     
Q1m,DE	FBZZ_FZZF"'1*rww1v"''1a&/H&(+r4   c                     t        j                  dgd gd      }|j                  dd      } t        ||              }t	        j
                  ||       y )Nr9   idvaluerJ   Fas_index)r   	from_dictr   r>   r$   r%   )r5   r-   rA   r1   s       r2   test_first_last_with_NonerO   ^   sP     
		SETF;	<BZZuZ-F$WVV$&F&"%r4   zdf, expectedr9   r   rI   rK   rJ   r   r=   r;   c                 p     t        |j                  d      |              }t        j                  ||       y )NrJ   )r>   r   r$   r%   )r5   r-   r/   r1   s       r2   "test_first_last_with_None_expandedrQ   i   s.      /WRZZ%v.0F&(+r4   c            
      (   t        g dg dt        j                  j                  d      j	                  d      t        j
                  t        j                  j                  d      j	                  d      d      d      } d| d	<   d
| d<   | j                  d      }|j                         }| j                  d
dgg df   }t        ddgd      |_
        |j                         }t        j                  ||       |j                         }| j                  ddgg df   }t        ddgd      |_
        |j                         }t        j                  ||       |j                  d
      }| j                   ddg   }t        j                  ||       y )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^   }   sS   	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#x(r4   c                      t        t        d            } | j                  d       t        t        d      | d      }|j                  dk(  sJ |j                  d      j                         }|j                  dk(  sJ y )	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                  &   t        dgt        d gt              d      } | j                  d      }| j	                  d      j
                  }t        j                  |j
                  j                         |       t        j                  |j
                  j                         |       | j
                  }t        j                  |j
                  j                  d      |       t        j                  |j
                  j                  d      |       y )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                  >   t        t        d      ddgt        d      ddgdddgd	d
dgi      } | j                  d      j                         }t        g dgt	        t        d      t        d      d	g      t	        dgd            }t        j                  ||       y )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                     t        dt        j                  gddgddggddg      } | j                  d      }t	        j
                  |j                  d      | j                  dd	g          t	        j
                  |j                  d      | j                  dg          t	        j
                  |j                  d	      | j                  g           t	        j
                  |j                  d
      | j                  dd	g          t	        j
                  |j                  d      | j                  dg          t	        j
                  |j                  d      | j                  g           t	        j                  |j                  j                  d      | j                  j                  dd	g          t	        j                  |j                  j                  d      | j                  j                  dg          t	        j
                  |dg   j                  d      | dg   j                  dd	g          t	        j
                  |j                  dd      | j                  dd	g          t	        j
                  |j                  d
d      | j                  dd	g          t	        j
                  |j                  dd      | j                  d d        t	        j
                  |j                  d	d      | j                  d d        y )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                     t        ddddddddddddddd	d
ddddddddd      j                  ddg      } | j                  dd      j                  d      }| j                  dg   }t        j                  ||       | j                  dd      j                  d      }| j                  g    }t        j                  ||       y )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                     t        t        j                  j                  d      j	                  ddd      d      } | d   }| d   }|j                  |      j                         }|j                  |      j                  d       }t        j                  ||d	
       |j                  dk(  sJ |j                  dk(  sJ ||dk(     j                  d   }|j                  d   |k(  sJ |j                  d   |k(  sJ t        j                  t        d      5  |j                  |d	      j                  dd       d d d        y # 1 sw Y   y xY w)Nr   r   r`   )d   r   re   r;   r   c                      | j                   d   S )Nr   )r(   )xs    r2   <lambda>z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      s1    
299((+44QHEW	UB
Q%C	AB{{2$$&HB%%&9:I9hEB==A>>Q 	B!G!A==q   >>!!!!	z):	; 8BU#''$'78 8 8s   %EEc                     t        dt        j                  gddgddggddg      } | j                  d      }|j                  j                  dd	
      }| j                  j                  ddg   }t        j                  ||       y )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     sr    	QK!Q!Q03*	EB	CBTTXXaX&Fttyy!Q H68,r4   c                     t        dt        j                  gddgddgddgddggddg	      } | j                  d      }t	        j
                  |j                  d
      | j                  d
dg          t	        j
                  |j                  d
g      | j                  d
dg          t	        j
                  |j                  d
dg      | j                  g d          t	        j
                  |j                  d
dg      | j                  g d          t	        j
                  |j                  g d      | j                  g d          t	        j
                  |j                  g d      | j                  g d          t	        j
                  |j                  dg      | j                  dg          t	        j
                  |j                  ddg      | j                  g           y )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                    t        j                  ddd|       }t        d|ddg      }|j                  j                  |j                  j
                  g}|j                  |d	
      j                  g d      }t        j                  g d      j                  |       }t        dddg|      }t        j                  ||       y )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                     | j                  ddg      }|j                  d      }| j                  g d   }t        j                  ||       y )Nr
   r   r   r   r   r   r   )r   r&   r(   r$   r%   three_groupr.   r1   r/   s       r2   test_nth_multi_grouperr   F  sE     !!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                 F   t        |       }|j                  dd      j                         }t        |      }g d}t        j                  ||   ||          |j                  dd      d   j                         }t        j                  ||ddg          |j                  dd      j                         }t        |      }g d}t        j                  ||   ||          |j                  dd      d   j                         }t        j                  ||ddg          y )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                    t        t        d            j                  d      }t        j                  ddd|      }t        g d||d      } t        |j                  d	      |              }t        t        j                  |d
g|j                        |t        dd      gdt        ddgd	            }|d   j                  j                  |      |d<   t        j                  ||       y )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 2WRZZ(&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                 D   t        ddg| d      }|j                  d      }t        ddgd      }t        | d|      }t        d| i|      } t	        |d   |             }t        j                  ||       |j                  d|i      }t        j                  ||       y )	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3GGCL(35M=/:;;X/L,7r4   c                      t        g dg dg dd      } | j                  ddg      }|j                  d      }| j                  g d   }t	        j
                  ||       y )	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     sf     7(	
*KV !!3*-G[[^F-H&(+r4   zop, n, expected_rowsheadr   r   tailr   rM   c                     t        ddgddgddggddg      }|j                  d|	      }|j                  |   }|
||   }||   } t        ||       |      }t	        j
                  ||       y )
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     s      
QFQFQF+c3Z	@B


3
*Aww}%HgJG$WQ^AF&(+r4   zop, n, expected_colsc                 >   t        g dg dg dg dgg d      }d}t        j                  t        |      5  |j	                  g d	d
      }d d d        |j
                  d d |f   } t        |       |      }t        j                  ||       y # 1 sw Y   ExY w)Nr   )r   r   r   )r   r   r   )r   rV   ra   r   r   +DataFrame.groupby with axis=1 is deprecatedr   r   r   r   r   axis)r   r$   assert_produces_warningFutureWarningr   r(   r>   r%   )r   r   expected_colsr-   msgr0   r/   r1   s           r2   test_groupby_head_tail_axis_1r      s     
	Iy)4o
B 8C		#	#M	= *JJyqJ)*wwq-'(HWQ^AF&(+	* *s   BBc                  V   t        ddgddgddggddg      } | j                  d	dg   }| j                  d      }|j                  d
      }|j	                  d	      }t        j                  ||        t        j                  ||       | j                  d      }|j                  d
      }|j	                  d	      }t        j                  ||        t        j                  ||       | j                  d      }|j	                  d	      }|j                  d
      }t        j                  ||       t        j                  ||        | j                  d      }|j	                  d	      }|j                  d
      }t        j                  ||       t        j                  ||        y )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   :  sZ   	QFQFQF+c3Z	@Bww1vH


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


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


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


3AeeAhGffqfkG'8,'2&r4   c                  <   t        dgg d      } | j                  d      j                  d      }| j                  d d }t	        j
                  ||       | j                  ddg      j                  d      }| j                  d d }t	        j
                  ||       y )Nr   r9   r:   rt   r   r9   r`   r:   rF   r   s      r2   test_nth_emptyr   X  s    	!o	6BZZ_  $Fwwr{H&(+ZZc
#''+Fwwr{H&(+r4   c                  ~   t        g dg dddt        j                  gg dg dgg d      } | j                  d	      j	                  d
      }| j
                  d
dg   }t        j                  ||       | j                  d	      j	                  dd      }| j
                  ddg   }t        j                  ||       y )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  d  s     
	q#rvv&6}U
B ZZ_  #Fww1vH&(+ZZ_  E 2Fww1vH&(+r4   r   )Nr   r   c                    t        t        j                  dt        j                  dt        j                  gg dg dd      }|j                  d      j	                  d|       }|j
                  dd	g   }t        j                  ||       y )
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  t  ss     
&&#rvvsBFF3  	

B ZZ_  6 2Fww1vH&(+r4   c                     t        t        j                  dt        j                  dt        j                  gg dd      }|j                  d      d   j	                  d|       }|d   j
                  ddg   }t        j                  ||       y )	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    sz     
&&#rvvsBFF3 	

B ZZ_S!%%a%7F#w||QF#H68,r4   c            	         t        g ddt        j                  d      gz  t        g dd      d      } | j	                  d      j                         }t        d	t        j                  d      gz  t        g d
      j                  t        j                  g d            d      }t        g dd      |_
        t        j                  ||       y )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    s    	Cu-.. !:*M	

B ZZ &&(Fu-.. 188##O4	
H 7gFHN&(+r4   c            	         t        g dg dg dg dd      } | j                  ddi      } | j                  dd	g
      j                         }t        g dt	        g d      j                  t        j                  g d            d      }t        j                  g ddd	g      |_	        t        j                  ||       y )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                     t        dg      }t        |||d|gg d      j                  d      }| dk(  r t        ||       d      }n t        ||              }t        j                  ||       y )Ny)r   r   r   r   r   r=   r   rf   r&   r   )r   r   r>   r$   rq   )r5   r@   r/   rd   r1   s        r2   %test_groupby_last_first_nth_with_noner    sx     se}H	}c=I gAg 	
 &v&q)&v&(68,r4   zarg, expected_rows)r   r   r   r   r|   )r   r   r   r   r   r   r   r   r   r   c                     |j                   |   }|j                  |      }| j                  |   }t        j                  ||       t        j                  ||       y N)r&   r(   r$   r%   )slice_test_dfslice_test_groupedargr   r1   
equivalentr/   s          r2   
test_slicer'    sT      ##C(F#'',J!!-0H&(+*h/r4   c                     |j                   dddd f   }|j                  ddt        dd       g      }| j                  g d   }t        j                  ||       t        j                  ||       y )Nr   r   r|   r   )r&   slicer(   r$   r%   )r#  r$  r1   r&  r/   s        r2   test_nth_indexedr*    sj      ##Aq"#I.F#''AuR(?@J!!"78H&(+*h/r4   c                     t        j                  t        d      5  | j                  d       d d d        y # 1 sw Y   y xY w)NzInvalid indexr   gQ	@)r   r   	TypeErrorr&   r$  s    r2   test_invalid_argumentr.    s5     
y	8 %t$% % %s	   7A c                     t        j                  t        d      5  | j                  t	        d d d             d d d        y # 1 sw Y   y xY w)NzInvalid stepr   r   )r   r   r   r&   r)  r-  s    r2   test_negative_stepr0    s>     
z	8 6uT4456 6 6s   AAc                     |j                  t        j                  ddg            }| j                  g d   }t	        j
                  ||       y )Nr   r   r   )r&   r*   r?   r(   r$   r%   )r#  r$  r1   r/   s       r2   test_np_intsr2    sA      ##BHHaV$45F!!/2H&(+r4   c                  P   t        g dg dgddgg d      } d}t        j                  t        |      5  | j	                  | j
                  d	   d	
      }d d d        j                  d      }| j
                  d d ddgf   }t        j                  ||       y # 1 sw Y   FxY w)N)r   r   r   )rV   rV   r   zr  )r   r   r
   r   r   r   r   r   r   r   )r   r$   r   r   r   r(   r&   r%   )r-   r   r   r1   r/   s        r2   !test_groupby_nth_with_column_axisr5  	  s    		
 Cj
B 8C		#	#M	= ,ZZ
Z+,VVAYFwwq1a&y!H&(+	, ,s   !BB%c            
         t        t        j                  t        j                  dd      t        j                  dd      g      t        j                  t        j                  dd      t        j                  dd      g      gg dg dg      } t	        dt        t        |             i| 	      }|j                  ddgd
      j                  d      }g d}t        t        j                  t        j                  dd      t        j                  dd      g      t        j                  t        j                  dd      t        j                  dd      g      gg dg dg      }t	        ||dg      }t        j                  ||       y )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   CategoricalIndexIntervalr   ri   lenr   r&   r$   r%   )
idx_result	df_resultr1   val_expectedidx_expectedr/   s         r2   test_groupby_nth_intervalrB    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.start, stop, expected_values, expected_columnsr   ABCDEADra   r:  ABD)r   r   r   BCEr   CErY   callc                 J  	 t        t        d      gt        d      g      }d}t        j                  t
        |      5  |j                  g dd      	d d d         	fd		fd
d|   | |      }t        |g|g      }t        j                  ||       y # 1 sw Y   DxY w)Nr   rC  r   r   r   )r   r   r   r   r   r   r   c                 :    j                  t        | |            S r"  )r&   r)  r   stopr   s     r2   r   z2test_nth_slices_with_column_axis.<locals>.<lambda>H  s    BFF5+=$> r4   c                 "    j                   | | S r"  )r&   rK  s     r2   r   z2test_nth_slices_with_column_axis.<locals>.<lambda>I  s    RVVE$%7 r4   )rH  r"   )r   ri   rh   r$   r   r   r   r%   )
r   rL  expected_valuesexpected_columnsr5   r-   r   r1   r/   r   s
            @r2    test_nth_slices_with_column_axisrP  2  s    " 
E!H:W	7B
7C		#	#M	= 1ZZaZ01>7  TF /*5E4FGH&(+1 1s    BB"z<ignore:invalid value encountered in remainder:RuntimeWarningc                     t        ddgdt        j                  gdt        j                  gdt        j                  ggddg      } t        ddggddg      }| j                  ddg      j	                  d	      }t        j                  ||       | j                  ddg      j                  d	      }t        j                  ||       | j                  ddg      j                  d
	      }t        j                  ||       y )Nr9   r4  r:   rt   XYr   r   r   r   	r   r*   r+   r   r   r$   r%   r   r&   r-   r/   r1   s      r2   test_head_tail_dropna_truerV  O  s    
 

sc266]S"&&MC=ACQT:
B 3*Sz:HZZc
#((1(-F&(+ZZc
#((1(-F&(+ZZc
#''!',F&(+r4   c                  6   t        ddgdt        j                  gdt        j                  ggddg      } t        ddgdt        j                  gdt        j                  ggddg      }| j                  ddgd	      j	                  d
      }t        j                  ||       | j                  ddgd	      j                  d
      }t        j                  ||       | j                  ddgd	      j                  d      }t        j                  ||       y )Nr9   r4  r:   rt   rR  rS  r   Fr   r   r   r   rT  rU  s      r2   test_head_tail_dropna_falserX  c  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                    t        g dt        j                  ddgg dd      }|j                  d      |    }|j	                  d|      }|d	k(  s|d
k(  r| ddgk7  rddg}nddg}|j
                  || f   }t        j                  ||       y )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)rY  r   r-   r   r1   locsr/   s          r2   test_nth_after_selectionr]  r  s     
&&!Q	

B 
C	#BVVAfV%F6U?yS#J/F1v1vvvdIo&HOOFH%r4   rd   z2011-01-15 12:50:28.502376z2011-01-20 12:50:28.593448)l    m;-Ll    m;-Lc                     t        ddg| d      }|j                  d      }|j                  d      }t        d| d   gd      }t        j                  ||       y )Nr   r8   r9   r   )r   r   r&   r$   r%   )rd   r-   r.   r1   r/   s        r2   #test_groupby_nth_int_like_precisionr_    sV     
!Qd+	,BjjoG[[^FqQy12H&(+r4   )B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.  r0  r2  r5  rB  rh   rP  filterwarningsrV  rX  r]  r_   r4   r2   <module>ri     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dE]3, 4 J, 	aS	B	QF	I	aS	B	QF	I	
,
,'<	,,  #78, 9, #78- 9-,,,4 #;<- =-  	tQ	L)	tR)$
a.%D/	*,AB
Qb$	 "78	000%6,,$,. 4	t_d7m4	q1a&$t*%	q/4=1	r9d5k*	
D)T%[)	
BT#Y	TAq64:&	QT#Y	 FG#45, 6, B,,", sSEC:&>?#78& 9 @&& 
 2323	
 	/	,	,r4   