
    Owg\                      d    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y)    N)
is_integer)IndexSeries)	Timestampc                      e Zd Zd Zd Zd Zd Zd Zej                  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                  j                  dg ddfg ddfg      d        Zd Zd Zd Zej                  j                  deedg      d        Zd Zd Zy )!TestSeriesQuantilec                    |j                  d      }|t        j                  |j                         d      k(  sJ |j                  d      }|t        j                  |j                         d      k(  sJ t	        |t
              j                  d      }|t        j                  |j                         d      k(  sJ |j                  j                         }|j                  d      }|t        d      k(  sJ |j                         }|j                  d      }|t        j                  d	      k(  sJ t	        t        j                  d
      g      j                         }|t        j                  d      k(  sJ d}ddddgddgfD ]7  }t        j                   t"        |      5  |j                  |       d d d        9 t	        t        j$                  j'                  d      j)                  d            }g d}	t        j                   t"        |      5  |j                  |	       d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)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
             `/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/series/methods/test_quantile.pytest_quantilez TestSeriesQuantile.test_quantile   s   $$S)BMM/"8"8":B????$$S)BMM/"8"8":B???? ?&1::3?BMM/"8"8":B???? ##--/LLI34444 hhjLLBOOJ//// ./0446a(((DARy3(3 	2Gz5 2((12 2	2 299((+;;C@A,]]:S1 	)JJ'(	) 	)2 2
	) 	)s   %H2H>2H;	>Ic                    |j                   j                  |      |_         ddg}|j                  |      }t        t	        j
                  |j                         d      t	        j
                  |j                         d      g||j                        }t        j                  ||       |j                   j                         }d|_        |j                  d      }t        t        d      t        d      gd	d	gdd
| d      }t        j                  ||       |j                  g       }t        g |j                  t        g t              d      }t        j                  ||       y )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   sA    / 5 5 = =d C3Z ))"-o446;o446;  %%
 	vx0##--/j),-y9N/OP*vQ-	
 	vx0 ))"-_))r1Gy
 	vx0    c                     |j                  dd      }|t        j                  |j                         d      k(  sJ |j                  d      }|t        j                  |j                         d      k(  sJ ||k(  sJ y )Nr
   linearinterpolationr   )r   r   r   r   )r,   r-   r.   q1s       r6   test_quantile_interpolationz.TestSeriesQuantile.test_quantile_interpolationR   sz     $$S$ABMM/"8"8":B????%%c*R]]?#9#9#;R@@@@ BwwrF   c                 p   t        g d      j                  dd      }|t        j                  t        j                  g d      d      k(  sJ t        |      sJ t        g d      j                  dd      }|t        j                  t        j                  g d      d      k(  sJ t        |      sJ y )N)         r   lowerrI   2   higher)r   r   r   r   arrayr   )r,   r.   s     r6   !test_quantile_interpolation_dtypez4TestSeriesQuantile.test_quantile_interpolation_dtype^   s     9&&s'&BBMM"((9"5r::::!}}9&&s(&CBMM"((9"5r::::!}}rF   c           	      x   t        ddddt        j                  g      }|j                  d      }d}||k(  sJ t        g t              }|t        t        j                  t        j                  g      g}|D ]  }|j                  d      }t        j
                  |      sJ |j                  dg      }t        j                  |t        t        j                  gdg             |j                  d	d
g      }t        j                  |t        t        j                  t        j                  gd	d
g              y )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   s    aAq"&&)*c"!!! Bf%VRVVRVV,-. 	TC,,s#C88C= =,,u%C""3xu(EF,,Sz*C""3/?Sz(RS	TrF   casez
2011-01-01z
2011-01-02z
2011-01-03z
US/Eastern)tzz1 daysz2 daysz3 daysc                     t        |d      }|j                  d      }||d   k(  sJ |j                  dg      }t        |d   gdgd      }t        j                  ||       y )NXXX)r:   r   rN   r9   )r   r   r?   r@   )r,   r_   rZ   r]   exps        r6   test_quantile_boxz$TestSeriesQuantile.test_quantile_box   se    H T&ll3d1g~~llC5!d1gYse%8
sC(rF   c                     t        j                  t        g d      j                  d            sJ t        j                  t        g d      j                  d            sJ y )NzM8[ns]r   r   zm8[ns])r!   isnar   r   )r,   s    r6   !test_datetime_timedelta_quantilesz4TestSeriesQuantile.test_datetime_timedelta_quantiles   sJ    wwvb1::3?@@@wwvb1::3?@@@rF   c                 p   t        t        j                  t        j                  g      j                  d      }|t        j                  u sJ t        t        j                  t        j                  g      j                  dg      }t	        j
                  |t        t        j                  gdg             y )Nr   rW   )r   r!   r   r   r?   r@   )r,   r]   s     r6   test_quantile_natz$TestSeriesQuantile.test_quantile_nat   sw    bffbff%&//4bff}}bffbff%&//6
sFBFF8C5$ABrF   zvalues, dtype)r   r   r   rN   r   rO   zSparse[int])g        Ng      ?g       @Sparse[float]c                     t        ||      }|j                  dg      }t        t        j                  |            j                  dg      j	                  d      }t        j                  ||       y )Nr   r   rj   )r   r   r   asarrayastyper?   r@   )r,   valuesr   rZ   r1   rD   s         r6   test_quantile_sparsez'TestSeriesQuantile.test_quantile_sparse   sZ    
 V5)se$"**S/*33SE:AA/R
vx0rF   c                     t        g d      }|j                  d      }t        j                  |      sJ |j                  dg      }t        t        j                  gdg      }t        j                  ||       y )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xx}}llC5!bffXcU+
sC(rF   c                     t        g d      }|j                  d      }t        j                  |      sJ |j                  dg      }t        t        j                  gdg      }t        j                  ||       y )Nint64r   r   rW   rq   rr   s       r6   test_quantile_empty_int64z,TestSeriesQuantile.test_quantile_empty_int64   s`    Rw'll3xx}}llC5!bffXcU+
sC(rF   c                    t        g d      }|j                  d      }|t        j                  u sJ |j                  dg      }t        t        j                  gdg|j                        }t        j                  ||       y )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   sg    R/0ll3bff}}llC5!bffXcU#))<
sC(rF   r   Int64c                 0   t        g d|      j                  t        j                  ddd            }t        t        j                  ddd      t        j                  ddd            }|d	k(  r|j	                  d
      }t        j                  ||       y )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   sr    	/881a9NO"))Aq#.bii1d6KLGy1H
vx0rF   c                 \   t        t        j                  t        j                  g|      }t        j                  d       5  |j                  ddg      }d d d        t        t        j                  t        j                  g|ddg      }t        j                  |       y # 1 sw Y   NxY w)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    beeRUU^+;<''- 	.\\3*-F	.255"%%.0@c
S
vx0	. 	.s   B""B+c                     t        t        j                  t        j                  dg|      }|j                  ddg      }t        ddg|ddg      }t	        j
                  ||       y )NrN   r   r
   r   r   )r   r!   r   r   r?   r@   r   s        r6   test_quantile_dtype_sizez+TestSeriesQuantile.test_quantile_dtype_size   sW    beeRUUA&.>?sCj)1a&(8c
K
vx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>

T* [[ ,',',' ,<8,<8,<8
 R\\(#\R\\(%;\R\\(=ST ,',','	 ,<8,<8,<8	 X&X&X&	3	
"F)G"F)A
C [[
m	,/Do.VW1	1	)	)	) [[WsE7&;<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   3h1 h1rF   