
    d                     l    d dl Zd dlZd dlmZ d dlZd dlmZmZ d dl	m
Z d dlmZ  G d d          ZdS )    N)
is_integer)IndexSeries)	Timestampc                   (   e Zd Zd Zd Zd Zd Zd Zej	        
                    d ed           ed           ed	          g edd
           edd
           ed	d
          g ej        d           ej        d           ej        d          g ed           ed           ed	          ej        g edd
           edd
           ed	d
          ej        g ej        d           ej        d           ej        d          ej        gg          d             Zd Zd Zej	        
                    dg ddfg ddfg          d             Zd Zej	        
                    deedg          d             Zd Zd ZdS )TestSeriesQuantilec                    |                     d          }|t          j        |                                d          k    sJ |                     d          }|t          j        |                                d          k    sJ t	          |t
                                         d          }|t          j        |                                d          k    sJ |j                                        }|                     d          }|t          d          k    sJ |	                                }|                     d          }|t          j        d	          k    sJ t	          t          j        d
          g                                          }|t          j        d          k    sJ d}ddddgddgfD ]J}t          j        t"          |          5  |                     |           d d d            n# 1 swxY w Y   Kd S )N皙?
   ?Z   dtype皙?2000-01-10 19:12:00      ?z24:00:00NaTr   z2percentiles should all be in the interval \[0, 1\]         ?)match)quantilenp
percentiledropnar   objectindex	to_seriesr   diffpdto_timedeltatimedelta64sum	Timedeltapytestraises
ValueError)selfdatetime_seriesqdtstdsresultmsginvalids           e/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/series/methods/test_quantile.pytest_quantilez TestSeriesQuantile.test_quantile   s0   $$S))BM/"8"8":":B??????$$S))BM/"8"8":":B?????? ?&111::3??BM/"8"8":":B?????? #--//LLI3444444 hhjjLLBOJ////// ../004466a((((DARy3(3 	2 	2Gz555 2 2((1112 2 2 2 2 2 2 2 2 2 2 2 2 2 2	2 	2s   G::G>	G>	c                    ddg}|                     |          }t          t          j        |                                d          t          j        |                                d          g||j                  }t          j        ||           |j        	                                }d|_        |                     d          }t          t          d          t          d          gd	d	gd          }t          j        ||           |                     g           }t          g |j        t          g t          
          d          }t          j        ||           d S )Nr
   r   r   r   r   namexxx)r   r   r   r   r   float64)r4   r   r   )r   r   r   r   r   r4   tmassert_series_equalr   r   r   r   float)r(   r)   qsr-   expectedr+   s         r0   test_quantile_multiz&TestSeriesQuantile.test_quantile_multi.   sa   3Z ))"--o4466;;o4466;;  %
 
 
 	vx000#--//j)),--y9N/O/OP*
 
 

 	vx000 ))"--_)r1G1G1Gy
 
 
 	vx00000    c                 "   |                     dd          }|t          j        |                                d          k    sJ |                     d          }|t          j        |                                d          k    sJ ||k    sJ d S )Nr
   linearinterpolationr   )r   r   r   r   )r(   r)   r*   q1s       r0   test_quantile_interpolationz.TestSeriesQuantile.test_quantile_interpolationK   s     $$S$AABM/"8"8":":B??????%%c**R]?#9#9#;#;R@@@@@@ Bwwwwwwr=   c                    t          g d                              dd          }|t          j        t          j        g d          d          k    sJ t          |          sJ t          g d                              dd          }|t          j        t          j        g d          d          k    sJ t          |          sJ d S )N)         r   lowerr@   2   higher)r   r   r   r   arrayr   )r(   r*   s     r0   !test_quantile_interpolation_dtypez4TestSeriesQuantile.test_quantile_interpolation_dtypeW   s     999&&s'&BBBM"(999"5"5r::::::!}}999&&s(&CCBM"(999"5"5r::::::!}}r=   c           	         t          ddddt          j        g          }|                    d          }d}||k    sJ t          g t                    }|t          t          j        t          j        g          g}|D ]}|                    d          }t          j        |          sJ |                    dg          }t          j        |t          t          j        gdg                     |                    d	d
g          }t          j        |t          t          j        t          j        gd	d
g                     d S )NrE   r   rF   rG   r   g      @r   r   r   g333333?)r   r   nanr   r   isnanr7   r8   )r(   sr-   r;   s1casesress          r0   test_quantile_nanz$TestSeriesQuantile.test_quantile_nanc   s.   Aq!Q'((C!!!! Bf%%%VRVRV,--. 	T 	TA**S//C8C==   **cU##C"3xu(E(E(EFFF**c3Z((C"3/?Sz(R(R(RSSSS	T 	Tr=   casez
2011-01-01z
2011-01-02z
2011-01-03z
US/Eastern)tzz1 daysz2 daysz3 daysc                     t          |d          }|                    d          }||d         k    sJ |                    dg          }t          |d         gdgd          }t          j        ||           d S )NXXX)r4   r   rE   r3   )r   r   r7   r8   )r(   rV   rQ   rT   exps        r0   test_quantile_boxz$TestSeriesQuantile.test_quantile_boxx   s    H 4e$$$jjood1g~~~~jj#d1gYse%888
sC(((((r=   c                     t          j        t          g d                              d                    sJ t          j        t          g d                              d                    sJ d S )NzM8[ns]r   r   zm8[ns])r    isnar   r   )r(   s    r0   !test_datetime_timedelta_quantilesz4TestSeriesQuantile.test_datetime_timedelta_quantiles   sj    wvb111::3??@@@@@wvb111::3??@@@@@@@r=   c                 h   t          t          j        t          j        g                              d          }|t          j        u sJ t          t          j        t          j        g                              dg          }t	          j        |t          t          j        gdg                     d S )Nr   rN   )r   r    r   r   r7   r8   )r(   rT   s     r0   test_quantile_natz$TestSeriesQuantile.test_quantile_nat   s    bfbf%&&//44bf}}}}bfbf%&&//66
sFBF8C5$A$A$ABBBBBr=   zvalues, dtype)r   r   r   rE   r   rF   zSparse[int])g        Ng      ?g       @Sparse[float]c                    t          ||          }|                    dg          }t          t          j        |                                        dg                              d          }t          j        ||           d S )Nr   r   ra   )r   r   r   asarrayastyper7   r8   )r(   valuesr   serr-   r;   s         r0   test_quantile_sparsez'TestSeriesQuantile.test_quantile_sparse   su    
 V5)))se$$"*S//**33SE::AA/RR
vx00000r=   c                    t          g d          }|                    d          }t          j        |          sJ |                    dg          }t          t          j        gdg          }t          j        ||           t          g d          }|                    d          }t          j        |          sJ |                    dg          }t          t          j        gdg          }t          j        ||           t          g d          }|                    d          }|t          j        u sJ |                    dg          }t          t          j        gdg          }t          j        ||           d S )Nr6   r   r   rN   int64zdatetime64[ns])	r   r   r   rP   rO   r7   r8   r    r   )r(   rQ   rT   rZ   s       r0   test_quantile_emptyz&TestSeriesQuantile.test_quantile_empty   sa   2Y'''jjoox}}jj#bfXcU+++
sC((( 2W%%%jjoox}}jj#bfXcU+++
sC((( 2-...jjoobf}}}}jj#bfXcU+++
sC(((((r=   r   Int64c                 L   t          g d|                              t          j        ddd                    }t          t          j        ddd          t          j        ddd                    }|d	k    r|                    d
          }t          j        ||           d S )N)rE   r   rF   r   r   rE   r   rF   r   rN   rk   Float64)r   r   r   arangerd   r7   r8   )r(   r   r-   r;   s       r0   test_quantile_dtypesz'TestSeriesQuantile.test_quantile_dtypes   s    			///881a9N9NOO")Aq#..bi1d6K6KLLLGy11H
vx00000r=   c                 X   t          t          j        t          j        g|          }t          j        d           5  |                    ddg          }d d d            n# 1 swxY w Y   t          t          j        t          j        g|ddg          }t          j        ||           d S )Nr   r
   r   r   r   )r   r    NAr7   assert_produces_warningr   r8   r(   any_int_ea_dtyperf   r-   r;   s        r0   test_quantile_all_naz'TestSeriesQuantile.test_quantile_all_na   s    beRU^+;<<<'-- 	. 	.\\3*--F	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.25"%.0@c
SSS
vx00000s   A  A$'A$c                     t          t          j        t          j        dg|          }|                    ddg          }t          ddg|ddg          }t	          j        ||           d S )NrE   r   r
   r   rq   )r   r    rr   r   r7   r8   rt   s        r0   test_quantile_dtype_sizez+TestSeriesQuantile.test_quantile_dtype_size   sk    beRUA&.>???sCj))1a&(8c
KKK
vx00000r=   N)__name__
__module____qualname__r1   r<   rC   rL   rU   r%   markparametrizer   r    r$   r   r[   r^   r`   rg   rj   intr9   ro   rv   rx    r=   r0   r   r      s       2 2 2<1 1 1:
 
 

 
 
T T T* [ 	,''	,''	,'' 	,<888	,<888	,<888
 R\(##\R\(%;%;\R\(=S=ST 	,''	,''	,''	 	,<888	,<888	,<888	 X&&X&&X&&	3	
" "F) )G" "F)A A A
C C C [


m	,/D/D/Do.VW 1 1	 1) ) )> [WsE7&;<<1 1 =<11 1 11 1 1 1 1r=   r   )numpyr   r%   pandas.core.dtypes.commonr   pandasr    r   r   pandas._testing_testingr7   pandas.core.indexes.datetimesr   r   r   r=   r0   <module>r      s         0 0 0 0 0 0                  3 3 3 3 3 3_1 _1 _1 _1 _1 _1 _1 _1 _1 _1r=   