
    Oh                         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y)    N)using_string_dtype)	DataFrameIndexSeries	Timestamplinearsinglenearesttablec                 $    dj                  |       S )N-)joinxs    p/var/www/html/diagnosisapp-backend/venv/lib/python3.12/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                   p   e Zd Zej                  j                  d e eej                  j                  ddg             eej                  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                  j                  dg d       d!        Zej                  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'y0)1TestDataFrameQuantilezdf,expected            )r   r         ?      @      ?name)g        N      ?       @Sparse[float]dtyper&   c                 r    |j                         }|j                  d      }t        j                  ||       y )Nr(   )quantileastypetmassert_series_equal)selfdfexpectedresults       r   test_quantile_sparsez*TestDataFrameQuantile.test_quantile_sparse   s-    * ???3
vx0r   c           	         |\  }}|}|j                  ddd||      }t        |j                  D 	cg c]  }	t        j                  ||	   d       c}	|j                  d      }
|dk(  rt        j                  ||
       nut        j                  |j                  |
j                         |j                  t        j                  j                  |d	             |j                  |
j                  k(  sJ |j                  d
dd||      }t        |j                  D cg c]%  }t        j                  |j                  |   d      ' c}|j                  d
      }
|dk(  rt        j                  ||
       y t        j                  |j                  |
j                         |j                  t        j                  j                  |d	             |j                  |
j                  k(  sJ y c c}	w c c}w )N皙?r   Taxisnumeric_onlyinterpolationmethod
   indexr%   r   z%Name set incorrectly for arraymanagerreason?r   Z   )r,   r   columnsnp
percentiler.   r/   assert_index_equalr>   applymarkerpytestmarkxfailr%   loc)r0   datetime_framer   using_array_managerr   r:   r;   r1   r3   colr2   dates               r   test_quantilez#TestDataFrameQuantile.test_quantile2   s    !.vad-PV  
 35::>CR]]2c7B'>**

 H$""684!!&,,?!!'0W " 
 ;;(--///ad-PV  
 9;BR]]266$<,B((

 H$""684!!&,,?!!'0W " 
 ;;(--///E ?( Cs    G/*G4c                     |\  }}t        g g d      j                  ddd||      }t        j                  |d         rt        j                  |d         sJ y )Nr   yr6   r   Tr7   r   rS   )r   r,   rD   isnan)r0   r   r:   r;   qs        r   
test_emptyz TestDataFrameQuantile.test_empty_   sa     -vBR()22ad-PV 3 
 xx#BHHQsV$444$4r   c                    |\  }}t        g dg dd      }|j                  dd||      }|j                  d      j                  d      }|dk(  r"|dz   j	                  t
        j                        }|d	k(  r1|r/|j                  t        j                  j                  d
             t        j                  ||       y )N)ArX   BrY   )r   r   r   r    )col1col2r#   Tr9   r:   r;   r9   r
   r   Axis name incorrectly set.r?   )r   r,   medianrenamer-   rD   int64rG   rH   rI   rJ   r.   r/   )	r0   r   r   rM   r:   r;   r1   rsxps	            r   test_non_numeric_exclusionz0TestDataFrameQuantile.test_non_numeric_exclusionf   s     -v 4lKL[[d-  
 YYDY)005I%s(""288,BW!4 1 19U 1 VW
r2&r   c                    |\  }}t        g dg ddg d      }|j                  dd||      }t        g dg dd	      }|d
k(  r|j                  t        j
                        }|dk(  r1|r/|j                  t        j                  j                  d             t        j                  ||       |j                  ddgd||      }t        ddgddgddgdddg      }|d
k(  rU|j                  dd d fxx   dz  cc<   |j                  dd d fxx   dz  cc<   |j                  t        j
                        }t        j                  ||d       y )Nr   r   r   r   r   r    rX   rY   r>   r#   r   r8   r:   r;   r!         @r"   r=   r
   r   r^   r?         ?r!   g      ?rl   g      @r"   g      @r         ?T)check_index_type)r   r,   r   r-   rD   ra   rG   rH   rI   rJ   r.   r/   ilocassert_frame_equal	r0   r   r   rM   r:   r;   r1   r3   r2   s	            r   	test_axiszTestDataFrameQuantile.test_axiss   s=    -vYY7yISqfU/EI%rxx0HW!4 1 19U 1 VW
vx0$Ka}V  
 ddd<S$K
 I%MM!Q$3&MM!Q$4'rxx0H
fhFr   c                 `   |\  }}t        g dg dg      }|j                  ddd||      }t        ddgd	dgd
      }|dk(  r|j                  t        j
                        }|dk(  r1|r/|j                  t        j                  j                  d             t        j                  ||       y )Nrf   )abr    r#   r   Tr7         @      @r   r=   r
   r   r^   r?   )r   r,   r   r-   rD   ra   rG   rH   rI   rJ   r.   r/   rr   s	            r   test_axis_numeric_only_truez1TestDataFrameQuantile.test_axis_numeric_only_true   s     !.v	=12ad-PV  
 3*QF=I%rxx0HW!4 1 19U 1 VW
vx0r   c                 H   |\  }}t        j                  ddd      }t        |      }t        |      }|j	                  d||      }	t        dgdd	
      }
|dk(  r1|r/|j                  t        j                  j                  d             t        j                  |	|
       y )N
2016-01-01r   
US/PacificperiodstzFr\   z2016-01-02 00:00:00r#   datetime64[ns, US/Pacific])r%   r*   r   r^   r?   )pd
date_ranger   r   r,   rG   rH   rI   rJ   r.   r/   )r0   r   r   rM   r:   r;   dtiserr1   r3   r2   s              r   test_quantile_date_rangez.TestDataFrameQuantile.test_quantile_date_range   s     -vmmL!ESks^mF  
 "##5Q
 W!4 1 19U 1 VW
vx0r   c                    |\  }}t        g dg dt        j                  dd      g dd      }|j                  dd	d
||      }t	        g dd      }|dk(  r|dz  }|dk(  r1|r/|j                  t        j                  j                  d             t        j                  ||       d}	t        j                  t        |	      5  |j                  dd	d       d d d        y # 1 sw Y   y xY w)Nrf   r'   rw   rx   20130101r   r~   )foobarbaz)rX   rY   CDr#   r   Tr7   rk   r$   r
   r   r^   r?   z>'<' not supported between instances of 'Timestamp' and 'float'matchFr8   r9   )r   r   r   r,   r   rG   rH   rI   rJ   r.   r/   raises	TypeError
r0   r   r   rM   r:   r;   r1   r3   r2   msgs
             r   test_quantile_axis_mixedz.TestDataFrameQuantile.test_quantile_axis_mixed   s     -v$]]:q9*	
 ad-PV  
 /4I%OHW!4 1 19U 1 VW
vx0 O]]9C0 	9KK!%K8	9 	9 	9s   	C''C0c                 6   |\  }}|dk(  r1|r/|j                  t        j                  j                  d             t	        g dg ddg d      }|j                  dd	||
      }t        ddgddgd      }|dk(  r|j                  t        j                        }t        j                  ||       |j                  dd||
      }|dk(  r|j                  t        j                        }t        j                  ||       |j                  dd||
      }t        g dg dd      }|dk(  r|j                  t        j                        }t        j                  ||       |j                  dd||
      }t        j                  ||       d}	t        j                  t        |	      5  |j                  dd||
       d d d        d}	t        j                  t        |	      5  |j                  dd       d d d        y # 1 sw Y   CxY w# 1 sw Y   y xY w)Nr   r^   r?   rf   rg   rh   ri   r#   r   rj   r'   rw   rX   rY   r=   r
   r>   r   rk   rC   z*No axis named -1 for object type DataFramer   r6   z.No axis named column for object type DataFramecolumnr8   )rG   rH   rI   rJ   r   r,   r   r-   rD   ra   r.   r/   r   
ValueErrorr   s
             r   test_quantile_axis_parameterz2TestDataFrameQuantile.test_quantile_axis_parameter   s    -vW!4 1 19U 1 VWYY7yISqfU3*S#JSAI%rxx0H
vx0;;g]6  
 I%rxx0H
vx0SqfU/EI%rxx0H
vx0i}V  
 	vx0:]]:S1 	RKK"M&KQ	R>]]:S1 	,KK(K+	, 	,	R 	R	, 	,s   +H&HHHc                    t        g dg ddg d      }|j                  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      }|j                  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                  ||       |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      }|j                  dd
d      }t        j                  |d         rt        j                  |d         sJ t        g dg dg dgg d      }|j                  d dgd!"      }t        g d#g d$gd dgg d%      }t        j                  ||       y )&Nrf   rg   rh   ri   r#   r   r
   r8   r:   r=   r   )r8   r;   ra   r>   r%   r*   r&   r'   rw   r   float64rm   lowerr&   r'   rw   rR   r6   higherr   rS   r   r   r   r   r   r   r   r   r   ru   rv   crC   rn   midpoint)r:   r!   r!   r!   r'   r'   r'   r>   rC   )
r   r,   r   r.   r/   rD   rE   arrayrq   rT   )r0   r1   r3   r2   exprU   s         r   test_quantile_interpolationz1TestDataFrameQuantile.test_quantile_interpolation   s    YY7yISq	B)93?
vx0 mmHHi+,	
 #YSH
vx0 _?C9USq	B/E
vx0mmHHo78	
 #YS	J
vx0 c4[qHc
SzsCj9#t
 	fh/ Rb)*KK!8K<xx#BHHQsV$444 	9i8/RdC[
C o.+#

 	fh/r   c                 t    |}|j                  dddd      }|d   t        j                  |d   d      k(  sJ y )Nr6   r   Tr   )r8   r9   r:   rX   r<   )r,   rD   rE   )r0   rL   r1   rU   s       r   $test_quantile_interpolation_datetimez:TestDataFrameQuantile.test_quantile_interpolation_datetime(  s@     KK!$hKOvr#w3333r   c                    |}|j                  d      }|d   t        j                  |d   d      k(  sJ |j                  ddd      }|d   t        j                  |d   d      k(  sJ t        j                  ||       y )Nr6   rX   r<   r   r   r   )r,   rD   rE   r.   r/   )r0   	int_framer1   rU   q1s        r   test_quantile_interpolation_intz5TestDataFrameQuantile.test_quantile_interpolation_int0  s     KKvr#w3333 [[1H[=#w"--34444
q"%r   c                 z   |\  }}t        g dg dg dgg d      }|j                  ddg||      }t        g d	g d
gddgg d      }|dk(  r|j                  t        j                        }|dk(  r1|r/|j                  t        j                  j                  d             t        j                  ||       y )Nr   r   r   r   r   rn   r#   r:   r;   r   r   r   r
   r   r^   r?   r   r,   r-   rD   ra   rG   rH   rI   rJ   r.   rq   rr   s	            r   test_quantile_multiz)TestDataFrameQuantile.test_quantile_multi=  s     -v	9i8/RdC[fUo.+#

 I%rxx0HW!4 1 19U 1 VW
fh/r   c                 |   |\  }}t        g dg dg dgg d      }|j                  ddgd||	      }t        g d
gdz  ddgg d      }|dk(  r|j                  t        j                        }|dk(  r1|r/|j                  t        j                  j                  d             t        j                  ||       y )Nr   r   r   r   r   rn   r#   r   rj   r   r   )r   r   r   r   r
   r   r^   r?   r   rr   s	            r   test_quantile_multi_axis_1z0TestDataFrameQuantile.test_quantile_multi_axis_1L  s     -v	9i8/R3Ka}V  
 !$i
 I%rxx0HW!4 1 19U 1 VW
fh/r   c                    |\  }}t        g g d      j                  ddgd||      }t        t        j                  t        j                  gt        j                  t        j                  gdddg      }t	        j
                  ||       y )NrR   r6   rA   r   rj   ri   )r   r,   rD   nanr.   rq   )r0   r   r:   r;   r3   r2   s         r   test_quantile_multi_emptyz/TestDataFrameQuantile.test_quantile_multi_empty[  s~     -v"-.77#JQmF 8 
 66266""&&"&&)9:3*
 	fh/r   c                    t        j                  ddg      j                  |      }t        |ddgd      }|j	                  dd      }t        d	gd
gd      }t        j                  ||       |j	                  dd      }t        t        d      d	gdd
gd      }t        j                  ||       |j	                  dgd      }t        t        d      j                  |      d	ddg      }t        j                  ||       t        j                  ddg      j                  |      |d<   |ddg   j	                  ddd      }t        t        d      t        d      gddgdd| d      }t        j                  ||       |ddg   j	                  dgdd      }t        t        d      t        d      ggdgddgd| d      }t        j                  ||       |ddg   j	                  dd      }t        g g t        j                  d      }t        j                  ||       |ddg   j	                  dgd      }t        dgg       }t        j                  ||       y )N20102011r      ru   rv   r#   Tr]   rl   rv   r=   Fz2010-07-02 12:00:00ru   ri   2012r   r   r   z2011-07-02 12:00:00M8[]r   r>   rC   r*   r>   r*   r%   r   )r   to_datetimeas_unitr   r,   r   r.   r/   r   rq   rD   r   )r0   unitr   r1   r3   r2   s         r   test_quantile_datetimez,TestDataFrameQuantile.test_quantile_datetimee  sr   nnff-.66t<S1v./ St43%u37
vx0 Su5,-s3C:C
 	vx0 cU712::4@sK%
 	fh/ ..&&!12::4@3S#J((15(I,-y9N/OPa&vQ-	
 	vx0S#J((#QU(K-.	:O0PQR%FvQ-	
 	fh/ S#J((4(@"BbjjsC
vx0S#J((#T(BC5"5
fh/r   r*   )datetime64[ns]r   ztimedelta64[ns]z	Period[D]c                    |\  }}t        ddg|      }|j                  ddd||      }t        g g d|      }t        j                  ||       |j                  dgdd||      }t        dgg 	      }t        j
                  ||       y )
Nru   rv   rC   r*   r#   r   Fr7   r   r   )r   r,   r   r.   r/   rq   )r0   r*   r   r:   r;   r1   resr2   s           r   test_quantile_dt64_emptyz.TestDataFrameQuantile.test_quantile_dt64_empty  s     !.vSz7kkae=QW  
 "BS>
sH- kkE'  
 C5"5
c8,r   invalidr   c                     d}|\  }}t        j                  t        |      5  |j                  |||       d d d        y # 1 sw Y   y xY w)Nz2percentiles should all be in the interval \[0, 1\]r   r   )rH   r   r   r,   )r0   r   rL   r   r   r:   r;   s          r   test_quantile_invalidz+TestDataFrameQuantile.test_quantile_invalid  sN    D -v]]:S1 	Y##G=QW#X	Y 	Y 	Ys   AA
c           	      .   |\  }}|dk(  r1|r/|j                  t        j                  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      }|j                  dd||      }t        t        d      t        dd      t        j                  d
      gdg d      }t        j                  ||       |j                  dgd||      }t	        t        d      t        dd      t        j                  d
      ggdgg d      }t        j                  ||       y )Nr   r^   r?   
2011-01-01
2011-01-02
2011-01-03
US/Easternr   1 days2 days3 daysrX   rY   r   r#   Fr\   r%   r>   r   )rG   rH   rI   rJ   r   r   r   	Timedeltar,   r   r.   r/   rq   	r0   r   r   rM   r:   r;   r1   r   r   s	            r   test_quantile_boxz'TestDataFrameQuantile.test_quantile_box  s    -vW!4 1 19U 1 VW l+l+l+ l|<l|<l|< LL*LL*LL*
( kke=  
 ,',<8X&
 !
 	sC(kkE]6  
  l+l|<LL* %#

 	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
            }|j                  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                  ||       |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                  ||       y )Nr   r   r   r   r   r   r   r   )rX   ru   rY   rv   r   r   AaBbCcr   r#   Fr]   r   r   )r   r   r   NaTr   listr,   r   r.   r/   rq   )r0   r1   r   r   s       r   test_quantile_box_natz+TestDataFrameQuantile.test_quantile_box_nat  s(    l+FFl+l+	 l+l+FFl+	 l|<FFl|<l|<	 l|<l|<FFl|<	 LL*LL*LL*FF	 FFLL*LL*LL*	?%L NO(
T kk#Ek2,',',<8,<8X&X& x.
 	sC(kk3%ek4 l+l+l|<l|<LL*LL*	 %N
 	c3'r   c                 6   |\  }}|dk(  r1|r/|j                  t        j                  j                  d             t	        t        j                  dd      t        j                  dd      d      }t
        j                  |j                  d<   |j                  d||	      }t        d
|dk(  rdnd
gddgd      }t        j                  ||       |j                  ddg||	      }t	        d
dg|dk(  rddgnd
dgdddg      }t        j                  ||       |j                  dd||      }t        t        j                  dd      d      }t        j                  ||       |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<   |j                  d||	      }t        d
t
        j                  gddgd      }t        j                  ||       |j                  ddg||	      }t	        d
dgt
        j                  t
        j                  gdddg      }t        j                  ||       y )Nr   r^   r?   r   g      @r   )r   r   r#   r   rw   r   rl   ru   rv   r=   rm   rx   g      
@ri   rj   r&   r$   r   r
   )r   r   )rG   rH   rI   rJ   r   rD   aranger   rp   r,   r   r.   r/   rq   r   s	            r   test_quantile_nanz'TestDataFrameQuantile.test_quantile_nanC  s[    -vW!4 1 19U 1 VWRYYq#.RYYq#5FGHkk#]6kJ(2#<S#JUX
 	sC(kk3+]6kR3Z$1X$=c4[C: +
 	c3'kk#A]6kRRYYsC(s3
sC(kk$Ka}V  
 3,-1#tEI% ffCHHUO
c3' &&3kk#]6kJc266]3*3?
sC(kk3+]6kRsCj/?@dT
c3'r   c                 ^   |\  }}|dk(  r1|r/|j                  t        j                  j                  d             t	        dt
        j                  t
        j                  t
        j                  gid| d      }|j                  dd	||
      }t        t
        j                  gdgdd| d      }	t        j                  ||	       |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      }|j                  dd	||
      }t        t        d      t
        j                  gddgdd| d      }	t        j                  ||	       |j                  dgd	||
      }t	        t        d      t
        j                  ggdgddgd| d      }	t        j                  ||	       y )Nr   r^   r?   ru   r   r   r)   r#   Fr\   r   )r>   r*   z
2012-01-01z
2012-01-02z
2012-01-03r   rv   r   )rG   rH   rI   rJ   r   r   r   r,   r   r.   r/   rq   r   )
r0   r   r   rM   r   r:   r;   r1   r   r   s
             r   test_quantile_natz'TestDataFrameQuantile.test_quantile_natr  s"    -vW!4 1 19U 1 VWbffbffbff56D6mLkke=  
 bffXcUc$qMJ
sC(kkE]6  
 rvvhuc$qMJ
c3'  l+l+l+
 ffbffbff- vQ-

 kke=  
 |$bff-*vQ-	
 	sC(kkE]6  
 %rvv./%#JvQ-	
 	c3'r   c                 z   |\  }}t        ddgd      }|j                  d||      }t        t        j                  t        j                  gddgd      }t        j                  ||       |j                  dg||      }t        t        j                  t        j                  ggddgdg      }t        j                  ||       |j                  dd	||
      }t        g g dd      }t        j                  ||       |j                  dgd	||
      }t        g dg      }t        j                  ||       y )Nru   rv   r   r   r#   r   r=   )rC   r>   r   rj   r   )r   r,   r   rD   r   r.   r/   rq   r0   r   r:   r;   r1   r   r   s          r   "test_quantile_empty_no_rows_floatsz8TestDataFrameQuantile.test_quantile_empty_no_rows_floats  s    -vSz;kk#]6kJbffbff%c3ZcB
sC(kk3%}VkL"&&"&&)*S#JseL
c3'kk#A]6kRRr=
sC(kk3%a}VkT3%0
c3'r   c                     |\  }}t        ddgd      }|j                  d||      }t        t        j                  t        j                  gddgd      }t        j                  ||       y )Nru   rv   ra   r   r#   r   r=   )r   r,   r   rD   r   r.   r/   r   s          r    test_quantile_empty_no_rows_intsz6TestDataFrameQuantile.test_quantile_empty_no_rows_ints  s_     -vSz9kk#]6kJbffbff%c3ZcB
sC(r   c                 &   |\  }}t        ddgd      }|j                  dd||      }t        t        j                  t        j                  gddgdd      }t        j                  ||       |d   j                  j                  d	      |d<   |j                  dd||      }|j                  t              }|d
k(  rGd}t        j                  t        |      5  |j                  t        j                  d      }d d d        t        j                  ||       |d   j                  j                  d	      |d<   |j                  dd||      }|j                  |d   j                         }t        j                  ||       y # 1 sw Y   xY w)Nru   rv   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fillnarD   r   r*   )r0   r   r:   r;   r1   r   r   r   s           r    test_quantile_empty_no_rows_dt64z6TestDataFrameQuantile.test_quantile_empty_no_rows_dt64  sv    -vSz1ABkke=  
 VVRVVS#J6FS
 	sC( S'**((63kke=  
 jj I%BC++ME 9jj%j89
sC( S'**((63kke=  
 jjC'
sC(9 9s   "FFc                    |\  }}t        t        j                  dd            }d|j                  _        |j                  dd||      }t        g g dt        j                        }d|j                  _        t        j                  ||       |j                  dgd||      }t        g dgg 	      }d|j                  _        t        j                  ||       y )
Nz1/1/18r   r   zcaptain tightpantsr#   Tr\   r   r   )r   r   r   rC   r%   r,   r   rD   r   r>   r.   r/   rq   )r0   r   r:   r;   r1   r3   r2   s          r   test_quantile_empty_no_columnsz4TestDataFrameQuantile.test_quantile_empty_no_columns  s     -vr}}Xq9:.

d-  
 "BS

C2
vx0EM&  
 Rub9 4
fh/r   c                    |\  }}t        t        j                  j                  d      j	                  d      g d      }|d   dz  |d<   |d   }|s$t        |j                  j                        dk(  sJ |j                  d||       |r>d	|j                  d
<   |j                  d   |d   d
   k(  sJ |j                  d   d	k7  sJ y d	|j                  d
<   |j                  d   |d   d
   k(  sJ |j                  d   d	k(  sJ y )Nr   )r    r   r   r   rX   r   Fr\   c   r   )r   r   )r   rD   randomdefault_rngstandard_normallen_mgrblocksr,   rp   values)r0   rM   r   using_copy_on_writer:   r;   r1   r   s           r   test_quantile_item_cachez.TestDataFrameQuantile.test_quantile_item_cache  s    !.vII!!!$44V<o
 S'A+3g"rww~~&!+++
mFSCHHQK774=BsGAJ...774=B&&&CJJqM774=BsGAJ...774=B&&&r   c                     t        j                  t        d      5  t        t	        d            j                  dd       d d d        y # 1 sw Y   y xY w)NzInvalid method: foor   r   r#   r   )r;   rH   r   r   r   ranger,   r0   s    r   test_invalid_methodz)TestDataFrameQuantile.test_invalid_method  sB    ]]:-BC 	<eAh((U(;	< 	< 	<s   &AAc                     t        j                  t        d      5  t        t	        d            j                  ddd       d d d        y # 1 sw Y   y xY w)NzInvalid interpolation: foor   r   r#   r   r   )r;   r:   r
  r  s    r    test_table_invalid_interpolationz6TestDataFrameQuantile.test_table_invalid_interpolation  sH    ]]:-IJ 	SeAh((WE(R	S 	S 	Ss   'AAN)(__name__
__module____qualname__rH   rI   parametrizer   r   r   arraysSparseArrayr4   rP   rV   rd   rs   ry   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   [[ !"))"7"7A"?@!"))"7"7A"?@ Sz, &!6oNOu3'	
$1%$1+0Z5'G01 1$94&,P70r4&00030j [[	
--, [[YQb	C8(DEY FY5(nJ(X-(^4(l(*) )D0&'0<Sr   r   c                      e Zd Z ej                   ej
                  ej                  j                   e	d            ej                  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                  j                   e       dd      ej                  j5                  ddg g dgdg g dgdej6                  ej6                  gd d!gd"gdej6                  ej6                  gd d!gd"gg      d#               Zej                  j                   e       dd      ej                  j5                  d$d%g g dd%gd%ej:                  ej:                  gd d!gd"d%gg      d&               Zej                  j                   e       dd      ej                  j5                  d'ej6                  ej6                  g e	d(      dgg g d"gg      d)               Zy*)+TestQuantileExtensionDtyper<   z#raises when trying to add Intervalsr?   )marksr{   	   r   )r~   freqr|   r}   z1 Dayr   Int64r)   Float64c                 ,    t        | j                        S )N)strr*   r   s    r   r   z#TestQuantileExtensionDtype.<lambda>+  s    c!''l r   r   c                 ,    |j                   }d|_        |S NrX   )r   r%   )r0   r   idxs      r   r>   z TestQuantileExtensionDtype.index  s      mm
r   c                 d     ||      j                         }|t        u r	d|_        |S dg|_        |S r!  )copyr   r%   rC   )r0   r>   frame_or_seriesobjs       r   r&  zTestQuantileExtensionDtype.obj3  s=     e$))+f$CH 
 %CK
r   c                 r    t        |t              r|j                  |      }|S |j                  |d      }|S )NFr]   )
isinstancer   r,   )r0   r&  qsr3   s       r   compute_quantilez+TestQuantileExtensionDtype.compute_quantile>  s:    c6"\\"%F  \\"5\9Fr   c                    t        j                  t        |      t         j                        }t         j                  j                  d      j                  |       |j                  |   }g d}| j                  ||      }|j                  }|j                  dk(  rd}t        |d   |d   |d   g||d	
      } t        |      |      }t        j                  ||       y )Nr)   r   r#   r   r   r  r  r    r   r   rX   r*   r>   r%   )rD   r   r  intpr   r  shufflerp   r*  r*   r   typer.   assert_equal	r0   r   r&  r>   indexerr)  r3   	exp_dtyper2   s	            r   test_quantile_eaz+TestQuantileExtensionDtype.test_quantile_eaE  s    ))CJbgg6
		a ((1hhw&&sB/KK	;;'!!I 1XuQxr+9BS
 49X&
)r   c                    |j                   |j                  d<   |j                   |j                  d<   t        j                  t	        |      t        j
                        }t        j                  j                  d      j                  |       |j                  |   }g d}| j                  ||      }t        |d   |d   |d   g|j                  |d	
      } t        |      |      }t        j                  ||       y )Nr   r   r)   r   r,  r    r   rX   r-  )	_na_valuerp   rD   r   r  r.  r   r  r/  r*  r   r*   r0  r.   r1  )r0   r&  r>   r3  r)  r3   r2   s          r   test_quantile_ea_with_naz3TestQuantileExtensionDtype.test_quantile_ea_with_na[  s    oo ))CJbgg6
		a ((1hhw&&sB/ 1XuQxr+5;;bs
 49X&
)r   c                 >   |j                   |j                  d d  t        j                  |j                  |j
                  k(        sJ t        j                  t        |      t        j                        }t        j                  j                  d      j                  |       |j                  |   }g d}| j                  ||      }|j                  g dd|j                         }t        ||d      } t        |      |      }t!        j"                  ||       y )	Nr)   r   r,  )r   r   r   T)
allow_fill
fill_valuerX   r=   )r8  rp   rD   alldtypesr*   r   r  r.  r   r  r/  r*  taker   r0  r.   r1  )r0   r   r&  r>   r3  r)  r3   r2   s           r   test_quantile_ea_all_naz2TestQuantileExtensionDtype.test_quantile_ea_all_nan  s    oovvcjjEKK/000 ))CJbgg6
		a ((1hhw&&sB/::lt:X("3749X&
)r   c                    t        j                  t        |      t         j                        }t         j                  j                  d      j                  |       |j                  |   }d}| j                  ||      }|j                  }|j                  dk(  rd}t        d|d   i|d      }t        |t              r|d   }||k(  sJ y t        j                  ||       y )	Nr)   r   r#   r  r  rX   r    )r*   r%   )rD   r   r  r.  r   r  r/  rp   r*  r*   r   r(  r.   r/   r2  s	            r   test_quantile_ea_scalarz2TestQuantileExtensionDtype.test_quantile_ea_scalar  s     ))CJbgg6
		a ((1hhw&&sB/KK	;;'!!I3a/Ec6"}HX%%%""684r   zTODO(infer_string)F)r@   strictz*dtype, expected_data, expected_index, axisr   r   ra   ru   rv   r   c                     t        ddg|      }|j                  d|      }t        |dt        |      d      }t	        j
                  ||       y )Nru   rv   r   r#   r   r   r%   r>   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  sP     Sz7St,5+@	
 	vx0r   z:dtype, expected_data, expected_index, axis, expected_dtyper   c                     t        ddg|      }|j                  d|d      }t        |dt        |      |      }t	        j
                  ||       y )Nru   rv   r   r#   Fr   rE  rF  )	r0   r*   rG  rH  r8   expected_dtyper1   r3   r2   s	            r   test_empty_datelikez.TestQuantileExtensionDtype.test_empty_datelike  sR     Sz7St%@5+@
 	vx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   j                  d	|d
      }t	        |d	t        |      t        j                        }t        j                  ||       y )Nr   r   r   r   r   r   ru   r   r#   Tr   rE  )
r   r   r   r,   r   r   rD   r   r.   r/   )r0   rG  rH  r8   r1   r3   r2   s          r   test_datelike_numeric_onlyz5TestQuantileExtensionDtype.test_datelike_numeric_only  s     ^^VV$45V^^VV$45
 S#J((4d(K5+@


 	vx0r   N) r  r  r  rH   fixturer   r   IntervalIndexfrom_breaksr  rI   rJ   period_ranger   timedelta_ranger   rD   r   r>   r&  r*  r5  r9  r@  rB  r   r  r   rI  r   rL  rN  r  r   r   r  r    s    V^^FLL  ,,U2Y7kk''/T'U BOOL!#>BMM,lCBw2BHHYRYYq\1BHHYRYYq\3

 # ^^ *,*&*$5, [[)+4HQVW[[4B"b"a (3*a8rvvrvv&c
A6		
1 X1 [[)+4HQVW[[Dr2q*:;/#sQ@PQ	
	1 X	1 [[)+4HQVW[[-ffbffuQx+QK	
1 X1r   r  )numpyrD   rH   pandas._configr   pandasr   r   r   r   r   pandas._testing_testingr.   rO  r   r   r  r  r   r   <module>rY     so      -    x 9g"67=R
@S @SFv1 v1r   