
    bMhAn                        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                            dddg          d             Zej                            dd d	g          d
             Zej                            dddg          d             Zej                            dddg          e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                            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                            d2d e	d3d4%          dgd e	d5d4%          d6gg          d7             Z#ej                            d8 ej$        d9d:gd;           ej$        d&d/gd<           ej%        d=d>g           ej&        d&d/gd?@          g          ej                            dAg dB          dC                         Z'dD Z(e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                            dJdg d"gd.gd"d.gg          ej                            dKd9d:g          dL                                     Z)e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                            dRg dS          dT             Z.ej                            dRg dS          dU             Z/dV Z0dW Z1ej                            dg dX          dY             Z2e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                            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                            ddrdg          ds                         Z<ej        =                    dt          du             Z>dv Z?ej                            dwd6d6gd6dxgf          ej                            dRg dy          dz                         Z@ej                            d{ e	d|           e	d}          fd~g          d             ZAdS )    N)	DataFrameIndex
MultiIndexSeries	Timestampisnac                    |                      d          }|                                }| j        ddgg df         }t          ddgd          |_        |                                }t          j        ||           |                    d          }| j        ddg         }t          j        ||           |	                                }| j        dd	gg df         }t          ddgd          |_        t          j        ||           |                    d
          }| j
        dd	g         }t          j        ||           |                    d          }| j
        ddg         }t          j        ||           |d                                          |d         	                                 |d                             d           |                                 } t          j        | j        | d         dk    df<   |                      d          }t          |d                                         d                   sJ t          |d         	                                d                   sJ t          |d                             d          j
        d                   sJ t          dt          j        gddgddggddg          } |                      d          }|                                }| j
        ddg                             d          }t          j        ||           | j
        ddg         }|                    dd          }t          j        ||           d S )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           e/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/groupby/methods/test_nth.pytest_first_last_nthr3      s   jjooGMMOOEvq!fooo-.HE5>444HN""$$H%***
++a..Cvq!f~H#x(((<<>>Dvq!fooo-.HE5>444HN$)))
++b//Cw1vH#x(((
++a..Cw1vH#x((( CLCLCLQ	B$&FBF2c7eS !jjooG""$$U+,,,,,!!##E*+++++  ##(+,,,,, 
QK!Q!Q03*	E	E	EB


3AWWYYFw1v((--H&(+++w1vHUU1UU##F&(+++++    methodr    r'   c                 b   t          g dddd|gd                              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        ||           d S )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IJJRRSVWWF$WVV$$&&FQQXfF3K$5666F
AS
!
!
!C#vc222H&(+++++r4   r"   r   c                     t          g dddd|gd          }|                    d          }|                    |           }| dk    r|j        ddg         n|j        ddg         }t	          j        ||           d S )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   s     
Q1m,DEE	F	FBZZ__FZZF"'1**rw1v"'1a&/H&(+++++r4   c                     t          j        dgd gd          }|                    dd          } t          ||                       }t	          j        ||           d S )Nr9   idvaluerJ   Fas_index)r   	from_dictr   r>   r$   r%   )r5   r-   rA   r1   s       r2   test_first_last_with_NonerO   ^   se     
	SETF;;	<	<BZZuZ--F$WVV$$&&F&"%%%%%r4   zdf, expectedr9   r   rI   rK   rJ   r   r=   r;   c                      t          |                    d          |                       }t          j        ||           d S )NrJ   )r>   r   r$   r%   )r5   r-   r/   r1   s       r2   "test_first_last_with_None_expandedrQ   i   s@      /WRZZ%%v..00F&(+++++r4   c            
      n   t          g dg dt          j                            d                              d          t          j        t          j                            d                              d          d          d          } d| d	<   d
| d<   |                     d          }|                                }| j        d
dgg df         }t          ddgd          |_
        |                                }t          j        ||           |                                }| j        ddgg df         }t          ddgd          |_
        |                                }t          j        ||           |                    d
          }| j        ddg         }t          j        ||           d S )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^   }   s   	IIIMMM&&q))99!<<")//22BB1EEYWWW		
 	

 
B BsGBsG jjooGMMOOEvq!f77778HE5>444HN""$$H%***<<>>Dvq!f77778HE5>444HN""$$H$)))
++a..Cw1vH#x(((((r4   c                  *   t          t          d                    } |                     d           t          t          d          | d          }|j        dk    sJ |                    d                                          }|j        dk    sJ d S )	N
   	      IntCol)datar"   r   int64r   level)listrangeappendr   r<   r   r    )rC   serfs      r2   test_first_last_nth_dtypes2rm      s    
uRyy//CJJqMMM
eBiis
:
:
:C9!""$$A7gr4   c                  &   t          dgt          d gt                    d          } |                     d          }|                     d          j        }t          j        |j                                        |           t          j        |j        	                                |           | j        }t          j        |j        
                    d          |           t          j        |j        
                    d          |           d S )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+G+GHH	I	IBjj  G||F##(H7<--//:::7<,,..999wH7<++B//:::7<++A..99999r4   c                     t          t          d          ddgt          d          ddgdddgd	d
dgi          } |                     d                                          }t          g dgt	          t          d          t          d          d	g          t	          dgd                    }t          j        ||           d S )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..	,0G0GPQQSE'''  H
 &(+++++r4   c                  $   t          dt          j        gddgddggddg          } |                     d          }t	          j        |                    d          | j        dd	g                    t	          j        |                    d          | j        dg                    t	          j        |                    d	          | j        g                     t	          j        |                    d
          | j        dd	g                    t	          j        |                    d          | j        dg                    t	          j        |                    d          | j        g                     t	          j	        |j
                            d          | j
        j        dd	g                    t	          j	        |j
                            d          | j
        j        dg                    t	          j        |dg                             d          | dg         j        dd	g                    t	          j        |                    dd          | j        dd	g                    t	          j        |                    d
d          | j        dd	g                    t	          j        |                    dd          | j        d d                    t	          j        |                    d	d          | j        d d                    d S )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*	E	E	EB	CB"&&))RWaV_555"&&))RWaS\222"&&))RVBZ000"&&**bgq!fo666"&&**bgqcl333"&&**bfRj1112488A;;	1a&(9:::2488A;;	1#777"cU)--**BuINAq6,BCCC"&&5&1127Aq6?CCC"&&E&22BGQFODDD"&&5&11272A2;???"&&5&11272A2;?????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                              ddg          } |                     dd                              d          }| j        dg         }t          j        ||           |                     dd                              d          }| j        g          }t          j        ||           d S )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K&V&II%(&&&  '&'& 	
 	

 
& i&!""' * ZZa%Z0044Q77Fwt}H&(+++ZZa%Z0044Q77FvbzH&(+++++r4   c                     t          t          j                            d                              ddd          d          } | d         }| d         }|                    |                                          }|                    |                              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  |                    |d	                              dd           d d d            d S # 1 swxY w Y   d S )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      s    
29((++44QHEEW	U	U	UB
Q%C	AB{{2$$&&HB%%&9&9::I9hEBBBB=A>Q 	B!G!A=q    >!!!!!	z):	;	;	; 8 8BU##''$'7778 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8s   --E''E+.E+c                     t          dt          j        gddgddggddg          } |                     d          }|j                            dd	
          }| j        j        ddg         }t          j        ||           d S )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     s~    	QK!Q!Q03*	E	E	EB	CBTXXaX&&Fty!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	          } |                     d          }t	          j        |                    d
          | j        d
dg                    t	          j        |                    d
g          | j        d
dg                    t	          j        |                    d
dg          | j        g d                    t	          j        |                    d
dg          | j        g d                    t	          j        |                    g d          | j        g d                    t	          j        |                    g d          | j        g d                    t	          j        |                    dg          | j        dg                    t	          j        |                    ddg          | j        g                     d S )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     s   	QK!Q!Q!Q!Q@3PS*	U	U	UB	CB"&&))RWaV_555"&&!++rw1v777"&&!Q.."',,,*?@@@"&&!R//27<<<+@AAA"&&++RW___-EFFF"&&,,bgooo.FGGG"&&!++rws|444"&&!Q.."&*55555r4   c                    t          j        ddd|           }t          d|ddg          }|j        j        |j        j        g}|                    |d	
                              g d          }t          j        g d          	                    |           }t          dddg|          }t          j        ||           d S )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8="(.
)CZZeZ,,00@@F^	
 	
 	
  gdmm   S#JnEEEH&(+++++r4   c                     |                      ddg          }|                    d          }| j        g d         }t          j        ||           d S )Nr
   r   r   r   r   r   r   )r   r&   r(   r$   r%   three_groupr.   r1   r/   s       r2   test_nth_multi_grouperr   F  sT     !!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                    t          |           }|                    dd                                          }t          |          }g d}t          j        ||         ||                    |                    dd          d                                         }t          j        ||ddg                    |                    dd                                          }t          |          }g d}t          j        ||         ||                    |                    dd          d                                         }t          j        ||ddg                    d S )NrJ   FrL   r   r   )r   r   r    r$   r%   r'   )rd   expected_firstexpected_lastr-   r1   r/   colss          r2   test_first_last_tzr   O  sB   l 
4BZZuZ--3355F((H   D&,777ZZuZ--f5;;==F&(D&>":;;;ZZuZ--2244F''H   D&,777ZZuZ--f5::<<F&(D&>":;;;;;r4   zmethod, ts, alphaz
2013-01-01
US/Easternz
2013-01-02r:   c                 &   t          t          d                                        d          }t          j        ddd|          }t          g d||d          } t          |                    d	          |                       }t          t          j        |d
g|j	                  |t          dd          gdt          ddgd	                    }|d         j                            |          |d<   t          j        ||           d S )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
J
J
JC	YY.	
 	

 
B 2WRZZ((&1133F!~O$9      y,GGGH		
 	
 QF)))  H &l36>>tDDH\&(+++++r4   rB   TFbooleanInt64z
2020-01-01z
2020-02-01r   )r   function)r    r'   minmaxc                    t          ddg| d          }|                    d          }t          ddgd          }t          | d|          }t          d| i|          } t	          |d         |                      }t          j        ||           |                    d|i          }t          j        ||           d S )	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ooG
AS
!
!
!CV#S999OV}C888N3GGCL(3355M=/:::;;X//L,77777r4   c                      t          g dg dg dd          } |                     ddg          }|                    d          }| j        g d         }t	          j        ||           d S )	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     s           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          }|                    d|	          }|j        |         }|||         }||         } t          ||           |          }t	          j        ||           d S )
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w}%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  |                    g d	d
          }d d d            n# 1 swxY w Y   |j        d d |f         } t          ||           |          }t          j        ||           d S )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
    
	IIIyyy)))4ooo
 
 
B 8C		#M	=	=	= * *JJyyyqJ))* * * * * * * * * * * * * * *wqqq-'(HWQ^^AF&(+++++s   A##A'*A'c                     t          ddgddgddggddg          } | j        d	dg         }|                     d          }|                    d
          }|                    d	          }t          j        ||            t          j        ||           |                     d          }|                    d
          }|                    d	          }t          j        ||            t          j        ||           |                     d          }|                    d	          }|                    d
          }t          j        ||           t          j        ||            |                     d          }|                    d	          }|                    d
          }t          j        ||           t          j        ||            d S )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   :  s   	QFQFQF+c3Z	@	@	@Bw1vH


3AffqfkkGeeAhhG'2&&&'8,,,


3AffqfkkGeeAhhG'2&&&'8,,,


3AeeAhhGffqfkkG'8,,,'2&&&


3AeeAhhGffqfkkG'8,,,'2&&&&&r4   c                  b   t          dgg d          } |                     d                              d          }| j        d d         }t	          j        ||           |                     ddg                              d          }| j        d d         }t	          j        ||           d S )Nr   r9   r:   rt   r   r9   r`   r:   rF   r   s      r2   test_nth_emptyr   X  s    	!ooo	6	6	6BZZ__  $$Fwrr{H&(+++ZZc
##''++Fwrr{H&(+++++r4   c                     t          g dg dddt          j        gg dg dgg d          } |                     d	                              d
          }| j        d
dg         }t          j        ||           |                     d	                              dd          }| j        ddg         }t          j        ||           d S )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#rv&6}}}U
 
 
B ZZ__  ##Fw1vH&(+++ZZ__  E 22Fw1vH&(+++++r4   r   )Nr   r   c                    t          t          j        dt          j        dt          j        gg dg dd          }|                    d                              d|           }|j        dd	g         }t          j        ||           d S )
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  s     
&#rvsBF3  	
 	

 
B ZZ__  6 22Fw1vH&(+++++r4   c                 (   t          t          j        dt          j        dt          j        gg dd          }|                    d          d                             d|           }|d         j        ddg         }t          j        ||           d S )	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    s     
&#rvsBF3 	
 	

 
B ZZ__S!%%a%77F#w|QF#H68,,,,,r4   c            	         t          g ddt          j        d          gz  t          g dd          d          } |                     d                                          }t          d	t          j        d          gz  t          g d
                              t          j        g d                    d          }t          g dd          |_
        t          j        ||           d S )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CCu--.. !:!:!:*MMM	
 	

 
B ZZ  &&((Fu--.. 1188#OOO44 	
 	
 H 777gFFFHN&(+++++r4   c            	         t          g dg dg dg dd          } |                     ddi          } |                     dd	g
                                          }t          g dt	          g d                              t          j        g d                    d          }t          j        g ddd	g          |_	        t          j        ||           d S )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AA		
 	

 
B 
C$	%	%BZZC:Z&&,,..F,,,44455<<#$K$K$KLL 	
 	
 H  +&&&sCj  HN &(+++++r4   )r    r'   r&   c                 2   t          dgt                    }t          |||d|gg dt                                        d          }| dk    r t          ||           d          }n t          ||                       }t	          j        ||           d S )	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    s     se6***H	}c=Ioo   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        |         }t          j        ||           t          j        ||           d S N)r&   r(   r$   r%   )slice_test_dfslice_test_groupedargr   r1   
equivalentr/   s          r2   
test_slicer'    s]      #C(F#'',,J!-0H&(+++*h/////r4   c                     |j         dddd f         }|                     ddt          dd           g          }| j        g d         }t          j        ||           t          j        ||           d S )Nr   r   r|   r   )r&   slicer(   r$   r%   )r#  r$  r1   r&  r/   s        r2   test_nth_indexedr*    s}      #Aq"##I.F#''AuR(?@@J!"7"7"78H&(+++*h/////r4   c                     t          j        t          d          5  |                     d           d d d            d S # 1 swxY w Y   d S )NzInvalid indexr   gQ	@)r   r   	TypeErrorr&   r$  s    r2   test_invalid_argumentr.    s     
y	8	8	8 % %t$$$% % % % % % % % % % % % % % % % % %s   ?AAc                     t          j        t          d          5  |                     t	          d d d                     d d d            d S # 1 swxY w Y   d S )NzInvalid stepr   r   )r   r   r   r&   r)  r-  s    r2   test_negative_stepr0    s     
z	8	8	8 6 6uT4445556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6s   %AAAc                     |                     t          j        ddg                    }| j        g d         }t	          j        ||           d S )Nr   r   r   )r&   r*   r?   r(   r$   r%   )r#  r$  r1   r/   s       r2   test_np_intsr2    sO      ##BHaV$4$455F!///2H&(+++++r4   c                  f   t          g dg dgddgg d          } d}t          j        t          |          5  |                     | j        d	         d	
          }d d d            n# 1 swxY w Y   |                    d          }| j        d d ddgf         }t          j        ||           d S )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   	IIII	
 Cj
 
 
B 8C		#M	=	=	= , ,ZZ
Z++, , , , , , , , , , , , , , ,VVAYYFwqqq1a&y!H&(+++++s   #A))A-0A-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| 	          }|                    ddgd
                              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
        ||           d S )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!2!2BK14E4E FGGQ!3!3R[R5H5H IJJ	
 
***+ J 5%J"8"89LLLIaVe<<@@CCF99LQ!2!2BK14E4E FGGQ!3!3R[R5H5H IJJ	
 
III L \E7KKKH&(+++++r4   z.start, stop, expected_values, expected_columnsr   ABCDEADra   r:  ABD)r   r   r   BCEr   CErY   callc                   	 t          t          d          gt          d          g          }d}t          j        t
          |          5  |                    g dd          	d d d            n# 1 swxY w Y    	fd		fd
d|         | |          }t          |g|g          }t          j        ||           d S )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>I  s    BFF5+=+=$>$> r4   c                 "    j         | |         S r"  )r&   rK  s     r2   r   z2test_nth_slices_with_column_axis.<locals>.<lambda>J  s    RVE$J%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  3  s(   " 
E!HH:W	7	7	7B
7C		#M	=	=	= 1 1ZZaZ001 1 1 1 1 1 1 1 1 1 1 1 1 1 1>>>>7777   T F /*5E4FGGGH&(+++++s   A22A69A6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          }|                     ddg                              d	          }t          j        ||           |                     ddg                              d	          }t          j        ||           |                     ddg                              d
	          }t          j        ||           d S )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  P  s   
 

sc26]S"&MC=ACQT:
 
 
B 3*Sz:::HZZc
##((1(--F&(+++ZZc
##((1(--F&(+++ZZc
##''!',,F&(+++++r4   c                  R   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          }|                     ddgd	                              d
          }t          j        ||           |                     ddgd	                              d
          }t          j        ||           |                     ddgd	                              d          }t          j        ||           d S )Nr9   r4  r:   rt   rR  rS  r   Fr   r   r   r   rT  rU  s      r2   test_head_tail_dropna_falserX  d  s   	S#JbfRV}=Sz	R	R	RB3*sBFmc26]CcSVZXXXHZZc
5Z11666;;F&(+++ZZc
5Z11666;;F&(+++ZZc
5Z11555::F&(+++++r4   	selectionrt   )r   r   Nc                 4   t          g dt          j        ddgg dd          }|                    d          |          }|                    d|          }|d	k    s|d
k    r| ddgk    rddg}nddg}|j        || f         }t          j        ||           d S )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]  s  s     
&!Q	
 	

 
B 
C	#BVVAfV%%F6U??yS#J/F/F1v1vvdIo&HOFH%%%%%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          }|                    d          }|                    d          }t          d| d         gd          }t          j        ||           d S )Nr   r8   r9   r   )r   r   r&   r$   r%   )rd   r-   r.   r1   r/   s        r2   #test_groupby_nth_int_like_precisionr_    so     
!Qd++	,	,BjjooG[[^^FqQy112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     sR                                /, /, /,d GV#455, , 65," 1b'**, , +*, GV#455& & 65& GV#455 ISD%+@AABBIw(se$0G0G0GHHH	

 ISBF844FCCCIw'uucU/F/F/FGGG	
	 , ,  65,) ) )>  : : :, , ,&@ @ @*, , ,B8 8 8*- - -6 6 6, , ,8, , , ) e!	"7LIIIs  e!	"7LIIIs  e!	"7LIIIs 	
& &ooI38JKKKI3EEEI3HHH
 !yy  CjI38JKKKI3EEE 1v  CjI3HHHI3EEE 1v %	
%-0 0b< <c0 0b<0 	))L\:::C@	<L9993? , , ,2 $i000!Qw'''l344AS)))	  %D%D%DEE8 8 FE 8 1, 1, 1,h 	aS	B	QF	III	aS	B	QF	III	  T2usec3Z$HIIdE]33, , 43 JI , 	aS	B	QF	III	aS	B	QF	III	 
, 
, 
,' ' '<	, 	, 	,, , ,  #7#7#788, , 98, #7#7#788- - 98-, , ,,, , ,4 #;#;#;<<- - =<-" 	tQ		LLL)	tR)))$
%a..%%D//	*,A,A,AB
Qb$	 "7"7"78	 0 0 00 0 0% % %6 6 6, , ,, , ,$, , ,. 4	t___dd7mm4	q1a&$$t**%	q///44==1	r999dd5kk*	
D)))TT%[[)	
BTT#YY	TAq644::&	QTT#YY	  FG#455, , 65 , B , , ,", , , sSEC:&>??#7#7#788& & 98 @?&& 
 I233I233	
 	/	 	, ,	 	, , ,r4   