o
    _~#g\                      @   s^   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 dZdS )    N)
is_integer)IndexSeries)	Timestampc                   @   sp  e Zd Zdd Zdd Zdd Zdd Zd	d
 Zej	
dedededgedddedddedddgedededgedededejgedddedddedddejgedededejggdd Zdd Zdd Zej	
dg ddfg ddfgdd  Zd!d" Zd#d$ Zd%d& Zej	
d'eed(gd)d* Zd+d, Zd-d. Zd/S )0TestSeriesQuantilec           
   	   C   s  | d}|t| dksJ | d}|t| dks"J t|td d}|t| dks7J |j }| d}|tdksIJ |	 }| d}|t
d	ks[J ttd
g }|t
dksnJ d}ddddgddgfD ]}tjt|d | | W d    n1 sw   Y  qzttjdd}g d}	tjt|d | |	 W d    d S 1 sw   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_array r3   /var/www/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/lib/python3.10/site-packages/pandas/tests/series/methods/test_quantile.pytest_quantile   s2   




"z TestSeriesQuantile.test_quantilec                 C   s   |j ||_ ddg}||}tt| dt| dg||jd}t	|| |j 
 }d|_|d}ttdtdgd	d	gdd
| dd}t	|| |g }tg |jtg tddd}t	|| d S )Nr   r	   r   r
   r   namexxx)r   r   r   r   zM8[])r   r7   r   r   float64)r7   r   r   )r   as_unitr   r   r   r   r   r7   tmassert_series_equalr   r   r   float)r)   r*   unitqsr.   expectedr,   r3   r3   r4   test_quantile_multi3   s4   




z&TestSeriesQuantile.test_quantile_multic                 C   sX   |j ddd}|t| dksJ | d}|t| dks$J ||ks*J d S )Nr   linearinterpolationr   )r   r   r   r   )r)   r*   r+   q1r3   r3   r4   test_quantile_interpolationR   s
   
z.TestSeriesQuantile.test_quantile_interpolationc                 C   s   t g djddd}|ttg ddksJ t|s J t g djddd}|ttg ddks:J t|s@J d S )N)         r   lowerrD   2   higher)r   r   r   r   arrayr   )r)   r+   r3   r3   r4   !test_quantile_interpolation_dtype^   s   z4TestSeriesQuantile.test_quantile_interpolation_dtypec                 C   s   t ddddtjg}|d}d}||ksJ t g td}|t tjtjgg}|D ]8}|d}t|s7J |dg}t|t tjgdgd |d	d
g}t|t tjtjgd	d
gd q)d S )NrH   r   rI   rJ   r   g      @r   r   r   g333333?)r   r   nanr   r   isnanr<   r=   )r)   serr.   rA   s1casesresr3   r3   r4   test_quantile_nanj   s   

"z$TestSeriesQuantile.test_quantile_nancasez
2011-01-01z
2011-01-02z
2011-01-03z
US/Eastern)tzz1 daysz2 daysz3 daysc                 C   sX   t |dd}|d}||d ksJ |dg}t |d gdgdd}t|| d S )NXXX)r7   r   rH   r6   )r   r   r<   r=   )r)   rX   rS   rV   expr3   r3   r4   test_quantile_box   s   $
z$TestSeriesQuantile.test_quantile_boxc                 C   s<   t tg dddsJ t tg dddsJ d S )NzM8[ns]r   r   zm8[ns])r   isnar   r   )r)   r3   r3   r4   !test_datetime_timedelta_quantiles   s    z4TestSeriesQuantile.test_datetime_timedelta_quantilesc                 C   sZ   t tjtjgd}|tju sJ t tjtjgdg}t|t tjgdgd d S )Nr   rP   )r   r   r   r   r<   r=   )r)   rV   r3   r3   r4   test_quantile_nat   s   z$TestSeriesQuantile.test_quantile_natzvalues, dtype)r   r   r   rH   r   rI   zSparse[int])g        Ng      ?g       @Sparse[float]c                 C   sD   t ||d}|dg}t t|dgd}t|| d S )Nr   r   r`   )r   r   r   asarrayastyper<   r=   )r)   valuesr   rS   r.   rA   r3   r3   r4   test_quantile_sparse   s   z'TestSeriesQuantile.test_quantile_sparsec                 C   R   t g dd}|d}t|sJ |dg}t tjgdgd}t|| d S )Nr:   r   r   rP   r   r   r   rR   rQ   r<   r=   r)   rS   rV   r[   r3   r3   r4   test_quantile_empty_float64      
z.TestSeriesQuantile.test_quantile_empty_float64c                 C   re   )Nint64r   r   rP   rf   rg   r3   r3   r4   test_quantile_empty_int64   ri   z,TestSeriesQuantile.test_quantile_empty_int64c                 C   sV   t g dd}|d}|tju sJ |dg}t tjgdg|jd}t|| d S )Nzdatetime64[ns]r   r   )r   r   )r   r   r   r   r   r<   r=   rg   r3   r3   r4   test_quantile_empty_dt64   s   
z+TestSeriesQuantile.test_quantile_empty_dt64r   Int64c                 C   sb   t g d|dtddd}t tdddtdddd}|d	kr)|d
}t|| d S )N)rH   r   rI   r   r   rH   r   rI   r   rP   rm   Float64)r   r   r   arangerb   r<   r=   )r)   r   r.   rA   r3   r3   r4   test_quantile_dtypes   s
     
z'TestSeriesQuantile.test_quantile_dtypesc                 C   sv   t tjtjg|d}td  |ddg}W d    n1 s!w   Y  t tjtjg|ddgd}t|| d S )Nr   r   r   r   r   )r   r   NAr<   assert_produces_warningr   r=   r)   any_int_ea_dtyperS   r.   rA   r3   r3   r4   test_quantile_all_na   s   z'TestSeriesQuantile.test_quantile_all_nac                 C   sJ   t tjtjdg|d}|ddg}t ddg|ddgd}t|| d S )NrH   r   r   r   rq   )r   r   rr   r   r<   r=   rt   r3   r3   r4   test_quantile_dtype_size   s   z+TestSeriesQuantile.test_quantile_dtype_sizeN)__name__
__module____qualname__r5   rB   rG   rO   rW   r#   markparametrizer   r   r"   r   r\   r^   r_   rd   rh   rk   rl   intr>   rp   rv   rw   r3   r3   r3   r4   r      sb    #






#	

r   )numpyr   r#   pandas.core.dtypes.commonr   pandasr   r   r   pandas._testing_testingr<   pandas.core.indexes.datetimesr   r   r3   r3   r3   r4   <module>   s    