
    bMh\                      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                   4   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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   Kt	          t          j                            d                              d                    }g d}	t          j        t"          |          5  |                     |	           d d d            d S # 1 swxY w Y   d S )N皙?
   ?Z   dtype皙?2000-01-10 19:12:00      ?z24:00:00NaTr   z2percentiles should all be in the interval \[0, 1\]         ?)matchd   )g      r   g      ?)quantilenp
percentiledropnar   objectindex	to_seriesr   diffpdto_timedeltatimedelta64sum	Timedeltapytestraises
ValueErrorrandomdefault_rngstandard_normal)
selfdatetime_seriesqdtstdsresultmsginvalidspercentile_arrays
             i/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/series/methods/test_quantile.pytest_quantilez TestSeriesQuantile.test_quantile   s   $$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 29((++;;C@@AA,,,]:S111 	) 	)JJ'(((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)s$   G::G>	G>	$JJJc                    |j                             |          |_         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d
| 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   zM8[])r   r:   r   r   float64)r:   r   r   )r   as_unitr   r   r   r   r   r:   tmassert_series_equalr   r   r   float)r,   r-   unitqsr1   expectedr/   s          r6   test_quantile_multiz&TestSeriesQuantile.test_quantile_multi3   s    / 5 = =d C C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       r6   test_quantile_interpolationz.TestSeriesQuantile.test_quantile_interpolationR   s     $$S$AABM/"8"8":":B??????%%c**R]?#9#9#;#;R@@@@@@ BwwwwwwrF   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   lowerrI   2   higher)r   r   r   r   arrayr   )r,   r.   s     r6   !test_quantile_interpolation_dtypez4TestSeriesQuantile.test_quantile_interpolation_dtype^   s     999&&s'&BBBM"(999"5"5r::::::!}}999&&s(&CCBM"(999"5"5r::::::!}}rF   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 )NrN   r   rO   rP   r   g      @r   r   r   g333333?)r   r   nanr   r   isnanr?   r@   )r,   serr1   rD   s1casesress          r6   test_quantile_nanz$TestSeriesQuantile.test_quantile_nanj   s2   aAq"&)**c""!!!! Bf%%%VRVRV,--. 	T 	TC,,s##C8C==   ,,u%%C"3xu(E(E(EFFF,,Sz**C"3/?Sz(R(R(RSSSS	T 	TrF   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)r:   r   rN   r9   )r   r   r?   r@   )r,   r_   rZ   r]   exps        r6   test_quantile_boxz$TestSeriesQuantile.test_quantile_box   s    H T&&&ll3d1g~~~~llC5!!d1gYse%888
sC(((((rF   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    r6   !test_datetime_timedelta_quantilesz4TestSeriesQuantile.test_datetime_timedelta_quantiles   sj    wvb111::3??@@@@@wvb111::3??@@@@@@@rF   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   rW   )r   r!   r   r   r?   r@   )r,   r]   s     r6   test_quantile_natz$TestSeriesQuantile.test_quantile_nat   s    bfbf%&&//44bf}}}}bfbf%&&//66
sFBF8C5$A$A$ABBBBBrF   zvalues, dtype)r   r   r   rN   r   rO   zSparse[int])g        Ng      ?g       @Sparse[float]c                    t          ||          }|                    dg          }t          t          j        |                                        dg                              d          }t          j        ||           d S )Nr   r   rj   )r   r   r   asarrayastyper?   r@   )r,   valuesr   rZ   r1   rD   s         r6   test_quantile_sparsez'TestSeriesQuantile.test_quantile_sparse   su    
 V5)))se$$"*S//**33SE::AA/RR
vx00000rF   c                    t          g d          }|                    d          }t          j        |          sJ |                    dg          }t          t          j        gdg          }t          j        ||           d S )Nr=   r   r   rW   r   r   r   rY   rX   r?   r@   r,   rZ   r]   rc   s       r6   test_quantile_empty_float64z.TestSeriesQuantile.test_quantile_empty_float64   s}    Ry)))ll3x}}llC5!!bfXcU+++
sC(((((rF   c                    t          g d          }|                    d          }t          j        |          sJ |                    dg          }t          t          j        gdg          }t          j        ||           d S )Nint64r   r   rW   rq   rr   s       r6   test_quantile_empty_int64z,TestSeriesQuantile.test_quantile_empty_int64   s}    Rw'''ll3x}}llC5!!bfXcU+++
sC(((((rF   c                    t          g d          }|                    d          }|t          j        u sJ |                    dg          }t          t          j        gdg|j                  }t          j        ||           d S )Nzdatetime64[ns]r   r   )r   r   )r   r   r!   r   r   r?   r@   rr   s       r6   test_quantile_empty_dt64z+TestSeriesQuantile.test_quantile_empty_dt64   s}    R/000ll3bf}}}}llC5!!bfXcU#)<<<
sC(((((rF   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)rN   r   rO   r   r   rN   r   rO   r   rW   ry   Float64)r   r   r   arangerm   r?   r@   )r,   r   r1   rD   s       r6   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0rF   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!   NAr?   assert_produces_warningr   r@   r,   any_int_ea_dtyperZ   r1   rD   s        r6   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 )NrN   r   r
   r   r   )r   r!   r   r   r?   r@   r   s        r6   test_quantile_dtype_sizez+TestSeriesQuantile.test_quantile_dtype_size   sk    beRUA&.>???sCj))1a&(8c
KKK
vx00000rF   N)__name__
__module____qualname__r7   rE   rL   rU   r^   r&   markparametrizer   r!   r%   r   rd   rg   ri   ro   rs   rv   rx   intrA   r}   r   r    rF   r6   r   r      s       !) !) !)F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 1rF   r   )numpyr   r&   pandas.core.dtypes.commonr   pandasr!   r   r   pandas._testing_testingr?   pandas.core.indexes.datetimesr   r   r   rF   r6   <module>r      s         0 0 0 0 0 0                  3 3 3 3 3 3h1 h1 h1 h1 h1 h1 h1 h1 h1 h1rF   