
    bMh                         d dl Zd dlZd dlmZ d dlZd dlmZmZm	Z	m
Z
 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)using_string_dtype)	DataFrameIndexSeries	Timestamplinearsinglenearesttablec                 ,    d                     |           S )N-)joinxs    h/var/www/html/test/jupyter/venv/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colr1   s     r   
<listcomp>z7TestDataFrameQuantile.test_quantile.<locals>.<listcomp>;   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@   dater1   s     r   rB   z7TestDataFrameQuantile.test_quantile.<locals>.<listcomp>O   s+    BBBR]26$<,,BBBr   )r,   r   columnsr.   r/   assert_index_equalrD   applymarkerpytestmarkxfailr%   )
r0   datetime_framer   using_array_managerr   r:   r;   r3   r2   r1   s
            @r   test_quantilez#TestDataFrameQuantile.test_quantile2   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   yr6   r   Tr7   r   rW   )r   r,   r>   isnan)r0   r   r:   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r9   r:   r;   r9   r
   r   Axis name incorrectly set.rE   )r   r,   medianrenamer-   r>   int64rN   rO   rP   rQ   r.   r/   )	r0   r   r   rS   r:   r;   r1   rsxps	            r   test_non_numeric_exclusionz0TestDataFrameQuantile.test_non_numeric_exclusionf   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]   rD   r#   r   r8   r:   r;   r!         @r"   rC   r
   r   rb   rE         ?r!   g      ?rp   g      @r"   g      @r         ?T)check_index_type)r   r,   r   r-   r>   re   rN   rO   rP   rQ   r.   r/   ilocassert_frame_equal	r0   r   r   rS   r:   r;   r1   r3   r2   s	            r   	test_axiszTestDataFrameQuantile.test_axiss   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 )Nrj   )abr    r#   r   Tr7         @      @r   rC   r
   r   rb   rE   )r   r,   r   r-   r>   re   rN   rO   rP   rQ   r.   r/   rv   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   rb   rE   )pd
date_ranger   r   r,   rN   rO   rP   rQ   r.   r/   )r0   r   r   rS   r:   r;   dtiserr1   r3   r2   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 )Nrj   r'   r{   r|   20130101r   r   )foobarbaz)r\   r]   CDr#   r   Tr7   ro   r$   r
   r   rb   rE   z>'<' not supported between instances of 'Timestamp' and 'float'matchFr8   r9   )r   r   r   r,   r   rN   rO   rP   rQ   r.   r/   raises	TypeError
r0   r   r   rS   r:   r;   r1   r3   r2   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   rb   rE   rj   rk   rl   rm   r#   r   rn   r'   r{   r\   r]   rC   r
   rD   r   ro   rL   z*No axis named -1 for object type DataFramer   r6   z.No axis named column for object type DataFramecolumnr8   )rN   rO   rP   rQ   r   r,   r   r-   r>   re   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 )&Nrj   rk   rl   rm   r#   r   r
   r8   r:   rC   r   )r8   r;   re   rD   r%   r*   r&   r'   r{   r   float64rq   lowerr&   r'   r{   rV   r6   higherr   rW   r   r   r   r   r   r   r   r   r   ry   rz   crL   rr   midpoint)r:   r!   r!   r!   r'   r'   r'   rD   rL   )
r   r,   r   r.   r/   r>   r?   arrayru   rX   )r0   r1   r3   r2   exprY   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 )Nr6   r   Tr   )r8   r9   r:   r\   r=   )r,   r>   r?   )r0   rR   r1   rY   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 )Nr6   r\   r=   r   r   r   )r,   r>   r?   r.   r/   )r0   	int_framer1   rY   q1s        r   test_quantile_interpolation_intz5TestDataFrameQuantile.test_quantile_interpolation_int0  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   rr   r#   r:   r;   r   r   r   r
   r   rb   rE   r   r,   r-   r>   re   rN   rO   rP   rQ   r.   ru   rv   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   rr   r#   r   rn   r   r   )r   r   r   r   r
   r   rb   rE   r   rv   s	            r   test_quantile_multi_axis_1z0TestDataFrameQuantile.test_quantile_multi_axis_1L  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 )NrV   r6   rG   r   rn   rm   )r   r,   r>   nanr.   ru   )r0   r   r:   r;   r3   r2   s         r   test_quantile_multi_emptyz/TestDataFrameQuantile.test_quantile_multi_empty[  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      ry   rz   r#   Tra   rp   rz   rC   Fz2010-07-02 12:00:00ry   rm   2012r   r   r   z2011-07-02 12:00:00M8[]r   rD   rL   r*   rD   r*   r%   r   )r   to_datetimeas_unitr   r,   r   r.   r/   r   ru   r>   r   )r0   unitr   r1   r3   r2   s         r   test_quantile_datetimez,TestDataFrameQuantile.test_quantile_datetimee  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 )
Nry   rz   rL   r*   r#   r   Fr7   r   r   )r   r,   r   r.   r/   ru   )r0   r*   r   r:   r;   r1   resr2   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   )rO   r   r   r,   )r0   r   rR   r   r   r:   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   rb   rE   
2011-01-01
2011-01-02
2011-01-03
US/Easternr   1 days2 days3 daysr\   r]   r   r#   Fr`   r%   rD   r   )rN   rO   rP   rQ   r   r   r   	Timedeltar,   r   r.   r/   ru   	r0   r   r   rS   r:   r;   r1   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\   ry   r]   rz   r   r   AaBbCcr   r#   Fra   r   r   )r   r   r   NaTr   listr,   r   r.   r/   ru   )r0   r1   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   rb   rE   r   g      @r   )r   r   r#   r   r{   r   rp   ry   rz   rC   rq   r|   g      
@rm   rn   r&   r$   r   r
   )r   r   )rN   rO   rP   rQ   r   r>   aranger   rt   r,   r   r.   r/   ru   r   s	            r   test_quantile_nanz'TestDataFrameQuantile.test_quantile_nanC  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   rb   rE   ry   r   r   r)   r#   Fr`   r   )rD   r*   z
2012-01-01z
2012-01-02z
2012-01-03r   rz   r   )rN   rO   rP   rQ   r   r   r   r,   r   r.   r/   ru   r   )
r0   r   r   rS   r   r:   r;   r1   r   r   s
             r   test_quantile_natz'TestDataFrameQuantile.test_quantile_natr  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 )Nry   rz   r   r   r#   r   rC   )rL   rD   r   rn   r   )r   r,   r   r>   r   r.   r/   ru   r0   r   r:   r;   r1   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 )Nry   rz   re   r   r#   r   rC   )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 )Nry   rz   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*   )r0   r   r:   r;   r1   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   rL   r%   r,   r   r>   r   rD   r.   r/   ru   )r0   r   r:   r;   r1   r3   r2   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,   rt   values)r0   rS   r   using_copy_on_writer:   r;   r1   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;   rO   r   r   r   ranger,   r0   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;   r:   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__rO   rP   parametrizer   r   r   arraysSparseArrayr4   rT   rZ   rh   rw   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
                             e            dd          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
                             e            dd          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
                             e            dd          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 IntervalsrE   )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%   )r0   r   idxs      r   rD   z TestQuantileExtensionDtype.index  s      m
r   c                 r     ||                                           }|t          u rd|_        ndg|_        |S r%  )copyr   r%   rL   )r0   rD   frame_or_seriesobjs       r   r*  zTestQuantileExtensionDtype.obj3  sA     oe$$))++f$$CHH%CK
r   c                     t          |t                    r|                    |          }n|                    |d          }|S )NFra   )
isinstancer   r,   )r0   r*  qsr3   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*   rD   r%   )r>   r   r  intpr  r  shufflert   r.  r*   r   typer.   assert_equal	r0   r   r*  rD   indexerr-  r3   	exp_dtyper2   s	            r   test_quantile_eaz+TestQuantileExtensionDtype.test_quantile_eaE  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   r0  r    r   r\   r1  )	_na_valuert   r>   r   r  r2  r  r  r3  r.  r   r*   r4  r.   r5  )r0   r*  rD   r7  r-  r3   r2   s          r   test_quantile_ea_with_naz3TestQuantileExtensionDtype.test_quantile_ea_with_na[  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   r0  )r   r   r   T)
allow_fill
fill_valuer\   rC   )r<  rt   r>   alldtypesr*   r   r  r2  r  r  r3  r.  taker   r4  r.   r5  )r0   r   r*  rD   r7  r-  r3   r2   s           r   test_quantile_ea_all_naz2TestQuantileExtensionDtype.test_quantile_ea_all_nan  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  r2  r  r  r3  rt   r.  r*   r   r,  r.   r/   r6  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TODO(infer_string)F)rF   strictz*dtype, expected_data, expected_index, axisr   r   re   ry   rz   r   c                     t          ddg|          }|                    d|          }t          |dt          |          d          }t	          j        ||           d S )Nry   rz   r   r#   r   r   r%   rD   r*   r   r,   r   r   r.   r/   )r0   r*   expected_dataexpected_indexr8   r1   r3   r2   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 )Nry   rz   r   r#   Fr   rI  rJ  )	r0   r*   rK  rL  r8   expected_dtyper1   r3   r2   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   ry   r   r#   Tr   rI  )
r   r   r   r,   r   r   r>   r   r.   r/   )r0   rK  rL  r8   r1   r3   r2   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  rO   fixturer   r   IntervalIndexfrom_breaksr  rP   rQ   period_ranger   timedelta_ranger   r>   r   rD   r*  r.  r9  r=  rD  rF  r   r  r   rM  r   rP  rR  r  r   r   r  r    sP        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, [))++4HQVWW[4B"b"a (3*a8rvrv&c
A6		
 1 1  XW1 [))++4HQVWW[Dr2q*:;/#sQ@PQ	
 	1 	1  XW	1 [))++4HQVWW[-fbfuuQxx+QK	
 1 1  XW1 1 1r   r  )numpyr>   rO   pandas._configr   pandasr   r   r   r   r   pandas._testing_testingr.   rS  r   r   r  r  r   r   <module>r]     sF        - - - - - -                      x 9g"67=R=R    
@S @S @S @S @S @S @S @SFv1 v1 v1 v1 v1 v1 v1 v1 v1 v1r   