
    [6g                         d dl Zd dlZd dlZd dlmZmZmZmZ d dl	m
Z  ej        ddgddggd           d	             Z G d
 d          Z G d d          ZdS )    N)	DataFrameIndexSeries	Timestamplinearsinglenearesttablec                 ,    d                     |           S )N-)joinxs    g/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/pandas/tests/frame/methods/test_quantile.py<lambda>r      s    sxxPQ{{     paramsidsc                     | j         S )z.(interpolation, method) arguments for quantile)param)requests    r   interp_methodr      s    
 =r   c                      e Zd Zej                            d e eej	        
                    ddg                     eej	        
                    ddg                    d           eddgd	
          g e eg dd                     edgd	
          g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d Zd Zd Zd Zej                            dg d           d!             Zej                            d"d#dd	d#gd	dg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'd0S )1TestDataFrameQuantilezdf,expected            )r   r         ?      @      ?name)g        N      ?       @Sparse[float]dtyper%   c                     |                                 }|                    d          }t          j        ||           d S )Nr'   )quantileastypetmassert_series_equal)selfdfexpectedresults       r   test_quantile_sparsez*TestDataFrameQuantile.test_quantile_sparse   s;    * ???33
vx00000r   c                 $  	 |\  }}|		                     ddd||          }t          	fd	j        D             	j        d          }|dk    rt          j        ||           net          j        |j        |j                   |                    t          j	        
                    |d	                     |j        |j        k    sJ 	                     d
dd||          }t          	fd	j        D             	j        d
          }|dk    rt          j        ||           d S t          j        |j        |j                   |                    t          j	        
                    |d	                     |j        |j        k    sJ d S )N皙?r   Taxisnumeric_onlyinterpolationmethodc                 F    g | ]}t          j        |         d           S )
   )np
percentile).0colr0   s     r   
<listcomp>z7TestDataFrameQuantile.test_quantile.<locals>.<listcomp>9   s)    >>>CR]2c7B''>>>r   indexr$   r   z%Name set incorrectly for arraymanagerreason?r   c                 P    g | ]"}t          j        j        |         d           #S )Z   )r=   r>   loc)r?   dater0   s     r   rA   z7TestDataFrameQuantile.test_quantile.<locals>.<listcomp>M   s+    BBBR]26$<,,BBBr   )r+   r   columnsr-   r.   assert_index_equalrC   applymarkerpytestmarkxfailr$   )
r/   datetime_framer   using_array_managerr   r9   r:   r2   r1   r0   s
            @r   test_quantilez#TestDataFrameQuantile.test_quantile0   s    !.vad-PV  
 
 >>>>2:>>>*
 
 

 H$$"684444!&,???!!'0W "    
 ;(-////ad-PV  
 
 BBBBBBB(
 
 

 H$$"6844444!&,???!!'0W "    
 ;(-//////r   c                     |\  }}t          g g d                              ddd||          }t          j        |d                   rt          j        |d                   sJ d S )Nr   yr5   r   Tr6   r   rV   )r   r+   r=   isnan)r/   r   r9   r:   qs        r   
test_emptyz TestDataFrameQuantile.test_empty]   sw     -vBR(())22ad-PV 3 
 
 x#4BHQsV$4$444444r   c                    |\  }}t          g dg dd          }|                    dd||          }|                    d                              d          }|dk    r"|dz                       t
          j                  }|d	k    r5|r3|                    t          j	        
                    d
                     t          j        ||           d S )N)Ar[   Br\   )r   r   r   r   )col1col2r"   Tr8   r9   r:   r8   r	   r
   Axis name incorrectly set.rD   )r   r+   medianrenamer,   r=   int64rM   rN   rO   rP   r-   r.   )	r/   r   r   rR   r9   r:   r0   rsxps	            r   test_non_numeric_exclusionz0TestDataFrameQuantile.test_non_numeric_exclusiond   s     -v 4 4 4lllKKLL[[d-  
 
 YYDY))0055I%%s(""28,,BW!4 1 19U 1 V VWWW
r2&&&&&r   c                    |\  }}t          g dg ddg d          }|                    dd||          }t          g dg dd	          }|d
k    r|                    t          j                  }|dk    r5|r3|                    t          j        	                    d                     t          j        ||           |                    ddgd||          }t          ddgddgddgdddg          }|d
k    rQ|j        dd d fxx         dz  cc<   |j        dd d fxx         dz  cc<   |                    t          j                  }t          j        ||d           d S )Nr   r   r   r   r   r   r[   r\   rC   r"   r   r7   r9   r:   r          @r!   rB   r	   r
   ra   rD         ?r    g      ?ro   g      @r!   g      @r         ?T)check_index_type)r   r+   r   r,   r=   rd   rM   rN   rO   rP   r-   r.   ilocassert_frame_equal	r/   r   r   rR   r9   r:   r0   r2   r1   s	            r   	test_axiszTestDataFrameQuantile.test_axisq   s    -vYYYYYY77yyyIIISqfUU///EEEI%%rx00HW!4 1 19U 1 V VWWW
vx000$Ka}V  
 
 ddd<<S$K
 
 
 I%%M!QQQ$3&M!QQQ$4'rx00H
fhFFFFFFr   c                    |\  }}t          g dg dg          }|                    ddd||          }t          ddgd	dgd
          }|dk    r|                    t          j                  }|dk    r5|r3|                    t          j        	                    d                     t          j        ||           d S )Nri   )abr   r"   r   Tr6         @      @r   rB   r	   r
   ra   rD   )r   r+   r   r,   r=   rd   rM   rN   rO   rP   r-   r.   ru   s	            r   test_axis_numeric_only_truez1TestDataFrameQuantile.test_axis_numeric_only_true   s     !.v			===122ad-PV  
 
 3*QF===I%%rx00HW!4 1 19U 1 V VWWW
vx00000r   c                 p   |\  }}t          j        ddd          }t          |          }t          |          }|                    d||          }	t          dgdd	
          }
|dk    r5|r3|                    t          j                            d                     t          j
        |	|
           d S )N
2016-01-01r   
US/PacificperiodstzFr_   z2016-01-02 00:00:00r"   datetime64[ns, US/Pacific])r$   r)   r
   ra   rD   )pd
date_ranger   r   r+   rM   rN   rO   rP   r-   r.   )r/   r   r   rR   r9   r:   dtiserr0   r2   r1   s              r   test_quantile_date_rangez.TestDataFrameQuantile.test_quantile_date_range   s     -vmL!EEESkks^^mF  
 
 "##5Q
 
 
 W!4 1 19U 1 V VWWW
vx00000r   c                    |\  }}t          g dg dt          j        dd          g dd          }|                    dd	d
||          }t	          g dd          }|dk    r|dz  }|dk    r5|r3|                    t          j                            d                     t          j
        ||           d}	t          j        t          |	          5  |                    dd	d           d d d            d S # 1 swxY w Y   d S )Nri   r&   rz   r{   20130101r   r   )foobarbaz)r[   r\   CDr"   r   Tr6   rn   r#   r	   r
   ra   rD   z>'<' not supported between instances of 'Timestamp' and 'float'matchFr7   r8   )r   r   r   r+   r   rM   rN   rO   rP   r-   r.   raises	TypeError
r/   r   r   rR   r9   r:   r0   r2   r1   msgs
             r   test_quantile_axis_mixedz.TestDataFrameQuantile.test_quantile_axis_mixed   s    -vYY$__]:q999***	 
 
 ad-PV  
 
 ///444I%%OHW!4 1 19U 1 V VWWW
vx000 O]9C000 	9 	9KK!%K888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9s   C??DDc                    |\  }}|dk    r5|r3|                     t          j                            d                     t	          g dg ddg d          }|                    dd	||
          }t          ddgddgd          }|dk    r|                    t          j	                  }t          j        ||           |                    dd||
          }|dk    r|                    t          j	                  }t          j        ||           |                    dd||
          }t          g dg dd          }|dk    r|                    t          j	                  }t          j        ||           |                    dd||
          }t          j        ||           d}	t          j        t          |	          5  |                    dd||
           d d d            n# 1 swxY w Y   d}	t          j        t          |	          5  |                    dd           d d d            d S # 1 swxY w Y   d S )Nr
   ra   rD   ri   rj   rk   rl   r"   r   rm   r&   rz   r[   r\   rB   r	   rC   r   rn   rK   z*No axis named -1 for object type DataFramer   r5   z.No axis named column for object type DataFramecolumnr7   )rM   rN   rO   rP   r   r+   r   r,   r=   rd   r-   r.   r   
ValueErrorr   s
             r   test_quantile_axis_parameterz2TestDataFrameQuantile.test_quantile_axis_parameter   s    -vW!4 1 19U 1 V VWWWYYYYYY77yyyIIISqfUU3*S#JSAAAI%%rx00H
vx000;;g]6  
 
 I%%rx00H
vx000SqfUU///EEEI%%rx00H
vx000i}V  
 
 	vx000:]:S111 	R 	RKK"M&KQQQ	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R>]:S111 	, 	,KK(K+++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,s$   G11G58G5H>>IIc                    t          g dg ddg d          }|                    ddd          }t          g dg dd	          }t          j        ||           t          j        t          j        g dg dg          dd
d          }t          |g ddd          }t          j        ||           t          g dg ddg d          }|                    ddd          }t          g dg dd	          }t          j        ||           t          j        t          j        g dg dg          dd
d          }t          |g ddd          }t          j        ||           |                    ddgdd          }t          ddgddgddgdddg          }t          j        ||           t          g g d          }|                    dd
d          }t          j	        |d                   rt          j	        |d                   sJ t          g dg dg dgg d          }|                    d dgd!"          }t          g d#g d$gd dgg d%          }t          j        ||           d S )&Nri   rj   rk   rl   r"   r   r	   r7   r9   rB   r   )r7   r:   rd   rC   r$   r)   r%   r&   rz   r   float64rp   lowerr%   r&   rz   rU   r5   higherr   rV   r   r   r   r   r   r   r   r   r   rx   ry   crK   rq   midpoint)r9   r    r    r    r&   r&   r&   rC   rK   )
r   r+   r   r-   r.   r=   r>   arrayrt   rW   )r/   r0   r2   r1   exprX   s         r   test_quantile_interpolationz1TestDataFrameQuantile.test_quantile_interpolation   s    YYYYYY77yyyIIISq	BB)))9993???
vx000 mHiii+,,	
 
 
 #YYYSHHH
vx000 ___???CC999UUUSq	BB///EEE
vx000mHooo788	
 
 
 #YYYS	JJJ
vx000 c4[qHHc
SzsCj99#t
 
 
 	fh/// Rb))**KK!8K<<x#4BHQsV$4$4444 			999iii8///RRRdC[
CC __ooo.+#OO
 
 

 	fh/////r   c                     |}|                     dddd          }|d         t          j        |d         d          k    sJ d S )Nr5   r   Tr   )r7   r8   r9   r[   r<   )r+   r=   r>   )r/   rQ   r0   rX   s       r   $test_quantile_interpolation_datetimez:TestDataFrameQuantile.test_quantile_interpolation_datetime&  sM     KK!$hKOOvr#w33333333r   c                 *   |}|                     d          }|d         t          j        |d         d          k    sJ |                     ddd          }|d         t          j        |d         d          k    sJ t          j        ||           d S )Nr5   r[   r<   r   r   r   )r+   r=   r>   r-   r.   )r/   	int_framer0   rX   q1s        r   test_quantile_interpolation_intz5TestDataFrameQuantile.test_quantile_interpolation_int.  s     KKvr#w333333 [[1H[==#w"-3444444
q"%%%%%r   c                    |\  }}t          g dg dg dgg d          }|                    ddg||          }t          g d	g d
gddgg d          }|dk    r|                    t          j                  }|dk    r5|r3|                    t          j                            d                     t          j
        ||           d S )Nr   r   r   r   r   rq   r"   r9   r:   r   r   r   r	   r
   ra   rD   r   r+   r,   r=   rd   rM   rN   rO   rP   r-   rt   ru   s	            r   test_quantile_multiz)TestDataFrameQuantile.test_quantile_multi;  s     -v			999iii8///RRRdC[fUU__ooo.+#OO
 
 

 I%%rx00HW!4 1 19U 1 V VWWW
fh/////r   c                    |\  }}t          g dg dg dgg d          }|                    ddgd||	          }t          g d
gdz  ddgg d          }|dk    r|                    t          j                  }|dk    r5|r3|                    t          j                            d                     t          j
        ||           d S )Nr   r   r   r   r   rq   r"   r   rm   r   r   )r   r   r   r   r	   r
   ra   rD   r   ru   s	            r   test_quantile_multi_axis_1z0TestDataFrameQuantile.test_quantile_multi_axis_1J  s     -v			999iii8///RRR3Ka}V  
 
 __!$iii
 
 
 I%%rx00HW!4 1 19U 1 V VWWW
fh/////r   c                    |\  }}t          g g d                              ddgd||          }t          t          j        t          j        gt          j        t          j        gdddg          }t	          j        ||           d S )NrU   r5   rF   r   rm   rl   )r   r+   r=   nanr-   rt   )r/   r   r9   r:   r2   r1   s         r   test_quantile_multi_emptyz/TestDataFrameQuantile.test_quantile_multi_emptyY  s     -v"--..77#JQmF 8 
 
 626""&"&)9::3*
 
 
 	fh/////r   c                    t          j        ddg                              |          }t          |ddgd          }|                    dd          }t          d	gd
gd          }t          j        ||           |                    dd          }t          t          d          d	gdd
gd          }t          j        ||           |                    dgd          }t          t          d                              |          d	ddg          }t          j	        ||           t          j        ddg                              |          |d<   |ddg                             ddd          }t          t          d          t          d          gddgdd| d          }t          j        ||           |ddg                             dgdd          }t          t          d          t          d          ggdgddgd| d          }t          j	        ||           |ddg                             dd          }t          g g t          j        d          }t          j        ||           |ddg                             dgd          }t          dgg           }t          j	        ||           d S )N20102011r      rx   ry   r"   Tr`   ro   ry   rB   Fz2010-07-02 12:00:00rx   rl   2012r   r   r   z2011-07-02 12:00:00M8[]r   rC   rK   r)   rC   r)   r$   r   )r   to_datetimeas_unitr   r+   r   r-   r.   r   rt   r=   r   )r/   unitr   r0   r2   r1   s         r   test_quantile_datetimez,TestDataFrameQuantile.test_quantile_datetimec  s    nff-..66t<<S1v..// St443%u3777
vx000 Su55,--s3C:C
 
 
 	vx000 cU77122::4@@sKK%
 
 
 	fh/// .&&!122::4@@3S#J((15(II,--y9N/O/OPa&---	
 
 
 	vx000S#J((#QU(KK-..	:O0P0PQR%F---	
 
 
 	fh/// S#J((4(@@"BbjsCCC
vx000S#J((#T(BBC5"555
fh/////r   r)   )datetime64[ns]r   ztimedelta64[ns]z	Period[D]c                 >   |\  }}t          ddg|          }|                    ddd||          }t          g g d|          }t          j        ||           |                    dgdd||          }t          dgg 	          }t          j        ||           d S )
Nrx   ry   rK   r)   r"   r   Fr6   r   r   )r   r+   r   r-   r.   rt   )r/   r)   r   r9   r:   r0   resr1   s           r   test_quantile_dt64_emptyz.TestDataFrameQuantile.test_quantile_dt64_empty  s     !.vSz777kkae=QW  
 
 "BS>>>
sH--- kkE'  
 
 C5"555
c8,,,,,r   invalidr   c                     d}|\  }}t          j        t          |          5  |                    |||           d d d            d S # 1 swxY w Y   d S )Nz2percentiles should all be in the interval \[0, 1\]r   r   )rN   r   r   r+   )r/   r   rQ   r   r   r9   r:   s          r   test_quantile_invalidz+TestDataFrameQuantile.test_quantile_invalid  s    D -v]:S111 	Y 	Y##G=QW#XXX	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Ys   A		AAc           	         |\  }}|dk    r5|r3|                     t          j                            d                     t	          t          d          t          d          t          d          gt          dd          t          dd          t          dd          gt          j        d	          t          j        d
          t          j        d          gd          }|                    dd||          }t          t          d          t          dd          t          j        d
          gdg d          }t          j        ||           |                    dgd||          }t	          t          d          t          dd          t          j        d
          ggdgg d          }t          j        ||           d S )Nr
   ra   rD   
2011-01-01
2011-01-02
2011-01-03
US/Easternr   1 days2 days3 daysr[   r\   r   r"   Fr_   r$   rC   r   )rM   rN   rO   rP   r   r   r   	Timedeltar+   r   r-   r.   rt   	r/   r   r   rR   r9   r:   r0   r   r   s	            r   test_quantile_boxz'TestDataFrameQuantile.test_quantile_box  s    -vW!4 1 19U 1 V VWWW l++l++l++ l|<<<l|<<<l|<<< L**L**L** 
 
( kke=  
 
 ,'',<888X&&
 !//
 
 
 	sC(((kkE]6  
 
  l++l|<<<L** %#OO

 

 

 	c3'''''r   c                    t          t          d          t          j        t          d          t          d          gt          d          t          d          t          j        t          d          gt          dd          t          j        t          dd          t          dd          gt          dd          t          dd          t          j        t          dd          gt          j        d          t          j        d          t          j        d          t          j        gt          j        t          j        d          t          j        d          t          j        d          gd	t          d
                    }|                    dd          }t          t          d          t          d          t          dd          t          dd          t          j        d          t          j        d          gdt          d
                    }t          j	        ||           |                    dgd          }t          t          d          t          d          t          dd          t          dd          t          j        d          t          j        d          ggdgt          d
                    }t          j
        ||           d S )Nr   r   r   r   r   r   r   r   )r[   rx   r\   ry   r   r   AaBbCcr   r"   Fr`   r   r   )r   r   r   NaTr   listr+   r   r-   r.   rt   )r/   r0   r   r   s       r   test_quantile_box_natz+TestDataFrameQuantile.test_quantile_box_nat  s    l++Fl++l++	 l++l++Fl++	 l|<<<Fl|<<<l|<<<	 l|<<<l|<<<Fl|<<<	 L**L**L**F	 FL**L**L**	?% %L NNO(
 (
 (
T kk#Ek22,'','',<888,<888X&&X&& x..
 
 
 	sC(((kk3%ek44 l++l++l|<<<l|<<<L**L**	 %NN
 
 
 	c3'''''r   c                 X   |\  }}|dk    r5|r3|                     t          j                            d                     t	          t          j        dd          t          j        dd          d          }t
          j        |j        d<   |	                    d||	          }t          d
|dk    rdnd
gddgd          }t          j        ||           |	                    ddg||	          }t	          d
dg|dk    rddgnd
dgdddg          }t          j        ||           |	                    dd||          }t          t          j        dd          d          }t          j        ||           |	                    ddgd||          }t	          t          j        dd          gdz  ddg          }|dk    rt
          j        |j        d<   t          j        ||           t
          j        |d<   |	                    d||	          }t          d
t
          j        gddgd          }t          j        ||           |	                    ddg||	          }t	          d
dgt
          j        t
          j        gdddg          }t          j        ||           d S )Nr
   ra   rD   r   g      @r   )r   r   r"   r   rz   r   ro   rx   ry   rB   rp   r{   g      
@rl   rm   r%   r#   r   r	   )r   r   )rM   rN   rO   rP   r   r=   aranger   rs   r+   r   r-   r.   rt   r   s	            r   test_quantile_nanz'TestDataFrameQuantile.test_quantile_nanA  s    -vW!4 1 19U 1 V VWWWRYq#..RYq#5F5FGGHHkk#]6kJJ(22##<S#JUX
 
 
 	sC(((kk3+]6kRR3Z$1X$=$=c4[[C:  +
 
 
 	c3'''kk#A]6kRRRYsC((s333
sC(((kk$Ka}V  
 
 3,,-1#tEEEI%% fCHUO
c3''' &3kk#]6kJJc26]3*3???
sC(((kk3+]6kRRsCj/?@@dTTT
c3'''''r   c                    |\  }}|dk    r5|r3|                     t          j                            d                     t	          dt
          j        t
          j        t
          j        gid| d          }|                    dd	||
          }t          t
          j        gdgdd| d          }	t          j
        ||	           |                    dgd	||
          }t	          dt
          j        gidgd| d          }	t          j        ||	           t	          t          d          t          d          t          d          gt
          j        t
          j        t
          j        gdd| d          }|                    dd	||
          }t          t          d          t
          j        gddgdd| d          }	t          j
        ||	           |                    dgd	||
          }t	          t          d          t
          j        ggdgddgd| d          }	t          j        ||	           d S )Nr
   ra   rD   rx   r   r   r(   r"   Fr_   r   )rC   r)   z
2012-01-01z
2012-01-02z
2012-01-03r   ry   r   )rM   rN   rO   rP   r   r   r   r+   r   r-   r.   rt   r   )
r/   r   r   rR   r   r9   r:   r0   r   r   s
             r   test_quantile_natz'TestDataFrameQuantile.test_quantile_natp  s    -vW!4 1 19U 1 V VWWWbfbfbf56mDmmmLLLkke=  
 
 bfXcUM$MMMJJJ
sC(((kkE]6  
 
 rvhuM$MMMJJJ
c3'''  l++l++l++
 fbfbf-   ---

 

 

 kke=  
 
 |$$bf-*---	
 
 
 	sC(((kkE]6  
 
 %%rv./%#J---	
 
 
 	c3'''''r   c                    |\  }}t          ddgd          }|                    d||          }t          t          j        t          j        gddgd          }t          j        ||           |                    dg||          }t          t          j        t          j        ggddgdg          }t          j        ||           |                    dd	||
          }t          g g dd          }t          j        ||           |                    dgd	||
          }t          g dg          }t          j        ||           d S )Nrx   ry   r   r   r"   r   rB   )rK   rC   r   rm   r   )r   r+   r   r=   r   r-   r.   rt   r/   r   r9   r:   r0   r   r   s          r   "test_quantile_empty_no_rows_floatsz8TestDataFrameQuantile.test_quantile_empty_no_rows_floats  sI    -vSz;;;kk#]6kJJbfbf%c3ZcBBB
sC(((kk3%}VkLL"&"&)*S#JseLLL
c3'''kk#A]6kRRRr===
sC(((kk3%a}VkTT3%000
c3'''''r   c                     |\  }}t          ddgd          }|                    d||          }t          t          j        t          j        gddgd          }t          j        ||           d S )Nrx   ry   rd   r   r"   r   rB   )r   r+   r   r=   r   r-   r.   r   s          r    test_quantile_empty_no_rows_intsz6TestDataFrameQuantile.test_quantile_empty_no_rows_ints  ss     -vSz999kk#]6kJJbfbf%c3ZcBBB
sC(((((r   c                 X   |\  }}t          ddgd          }|                    dd||          }t          t          j        t          j        gddgdd          }t          j        ||           |d         j                            d	          |d<   |                    dd||          }|	                    t                    }|d
k    rVd}t          j        t          |          5  |                    t          j        d          }d d d            n# 1 swxY w Y   t          j        ||           |d         j                            d	          |d<   |                    dd||          }|	                    |d         j                  }t          j        ||           d S )Nrx   ry   r   r   r"   Fr_   r   z
US/Centralr	   z.The 'downcast' keyword in fillna is deprecatedr   )downcast)r   r+   r   r   r   r-   r.   dttz_localizer,   objectassert_produces_warningFutureWarningfillnar=   r   r)   )r/   r   r9   r:   r0   r   r   r   s           r    test_quantile_empty_no_rows_dt64z6TestDataFrameQuantile.test_quantile_empty_no_rows_dt64  s    -vSz1ABBBkke=  
 
 VRVS#J6FS
 
 
 	sC((( S'*((663kke=  
 
 jj  I%%BC+MEEE 9 9jj%j889 9 9 9 9 9 9 9 9 9 9 9 9 9 9
sC((( S'*((663kke=  
 
 jjC''
sC(((((s   +"DD Dc                    |\  }}t          t          j        dd                    }d|j        _        |                    dd||          }t          g g dt          j                  }d|j	        _        t          j        ||           |                    dgd||          }t          g dgg 	          }d|j        _        t          j        ||           d S )
Nz1/1/18r   r   zcaptain tightpantsr"   Tr_   r   r   )r   r   r   rK   r$   r+   r   r=   r   rC   r-   r.   rt   )r/   r   r9   r:   r0   r2   r1   s          r   test_quantile_empty_no_columnsz4TestDataFrameQuantile.test_quantile_empty_no_columns  s     -vr}Xq999::.
d-  
 
 "BS
CCC2
vx000EM&  
 
 Rub999 4
fh/////r   c                 ,   |\  }}t          t          j                            d                              d          g d          }|d         dz  |d<   |d         }|st          |j        j                  dk    sJ |                    d||           |r>d	|j	        d
<   |j	        d         |d         d
         k    sJ |j	        d         d	k    sJ d S d	|j
        d
<   |j	        d         |d         d
         k    sJ |j	        d         d	k    sJ d S )Nr   )r   r   r   r   r[   r   Fr_   c   r   )r   r   )r   r=   randomdefault_rngstandard_normallen_mgrblocksr+   rs   values)r/   rR   r   using_copy_on_writer9   r:   r0   r   s           r   test_quantile_item_cachez.TestDataFrameQuantile.test_quantile_item_cache  s8    !.vI!!!$$44V<<ooo
 
 
 S'A+3g" 	,rw~&&!++++
mFSSS 	'CHQK74=BsGAJ....74=B&&&&&&CJqM74=BsGAJ....74=B&&&&&&r   c                     t          j        t          d          5  t          t	          d                                        dd           d d d            d S # 1 swxY w Y   d S )NzInvalid method: foor   r   r"   r   )r:   rN   r   r   r   ranger+   r/   s    r   test_invalid_methodz)TestDataFrameQuantile.test_invalid_method  s    ]:-BCCC 	< 	<eAhh((U(;;;	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	<s   2AA"Ac                     t          j        t          d          5  t          t	          d                                        ddd           d d d            d S # 1 swxY w Y   d S )NzInvalid interpolation: foor   r   r"   r
   r   )r:   r9   r  r  s    r    test_table_invalid_interpolationz6TestDataFrameQuantile.test_table_invalid_interpolation  s    ]:-IJJJ 	S 	SeAhh((WE(RRR	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	Ss   3AA #A N)(__name__
__module____qualname__rN   rO   parametrizer   r   r   arraysSparseArrayr3   rS   rY   rg   rv   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!       [ 	!6")"7"7A"?"?@@!6")"7"7A"?"?@@   Sz,,, 	&&!6!6!6oNNNOOu3'''	
 $1 1% $1+0 +0 +0Z5 5 5' ' 'G G G01 1 1 1 1 1$9 9 94&, &, &,P70 70 70r4 4 4& & &0 0 00 0 00 0 030 30 30j [	
 	
 	
 - - -, [YQb	C8(DEEY Y FEY5( 5( 5(nJ( J( J(X-( -( -(^4( 4( 4(l( ( (*) ) ) )  )  )D0 0 0&' ' '0< < <S S S S Sr   r   c                      e Zd Z ej         ej        ej                             e	d                    ej
                            d                     ej        ddd           ej        ddd	
           ej        dd           ej         ej        d          d           ej         ej        d          d          gd           d             Zej        d             Zd Zd Zd Zd Zd Zej
                            ddg g dgdg g dgdej        ej        gddgdgdej        ej        gddgdgg          d              Zej
                            d!d"g g dd"gd"ej        ej        gddgdd"gg          d#             Zej
                            d$ej        ej        g e	d%          dgg g dgg          d&             Zd'S )(TestQuantileExtensionDtyper<   z#raises when trying to add IntervalsrD   )marksr~   	   r   )r   freqr   r   z1 Dayr   Int64r(   Float64c                 *    t          | j                  S )N)strr)   r   s    r   r   z#TestQuantileExtensionDtype.<lambda>)  s    c!'ll r   r   c                 "    |j         }d|_        |S Nr[   )r   r$   )r/   r   idxs      r   rC   z TestQuantileExtensionDtype.index  s      m
r   c                 r     ||                                           }|t          u rd|_        ndg|_        |S r$  )copyr   r$   rK   )r/   rC   frame_or_seriesobjs       r   r)  zTestQuantileExtensionDtype.obj1  sA     oe$$))++f$$CHH%CK
r   c                     t          |t                    r|                    |          }n|                    |d          }|S )NFr`   )
isinstancer   r+   )r/   r)  qsr2   s       r   compute_quantilez+TestQuantileExtensionDtype.compute_quantile<  sA    c6"" 	:\\"%%FF\\"5\99Fr   c                    t          j        t          |          t           j                  }t           j                            d                              |           |j        |         }g d}|                     ||          }|j	        }|j	        dk    rd}t          |d         |d         |d         g||d	
          } t          |          |          }t          j        ||           d S )Nr(   r   r"   r   r   r  r   r   r   r   r[   r)   rC   r$   )r=   r   r  intpr  r  shufflers   r-  r)   r   typer-   assert_equal	r/   r   r)  rC   indexerr,  r2   	exp_dtyper1   s	            r   test_quantile_eaz+TestQuantileExtensionDtype.test_quantile_eaC  s    )CJJbg666
	a  ((111hw[[&&sB//K	;'!!!I 1XuQxr+9BS
 
 
 499X&&
)))))r   c                    |j         |j        d<   |j         |j        d<   t          j        t	          |          t          j                  }t          j                            d                              |           |j        |         }g d}| 	                    ||          }t          |d         |d         |d         g|j        |d	
          } t          |          |          }t          j        ||           d S )Nr   r   r(   r   r/  r   r   r[   r0  )	_na_valuers   r=   r   r  r1  r  r  r2  r-  r   r)   r3  r-   r4  )r/   r)  rC   r6  r,  r2   r1   s          r   test_quantile_ea_with_naz3TestQuantileExtensionDtype.test_quantile_ea_with_naY  s    o )CJJbg666
	a  ((111hw[[&&sB// 1XuQxr+5;bs
 
 
 499X&&
)))))r   c                 8   |j         |j        d d <   t          j        |j        |j        k              sJ t          j        t          |          t          j                  }t          j	        
                    d                              |           |j        |         }g d}|                     ||          }|                    g dd|j                   }t          ||d          } t          |          |          }t!          j        ||           d S )	Nr(   r   r/  )r   r   r   T)
allow_fill
fill_valuer[   rB   )r;  rs   r=   alldtypesr)   r   r  r1  r  r  r2  r-  taker   r3  r-   r4  )r/   r   r)  rC   r6  r,  r2   r1   s           r   test_quantile_ea_all_naz2TestQuantileExtensionDtype.test_quantile_ea_all_nal  s    ovcjEK/00000 )CJJbg666
	a  ((111hw[[&&sB//::lllt:XX("3777499X&&
)))))r   c                    t          j        t          |          t           j                  }t           j                            d                              |           |j        |         }d}|                     ||          }|j	        }|j	        dk    rd}t          d|d         i|d          }t          |t                    r|d         }||k    sJ d S t          j        ||           d S )	Nr(   r   r"   r  r   r[   r   )r)   r$   )r=   r   r  r1  r  r  r2  rs   r-  r)   r   r+  r-   r.   r5  s	            r   test_quantile_ea_scalarz2TestQuantileExtensionDtype.test_quantile_ea_scalar~  s     )CJJbg666
	a  ((111hw&&sB//K	;'!!!I3a/EEEc6"" 	5}HX%%%%%%"6844444r   z*dtype, expected_data, expected_index, axisr   r   rd   rx   ry   r   c                     t          ddg|          }|                    d|          }t          |dt          |          d          }t	          j        ||           d S )Nrx   ry   r   r"   r   r   r$   rC   r)   r   r+   r   r   r-   r.   )r/   r)   expected_dataexpected_indexr7   r0   r2   r1   s           r   test_empty_numericz-TestQuantileExtensionDtype.test_empty_numeric  so     Sz777St,,5+@+@	
 
 
 	vx00000r   z:dtype, expected_data, expected_index, axis, expected_dtyper   c                     t          ddg|          }|                    d|d          }t          |dt          |          |          }t	          j        ||           d S )Nrx   ry   r   r"   Fr   rG  rH  )	r/   r)   rI  rJ  r7   expected_dtyper0   r2   r1   s	            r   test_empty_datelikez.TestQuantileExtensionDtype.test_empty_datelike  sq     Sz777St%@@5+@+@
 
 
 	vx00000r   z#expected_data, expected_index, axisr   c                 >   t          t          j        ddg          ddgt          j        ddg          d          }|ddg                             d	|d
          }t	          |d	t          |          t          j                  }t          j	        ||           d S )Nr   r   r   r   r   r   rx   r   r"   Tr   rG  )
r   r   r   r+   r   r   r=   r   r-   r.   )r/   rI  rJ  r7   r0   r2   r1   s          r   test_datelike_numeric_onlyz5TestQuantileExtensionDtype.test_datelike_numeric_only  s     ^VV$455V^VV$455 
 
 S#J((4d(KK5+@+@

 
 
 	vx00000r   N)r  r  r  rN   fixturer   r   IntervalIndexfrom_breaksr  rO   rP   period_ranger   timedelta_ranger   r=   r   rC   r)  r-  r8  r<  rC  rE  r  r   rK  r   rN  rP  r  r   r   r  r    s        V^FL ,,UU2YY77k''/T'UU   BOL!#>>>BM,lCCCBw222BHYRYq\\111BHYRYq\\333

 #"     ^  ^  * * *,* * *&* * *$5 5 5, [4B"b"a (3*a8rvrv&c
A6		
 1 1 1 [Dr2q*:;/#sQ@PQ	
 	1 	1 	1 [-fbfuuQxx+QK	
 1 1 1 1 1r   r  )numpyr=   rN   pandasr   r   r   r   r   pandas._testing_testingr-   rQ  r   r   r  r  r   r   <module>rZ     s4                             x 9g"67=R=R    
@S @S @S @S @S @S @S @SFs1 s1 s1 s1 s1 s1 s1 s1 s1 s1r   