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„ Zdd„ Zdd	„ Zd
d„ Zdd„ Zej d¡dd„ ƒZdd„ Zdd„ ZdS )é    N)ÚPerformanceWarning)ÚIndexÚ
MultiIndexc                 C   s˜  |   ddg¡}t ddg¡}|   |¡}| g d¢ }t ||¡ t ||¡ |   dg¡}| g d¢ }t ||¡ |   d¡}| g d¢ }t ||¡ t dg¡}tjtd	d
 |   dg¡ W d   ƒ n1 sfw   Y  tjtd	d
 |   |¡ W d   ƒ n1 s‚w   Y  tjtdd
 |   ddg¡ W d   ƒ n1 s w   Y  t ddg¡}tjtd	d
 |   |¡ W d   ƒ n1 sÃw   Y  | j |dd}| g d¢ }t ||¡ | j |dd}| g d¢ }t ||¡ | j ddgdd}| g d¢ }t ||¡ |   ddg¡}| g d¢ }t ||¡ g d¢}tjtdd
 |   |¡ W d   ƒ n	1 s2w   Y  | j |dd}| g d¢ }t ||¡ d S )N)ÚfooÚtwo©ÚquxÚone)r   é   é   é   Úbar)r   é   r   é   r   r   )r
   r   r   r   )r   r   z^\('bar', 'two'\)$©Úmatchz^'two'$r   Úignore)Úerrors)r   r   r
   r   r   r   )r   r   r
   r   r   )r
   r   r   )r   r   r   )Údropr   Úfrom_tuplesÚtmÚassert_index_equalÚpytestÚraisesÚKeyError)ÚidxÚdroppedÚindexÚdropped2ÚexpectedÚmixed_index© r!   ú‰/var/www/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/lib/python3.10/site-packages/pandas/tests/indexes/multi/test_drop.pyÚ	test_drop   sZ   

ÿÿÿÿÿr#   c                 C   s¸   | |   d¡ }| d¡}|jdksJ ‚tttdƒƒttdƒƒttdƒƒgt g d¢¡t g d¢¡t g d¢¡gg d¢d	}| d¡}|jd
ksIJ ‚| d¡}| d¡}| 	|¡sZJ ‚d S )Nr   r   Úsecondr   ©r   r   r   r
   r
   r
   r   r   ©r   r   r   r   r   r   r   r   ©r   r   r   r   r   r   r   r   ©r	   r   Úthree©ÚlevelsÚcodesÚnames)r   r)   r   r   )
Úget_locÚ	droplevelÚnamer   r   ÚrangeÚnpÚarrayr-   Úequals)r   r   r   r   r!   r!   r"   Útest_droplevel_with_namesH   s    
 ýù
	

r5   c                  C   sN  t ttdƒƒttdƒƒttdƒƒgt g d¢¡t g d¢¡t g d¢¡gg d¢d} | d d…  dd	g¡}| d d…  d¡ d
¡}| |¡sHJ ‚| d d…  g ¡}| d d… }| |¡s^J ‚d}tjt	|d | d d…  g d¢¡ W d   ƒ n1 s}w   Y  tjt
dd | d d…  d	dg¡ W d   ƒ d S 1 s w   Y  d S )Nr   r%   r&   r'   r(   r*   r
   r)   r	   r   zSCannot remove 3 levels from an index with 3 levels: at least one level must be leftr   z'Level four not found'Úfour)r   r   r1   r2   r3   r/   r4   r   r   Ú
ValueErrorr   )r   r   r   Úmsgr!   r!   r"   Útest_droplevel_list^   s,    ýù
ÿÿ"ÿr9   c                  C   sÆ   g d¢} t j| ddgd}| ¡ sJ ‚tjg d¢g d¢g d¢gd}|jd	ddgd
d}| ¡ }|j}| ¡ r9J ‚t 	||¡ t 
t¡ t 	| d	¡| d	¡¡ W d   ƒ d S 1 s\w   Y  d S )N))ÚaÚ )Úb1Úc1)Úb2Úc2ÚbÚc©r-   )r:   r@   rA   Úd)r   r<   r=   r   )r   r>   r?   r   )ÚcolumnsÚdatar:   rC   )r   rD   Úvalues)r   r   Ú_is_lexsortedÚpdÚ	DataFrameÚpivot_tableÚreset_indexrD   r   r   Úassert_produces_warningr   r   )ÚtuplesÚlexsorted_miÚdfÚnot_lexsorted_mir!   r!   r"   Útest_drop_not_lexsorted|   s   ÿ"ÿrQ   c                 C   sd   t jd| fgddgd}d}tjt|d |jt d¡dd W d   ƒ d S 1 s+w   Y  d S )	NÚblahr0   ÚdaterB   z@labels \[Timestamp\('2001-01-01 00:00:00'\)\] not found in levelr   Ú2001©Úlevel)r   r   r   r   r   r   rH   Ú	Timestamp)Únulls_fixtureÚmir8   r!   r!   r"   Útest_drop_with_nan_in_index“   s
   "ÿrZ   z(ignore::pandas.errors.PerformanceWarningc                  C   s4   t  g d¢¡} |  d¡}t  dg¡}t ||¡ d S )N)©r   r
   ©r
   r   r[   r[   r\   )r   r   r   r   r   )rY   Úresultr   r!   r!   r"   Ú'test_drop_with_non_monotonic_duplicates›   s   
r^   c                  C   sz  t  g d¢¡} d}tjt|d | jddd W d   ƒ n1 s"w   Y  tjt|d | jddgdd W d   ƒ n1 sBw   Y  d}tjt|d | jtjgdd W d   ƒ n1 sdw   Y  tjt|d | jtjdd	d
gdd W d   ƒ n1 s‡w   Y  t  tjdfdg¡} d}tjt|d | jtjddgdd W d   ƒ d S 1 s¶w   Y  d S )N)r[   )r
   r
   )r   r
   zlabels \[4\] not found in levelr   r   r   rU   r   z!labels \[nan\] not found in levelr
   r   r[   z!labels \['a'\] not found in levelr:   )r   r   r   r   r   r   r2   Únan)rY   r8   r!   r!   r"   Ú1test_single_level_drop_partially_missing_elements¤   s(   ÿÿÿÿ"ÿr`   c                  C   s8   t jdgdd} |  g ¡}tdgdd}t ||¡ d S )N)r
   )r@   rB   r
   r@   )r0   )r   r   r/   r   r   r   )r   r]   r   r!   r!   r"   Ú#test_droplevel_multiindex_one_level¹   s   
ra   )Únumpyr2   r   Úpandas.errorsr   ÚpandasrH   r   r   Úpandas._testingÚ_testingr   r#   r5   r9   rQ   rZ   ÚmarkÚfilterwarningsr^   r`   ra   r!   r!   r!   r"   Ú<module>   s    :

