o
    Û­jÉ  ã                   @   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!   úa/var/www/html/CropPilot/venv/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    :

