3
UdL                 @   sb   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	j
Zdd Zdd Zdd	 Zd
d ZdS )    N)PerformanceWarning)Index
MultiIndexc          '   C   sX  | j ddg}tjddg}| j |}| ddddg }tj|| tj|| | j d	g}| dd
dddg }tj|| | j d}| ddddg }tj|| tjdg}tjtdd | j dg W d Q R X tjtdd | j | W d Q R X tjtdd | j ddg W d Q R X tjddg}tjtdd | j | W d Q R X | j |dd}| dd
ddddg }tj|| | j |dd}| dd
dddg }tj|| | j ddgdd}| ddddg }tj|| | j ddg}| dddg }tj|| dddg}tjtdd | j | W d Q R X | j |dd}| dddg }tj|| d S )Nfootwoquxoner            bar      z^10$)matchz^'two'$ignore)errors)r   r   )r   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indexZdropped2expectedZmixed_index r   X/var/www/html/virt/lib64/python3.6/site-packages/pandas/tests/indexes/multi/test_drop.py	test_drop   sP    


r   c             C   s   | | j d }|jd}|jdks&ttttdttdttdgtjddddddddgtjddddddddgtjddddddddggdd	d
gd}|jd}|j	dkst|jd	}|jd}|j
|std S )Nr   r   secondr   r   r	   r
   r   r   three)levelscodesnames)r   r!   )Zget_loc	droplevelnameAssertionErrorr   r   rangenparrayr$   equals)r   r   r   r   r   r   r   test_droplevel_with_namesE   s    
 


r,   c              C   sL  t ttdttdttdgtjddddddddgtjddddddddgtjddddddddggdddgd	} | d d jddg}| d d jdjd}|j|st| d d jg }| d d }|j|std
}tj	t
|d | d d jdddg W d Q R X tj	tdd | d d jddg W d Q R X d S )Nr   r   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 left)r   z'Level four not found'Zfour)r   r   r(   r)   r*   r%   r+   r'   r   r   
ValueErrorr   )r   r   r   msgr   r   r   test_droplevel_list[   s"     "r/   c              C   s   dddg} t j| ddgd	}|j s(ttjdddd
gddddgddddggd}|jdddgd
d}|j }|j}|j  stt	j
|| t	jt t	j
|jd|jd W d Q R X d S )Na b1c1b2c2bc)r$   dr   r
   r   )columnsdata)r   r9   values)r0   r1   )r2   r3   )r4   r5   )r   r   Zis_lexsortedr'   pdZ	DataFrameZpivot_tableZreset_indexr9   r   r   Zassert_produces_warningr   r   )ZtuplesZlexsorted_midfZnot_lexsorted_mir   r   r   test_drop_not_lexsortedy   s    
&r>   )Znumpyr)   r   Zpandas.errorsr   Zpandasr<   r   r   Zpandas._testingZ_testingr   r   r,   r/   r>   r   r   r   r   <module>   s   
: