o
    _~#g^                  *   @   sX  d dl m Z  d dlZd dlZd dlZd dlmZmZmZm	Z	 d dl
mZ dd Zdd Zejdd	gd	d
ggejjddd dD edededededgejdddejdddejdddejdddejdddgeded  eded  eded  eded  eded  geddeddeddeddeddgg dd dejddddg dfdddg dfdddg dfdddg dfd ddg d!fd ddg d"fd ddg d#fd ddg d$fd%ddg d&fd%ddg d'fd%ddg d(fd%ddg d)fd*ddg d+fd*ddg d,fd*ddg d-fd*ddg d.fd/ddg d0fd/ddg d1fd/ddg d#fd/ddg d2fgd3d4 Zejdd	gd	d
ggejdej ej ejd5ejejejggejd6ddd7d8d8ejd9ejd:d:gfddd;g d<fddd=g d>fddd7d:d:ejd9ejd8d8gfddd;g d?fddd=g d@fd dd7d5d5ejdAejdBdBgfd dd;g dCfd dd=g dDfd dd7dBdBejdAejd5d5gfd dd;g dEfd dd=g dFfd%dd7dGdGejdAejdHdHgfd%dd;g dIfd%dd=g dJfd%dd7dHdHejdAejdGdGgfd%dd;g dKfd%dd=g dLfd*dd7d5dGejdAejdBdHgfd*dd;g dMfd*dd=g dNfd*dd7dBdHejdAejd5dGgfd*dd;g dOfd*dd=g dPfd/dd7d5d5ejdGejdAdAgfd/dd;g dQfd/dd=g dRfd/dd7dAdAejdGejd5d5gfd/dd;g dSfd/dd=g dTfgdUdV Zejdd	gd	d
ggejjddWd dXD ededejedededejejgejdddejdddejejdddejdddejdddejejgeded  eded  ejeded  eded  eded  ejejgeddeddejeddeddeddejejgg dYd dejdZg ddd7ddGdGejdHdGdBejejgfddd7dd[d[ejd5d[d\ejejgfddd7ddBdBejd5dBdGejejgfddd7dd\d\ejd]d\d[ejejgfd dd7dd5d5ejdHd5dBejejgfd dd7dd]d]ejd5d]d\ejejgfd dd7ddAdAejd5dAdGejejgfd dd7dd^d^ejd]d^d[ejejgfd%dd7ddAdAejdHdAdBejejgfd%dd7dd^d^ejd5d^d\ejejgfd%dd7ddHdHejd5dHdGejejgfd%dd7dd5d5ejd]d5d[ejejgfd*dd7dd5dGejdHdAdBejejgfd*dd7dd]d[ejd5d^d\ejejgfd*dd7ddAdBejd5dHdGejejgfd*dd7dd^d\ejd]d5d[ejejgfd/dd7dd5d5ejdAd5dGejejgfd/dd7dd_d_ejd5d_d`ejejgfd/dd7ddAdAejd5dAdGejejgfd/dd7dd5d5ejd_d5d`ejejgfddd=dg dafddd=dg dbfddd=dg dcfddd=dg ddfd dd=dg defd dd=dg dffd dd=dg dgfd dd=dg dhfd%dd=dg difd%dd=dg djfd%dd=dg dkfd%dd=dg dlfd*dd=dg dmfd*dd=dg dnfd*dd=dg dofd*dd=dg dpfd/dd=dg dqfd/dd=dg drfd/dd=dg dsfd/dd=dg dtfdudv Zejdwdg dxfdg dyfgdzd{ Zejd|g d}ejd~ddgdd Zejdg dejdddgejdg dejdddgejdg ddejdejdggdd Zejdg dejdg dejdddgejdddgejdg ddejdejdgdejdejd9ggdd Zdd Zejdddgddgd5d5gfg dg dg dfg ddddejgdd5d5ejgfg dddejgdd5ejgfgdd Zdd Zejdddgdd Zdd Z dd Z!dd Z"dd Z#dd Z$ejdd;d=gdd Z%dS )    )datetimeN)	DataFrameNaTSeriesconcatc                  C   s   t jg dd} t| }| }d}|j| dd}tjt|d |  W d    n1 s.w   Y  |j| dd}tjt|d |  W d    d S 1 sQw   Y  d S )NForderedz0Cannot perform rank with non-ordered Categorical)observedmatch)	pdCategoricalr   to_framegroupbypytestraises	TypeErrorrank)catserdfmsggbgb2 r   /var/www/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/lib/python3.10/site-packages/pandas/tests/groupby/methods/test_rank.py)test_rank_unordered_categorical_typeerror   s   

"r   c                  C   s.  t jdgd td} t jdgd td}t jdjdddtd	}t jdjdddtd	}tt jdd| 	||	|d
}|
ddgj }dd |
ddgD }t|dd}||j}t|| |
ddgjjdd}dd |
ddgD }t|dd}||j}t|| d S )N
aaaaaaaaaad   dtype
bbbbbbbbbb      r   i  )sizer    )valuekey1key2r&   r'   c                 S   s   g | ]	\}}|j  qS r   r%   r   .0keypiecer   r   r   
<listcomp>1   s    z#test_rank_apply.<locals>.<listcomp>axisTpctc                 S   s   g | ]\}}|j jd dqS )Tr0   r(   r)   r   r   r   r-   8   s    )nparrayobjectrandomdefault_rngintegersintr   standard_normaltaker   r%   r   r   reindexindextmassert_series_equal)lev1lev2lab1lab2r   resultexpectedr   r   r   test_rank_apply!   s,   rE   grpsquxquuxvalsc                 C   s   g | ]}t jg d |dqS ))r#   r#      r#      r   )r2   r3   r*   r    r   r   r   r-   C   s    r-   )i8i4i2i1u8u4u2u1f8f4f2z
2018-01-02z
2018-01-08z
2018-01-06z
US/PacifictzDc                 C      t | d S Nr   typexr   r   r   <lambda>e       ra   )idszties_method,ascending,pct,expaverageTF)       @re         @re         @)皙?rh         ?rh   皙?)rg   rg   ri   rg   re   )rj   rj   皙?rj   rh   min)ri   ri   rf   ri   rg   )rk   rk   ri   rk   rj   )      @rm   ri   rm   re   )333333?rn   rk   rn   rh   max)rm   rm   rf   rm   rg   )rn   rn   ri   rn   rj   )rf   rf   ri   rf   re   )ri   ri   rk   ri   rh   first)ri   re   rf   rm   rg   )rk   rh   ri   rn   rj   )rm   rg   ri   rf   re   )rn   rj   rk   ri   rh   dense)ri   ri   rm   ri   re   )UUUUUU?rr   ri   rr   UUUUUU?)ri   ri   rr   ri   rs   c                 C   s   t | t|}|}t|t|  }t|t jr t j||jd}t||d}|	dj
|||d}	t|t|  dgd}
t|	|
 d S )Nr   r+   valr+   )method	ascendingr1   ru   columnsr2   repeatlenlist
isinstancendarrayr3   r    r   r   r   r=   assert_frame_equal)rF   rI   ties_methodrw   r1   expr+   	orig_valsr   rC   exp_dfr   r   r   test_rank_args@   s   Ar   ri   z#ties_method,ascending,na_option,expkeep      ?         @top)      @r   r   rf   r         @r   bottom)r   r   r   rm   r   r   r   )r   r   r   rf   r   r   r   )r   r   r   rm   r   r   r   rm   rg   )rm   rm   ri   rf   ri         @r   )ri   ri   r   rm   r   rg   rg   )r   r   ri   rf   ri   rm   rm   )rg   rg   r   rm   r   ri   ri   re   rf   )rg   rg   re   rf   re         @r   )re   re   r   rm   r   rf   rf   )r   r   re   rf   re   rg   rg   )rf   rf   r   rm   r   re   re   )rm   rg   ri   rf   re   r   r   )ri   re   r   rm   r   rg   rf   )r   r   ri   rf   re   rm   rg   )rg   rf   r   rm   r   ri   re   )re   re   ri   rm   ri   rg   rg   )ri   ri   rg   re   rg   rm   rm   )rg   rg   ri   rm   ri   re   re   )rm   rm   rg   re   rg   ri   ri   c           
      C   sf   t | t|}|t|  }t||d}|dj|||d}t|t|  dgd}	t||	 d S )Nrt   r+   )rv   rw   	na_optionru   rx   )r2   r{   r|   r   r   r   r=   r   )
rF   rI   r   rw   r   r   r+   r   rC   r   r   r   r   test_infs_n_nans   s   )
r   c                 C   s0   g | ]}t jd d t jdd dt jt jg|dqS )r#   rJ   rK   r   )r2   r3   nanrL   r   r   r   r-      s    ")rU   rV   rW   c                 C   r[   r\   r]   r_   r   r   r   ra      rb   z'ties_method,ascending,na_option,pct,exprh   rj   rk   rn   rr   rs   )re   re   r   rf   re   rg   r   r   )      ?r         ?      ?r         ?r   r   )rg   rg   r   ri   rg   re   r   r   )r   r   r         ?r   r   r   r   )ri   ri   r   rf   ri   rg   r   r   )r   r         ?r   r   r   r   r   )rm   rm   r   ri   rm   re   r   r   )      ?r   r   r   r   r   r   r   )rm   rm          @rf   rm   rg   r   r   )r   r   ri   r   r   r   ri   ri   )rf   rf   r   ri   rf   re   r   r   )r   r   ri   r   r   r   ri   ri   )ri   re   r   rf   rm   rg   r   r   )r   r   r   r   r   r   r   ri   )rm   rg   r   ri   rf   re   r   r   )r   r   r   r   r   r   r   ri   )ri   ri   rg   rm   ri   re   rg   rg   )r   r   ri   r   r   r   ri   ri   )rm   rm   rg   ri   rm   re   rg   rg   )r   r   ri   r   r   r   ri   ri   c                 C   s   t | t|}|}t|t|  }t|t jr t j||jd}t||d}	|		dj
||||d}
t|t|  dgd}t|
| d S )Nr   rt   r+   rv   rw   r   r1   ru   rx   rz   )rF   rI   r   rw   r   r1   r   r+   r   r   rC   r   r   r   r   test_rank_args_missing   s    r
r   zpct,exp)rm   rm   rm   rm   rm   )rn   rn   rn   rn   rn   c                 C   sL   t g ddgd d}|dj| d}t |d dgd	}t|| d S )
N)
ar   r   r   r   br   r   r   r      
   rt   r+   r0   r#   ru   rx   r   r   r   r=   r   )r1   r   r   rC   r   r   r   r   test_rank_resets_each_group  s   r   r    )int64int32uint64uint32float64float32upperc                 C   s   |r| d   | dd   } | dd} tdgd dgd d}|d | |d< |d j| ks3J |d	 }tg d
dgd}|rJ|d}t|| d S )Nr   r   UiUIr      rt   ru   r+   )      @r   r   r   rx   Float64)	r   replacer   astyper    r   r   r=   r   )r    r   r   rC   r   r   r   r   test_rank_avg_even_vals  s   
r   r   )rd   rl   ro   rp   rq   rw   r   )r   r   r   r1   )barr   foor   bazr   r   r   c                 C   s   t dgd |d}|d  }|d}|j| |||d}| r4t dgd dtjdtjd	gd}	nt dgd g d
d}	|	d}
|
j| |||d}t|| d S )Nr      rt   ru   r+   r   r   r#   r   )r   r   r#   r   r   )	r   isnar   r   anyr2   r   r=   r   )r   rw   r   r1   rI   r   maskr   resdf2r   altr   r   r   test_rank_object_dtype  s   
$
r   )Tbadr   r   r#   c                 C   sd   t dgd |d}d}tjt|d |dj| |||d W d    d S 1 s+w   Y  d S )Nr   r   rt   z3na_option must be one of 'keep', 'top', or 'bottom'r
   r+   r   )r   r   r   
ValueErrorr   r   )r   rw   r   r1   rI   r   r   r   r   r   test_rank_naoption_raises  s   
"r   c                  C   s   d} t g ddtjdgd}|| jjdd}tdtjdgd	d
}t|| || jdd}t d	dtjdgi}t	|| d S )NA)r   r   r   ri   re   r   BTr0   r   r   name)
r   r2   r   r   r   r   r   r=   r>   r   )columnr   rC   rD   r   r   r   test_rank_empty_group  s   r   z"input_key,input_value,output_value)r   r   r#   r#   )r   r#   r   r#   )r   ri   r   ri   r   r   r   r#   c                 C   s>   t | |d}|djddd}t d|i}t|| d S )Nr   r   rq   Trv   r1   r   r   )	input_keyinput_valueoutput_valuer   rC   rD   r   r   r   test_rank_zero_div#  s   r   c                  C   s   t g dttjjttjjttjjgttdddtgd} | d	 }t g dtj
dtj
gd}t|| d S )	Nr   i  r   )grpint_coldatetimeliker   )ri   re   ri   ri   )r   r   )r   r2   iinfor   rl   ro   r   r   r   r   r   r=   r   r   rC   rD   r   r   r   test_rank_min_int5  s   r   use_nanc                 C   s   | rt jnd}tddgddgd|gd|ggddgd}|dgd jdd	d
}| r7tddt jt jgdd}ntg ddd}t|| d S )Nr   r   r#   groupru   rx   rq   Tr   r   r   )rr   rs   r   r   )r2   r   r   r   r   r   r=   r>   )r   
fill_valuer   rC   rD   r   r   r   .test_rank_pct_equal_values_on_group_transitionK  s"   	r   c                  C   s   t tddgddgdtddgdd	gd
ddd} d}tjt|d | jddd}W d    n1 s6w   Y  d}tjt|d |jdd}W d    n1 sUw   Y  t | d jdd| d jddgdddgd}t|| d S )Nr   r   r   r#   )col1col2r   rK      rJ   )col3col4)r   r   r.   z+DataFrame.groupby with axis=1 is deprecatedr
   r   levelr/   /DataFrameGroupBy.rank with axis=1 is deprecatedr   r   )r/   keys)r   r   r=   assert_produces_warningFutureWarningr   r   r   )r   r   r   rC   rD   r   r   r   test_rank_multiindexd  s,   r   c                  C   s*  t g dg dg ddg dd} d}tjt|d | jd	d	d
}W d    n1 s-w   Y  d}tjt|d |jdd}W d    n1 sLw   Y  t| jd jdd| jd jddgd	d}t|| d}tjt|d |jd	d}W d    n1 sw   Y  |	|rJ d S )Nr   r   r   r   r#   r   rK   rJ   r   r   g      @g      @r   r   r#   r   r   r   r   r<   5The 'axis' keyword in DataFrame.groupby is deprecatedr
   r   r   r   r   r.   r   r   z+The 'axis' keyword in DataFrameGroupBy.rank)
r   r=   r   r   r   r   r   locr   equals)r   r   r   r   rD   r   r   r   r   test_groupby_axis0_rank_axis1  s&   ,r   c                  C   s   t g dg dg ddg dd} d}tjt|d | jd	d	d
}W d    n1 s-w   Y  d}tjt|d |jdd}W d    n1 sLw   Y  | d	dg tj}|d |d< t	|| d S )Nr   r   r   r   r   r   r   r
   r   r   z1DataFrameGroupBy.cummax with axis=1 is deprecatedr   r.   r#   )
r   r=   r   r   r   cummaxr   r2   r   r   )r   r   r   cmaxrD   r   r   r   test_groupby_axis0_cummax_axis1  s   r   c                  C   s   t dddtjgddtjdddgd d	} | | jd
gjjddd}t	dddtjgtjdddgd dd}t
|| d S )Nri   re   rm   )r   r%   20170101z
US/EasternrX   r   r   r   T)rw   r1   r%   )r<   r   )r   r2   r   r   	Timestampr   r<   r%   r   r   r=   r>   r   r   r   r   test_non_unique_index  s   r   c                  C   s   t jdddtjddgdd} t jdddtjd	d
gdd}tg d| |d}|d}| }|td }t	
|| d S )Nr   r   cTr   r   r#   r   r   r   )r   r   r   r   r   r   )r   r   r   r   )r   r   r2   r   r   r   r   r   r4   r=   r   )r   cat2r   r   r   rD   r   r   r   test_rank_categorical  s   
r   c                 C   sP   t dd gidd}|jdddd jd| d}tdgd|jd	}t|| d S )
Nr`   r   r   F)dropnarl   )rv   r   ri   )r    r   )r   r   r   r   r   r=   r>   )r   r   rC   rD   r   r   r   test_groupby_op_with_nullables  s   r   )&r   numpyr2   r   pandasr   r   r   r   r   pandas._testing_testingr=   r   rE   markparametrizer   	to_periodr   infr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>   sx   "&$#.2	"" "&"'"(*"029@GNUel{}                      &  (  .  0  6  7  8  9  >
	
 
		
