
    aj9!                         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ej                            ddd	g          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
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NaTnsr   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
             m/var/www/app.qaans.com/backend/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////// t445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qsr2   expectedr0   s          r7   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       r7   test_quantile_interpolationz.TestSeriesQuantile.test_quantile_interpolationR   s     $$S$AABM/"8"8":":B??????%%c**R]?#9#9#;#;R@@@@@@ BwwwwwwrG   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   lowerrJ   2   higher)r   r   r   r   arrayr   )r-   r/   s     r7   !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::::::!}}rG   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 )NrO   r   rP   rQ   r   g      @r   r   r   g333333?)r   r   nanr   r   isnanr@   rA   )r-   serr2   rE   s1casesress          r7   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rG   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   rO   r:   )r   r   r@   rA   )r-   r`   r[   r^   exps        r7   test_quantile_boxz$TestSeriesQuantile.test_quantile_box   s    H T&&&ll3d1g~~~~llC5!!d1gYse%888
sC(((((rG   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    r7   !test_datetime_timedelta_quantilesz4TestSeriesQuantile.test_datetime_timedelta_quantiles   sj    wvb111::3??@@@@@wvb111::3??@@@@@@@rG   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   rX   )r   r"   r   r   r@   rA   )r-   r^   s     r7   test_quantile_natz$TestSeriesQuantile.test_quantile_nat   s    bfbf%&&//44bf}}}}bfbf%&&//66
sFBF8C5$A$A$ABBBBBrG   zvalues, dtype)r   r   r   rO   r   rP   zSparse[int])g        Ng      ?g       @Sparse[float]c                    t          ||          }|                    dg          }t          t          j        |                                        dg                              d          }t          j        ||           d S )Nr   r   rk   )r   r   r   asarrayastyper@   rA   )r-   valuesr   r[   r2   rE   s         r7   test_quantile_sparsez'TestSeriesQuantile.test_quantile_sparse   su    
 V5)))se$$"*S//**33SE::AA/RR
vx00000rG   c                    t          g d          }|                    d          }t          j        |          sJ |                    dg          }t          t          j        gdg          }t          j        ||           d S )Nr>   r   r   rX   r   r   r   rZ   rY   r@   rA   r-   r[   r^   rd   s       r7   test_quantile_empty_float64z.TestSeriesQuantile.test_quantile_empty_float64   s}    Ry)))ll3x}}llC5!!bfXcU+++
sC(((((rG   c                    t          g d          }|                    d          }t          j        |          sJ |                    dg          }t          t          j        gdg          }t          j        ||           d S )Nint64r   r   rX   rr   rs   s       r7   test_quantile_empty_int64z,TestSeriesQuantile.test_quantile_empty_int64   s}    Rw'''ll3x}}llC5!!bfXcU+++
sC(((((rG   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@   rA   rs   s       r7   test_quantile_empty_dt64z+TestSeriesQuantile.test_quantile_empty_dt64   s}    R/000ll3bf}}}}llC5!!bfXcU#)<<<
sC(((((rG   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)rO   r   rP   r   r   rO   r   rP   r   rX   rz   Float64)r   r   r   arangern   r@   rA   )r-   r   r2   rE   s       r7   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0rG   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   rA   r-   any_int_ea_dtyper[   r2   rE   s        r7   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 )NrO   r   r
   r   r   )r   r"   r   r   r@   rA   r   s        r7   test_quantile_dtype_sizez+TestSeriesQuantile.test_quantile_dtype_size   sk    beRUA&.>???sCj))1a&(8c
KKK
vx00000rG   N)__name__
__module____qualname__r8   rF   rM   rV   r_   r'   markparametrizer   r"   r&   r   re   rh   rj   rp   rt   rw   ry   intrB   r~   r   r    rG   r7   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 1rG   r   typ
datetime64r$   c                 |    t          g |  d| d          }|                                }|t          j        u sJ d S )N[r=   r   )r   r   r"   r   )r   rC   r[   r2   s       r7    test_quantile_empty_datetimeliker      sK    
c++D+++
,
,
,C\\^^FRVrG   )numpyr   r'   pandas.core.dtypes.commonr   pandasr"   r   r   pandas._testing_testingr@   pandas.core.indexes.datetimesr   r   r   r   r   r   rG   r7   <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1V } =>>  ?>  rG   