U
    +¿ifÍ  ã                   @   s„   d dl m Z  d dlZd dlZd dl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dd„ Zdd„ ZdS )é    )ÚdatetimeN)ÚIndexÚ
MultiIndexc                 C   s&  |   dd¡}| | ¡st‚|d dks*t‚|   dd¡}tt| jd ƒdg dd}t |jd |¡ |jddgksvt‚tt| jd ƒd	g dd}t |jd |¡ |d dks´t‚d
}t	j
t|d |   dd¡ W 5 Q R X tjdddgdddggdddgd}|jddgdd |d jdd}d|jd< d|jd< d|jd< d|jd< d|jd < d!|jd"< d|jd#< d|jd$< d|jd%< d|jd&< d|jd'< d!|jd(< tjdddgdddgdd)dgdddgdddgdd)dgdd*dgddd!ggdddgd}|jddgdd tj||d+d, t ||d ¡ d S )-Nr   )ÚbarÚtwo)ÚabcÚthreer   Úfirst)ÚnameÚsecondé   r   z/Item must have length equal to number of levels©Úmatch)Zfoo2ÚaÚbÚdZ1stZ2ndÚ3rd)ÚcolumnsT)Zinplace)Údeepé   )©r   Úxr   éÿÿÿÿ)©r   r   r   é   )©r   r   r   é   )©r   r   r   é   )©r   Úwr   é   )©r   r   r   r   r   r   r   r   r"   r   r    F)Zcheck_dtype)ÚinsertZequal_levelsÚAssertionErrorr   ÚlistZlevelsÚtmÚassert_index_equalÚnamesÚpytestÚraisesÚ
ValueErrorÚpdZ	DataFrameZ	set_indexÚcopyÚlocZassert_frame_equalÚassert_series_equal)ÚidxZ	new_indexZexp0Zexp1ÚmsgÚleftÚtsÚright© r5   úZ/home/mars/bis/venv/lib/python3.8/site-packages/pandas/tests/indexes/multi/test_reshape.pyÚtest_insert   sV    $











ø
õr7   c                  C   s   dd„ t dƒD ƒdd„ t dƒD ƒ ddg } t t dd	d
¡t | d d… ¡¡}d
|jd< d|jd< t t ddd¡t | ¡¡}t 	||¡ d S )Nc                 S   s   g | ]}d |f‘qS )Ztest1r5   ©Ú.0Úir5   r5   r6   Ú
<listcomp>N   s     z test_insert2.<locals>.<listcomp>r   c                 S   s   g | ]}d |f‘qS )Ztest2r5   r8   r5   r5   r6   r;   O   s     r!   )Útesté   )r<   é   r   é
   é   éþÿÿÿé   é   )
Úranger,   ZSeriesÚnpZlinspacer   Úfrom_tuplesr.   r&   r/   )r0   r2   r4   r5   r5   r6   Útest_insert2K   s    ÿþÿ$

rG   c                 C   sŠ   | d d…   | dd … ¡}| | ¡s(t‚| d d… | dd… | dd … g}|d   |dd … ¡}| | ¡snt‚|   g ¡}| | ¡s†t‚d S )Nr   r   r   )ÚappendÚequalsr$   )r0   ÚresultZfoosr5   r5   r6   Útest_append]   s    "
rK   c            	      C   s¢  t dddgƒ} tjddddd}t d	d
dgƒ}t | |g¡}t | ||g¡}|  |¡}t d¡}d| t	dddƒ¡fd| t	dddƒ¡fd| t	dddƒ¡fg}t dddg| ƒ}t
 ||¡ | | ¡}t |dddg ƒ}t
 ||¡ | |¡}t |  | ¡| |¡g¡}t
 ||¡ | |¡}t
 ||¡ | |¡}t  tjd| t	dddƒ¡d	fd| t	dddƒ¡d
fd| t	dddƒ¡dfg| tdd ¡}t
 ||¡ d S )Ngš™™™™™ñ?g333333ó?gÍÌÌÌÌÌô?z
2011-01-01ÚDr   z
Asia/Tokyo)ÚfreqZperiodsÚtzÚAÚBÚCiÛ  r   r   )Zdtype)r   r,   Z
date_ranger   Zfrom_arraysrH   ÚpytzÚtimezoneZlocalizer   r&   r'   Z_simple_newrE   ÚarrayÚobject)	Zidx1Zidx2Zidx3Zmidx_lv2Zmidx_lv3rJ   rN   Zexpected_tuplesÚexpectedr5   r5   r6   Útest_append_indexj   sF    

ý



ýûù	örW   c                  C   s\   d} dddg}t  ddg¡}tj||g|d}tj|| | ¡g|d}t | | ¡|¡ d S )Nr   r   r   Zfoor   )r(   )rE   rT   r   Zfrom_productÚrepeatr&   r'   )ZrepsÚnumbersr(   ÚmrV   r5   r5   r6   Útest_repeat™   s    
r[   c                 C   s2   | dd… }| dd…   | d| d ¡¡s.t‚d S )Nr   r   r   )rI   r#   r$   )r0   rJ   r5   r5   r6   Útest_insert_base£   s    r\   c              	   C   s˜   | dd … }|   d¡}| |¡s$t‚|j|jks4t‚| d d… }|   d¡}| |¡sXt‚|j|jksht‚d}tjt|d |   t| ƒ¡ W 5 Q R X d S )Nr   r   r   z/index 6 is out of bounds for axis 0 with size 6r   )ÚdeleterI   r$   r
   r)   r*   Ú
IndexErrorÚlen)r0   rV   rJ   r1   r5   r5   r6   Útest_delete_base«   s    

r`   )r   ÚnumpyrE   r)   rR   Zpandasr,   r   r   Zpandas._testingZ_testingr&   r7   rG   rK   rW   r[   r\   r`   r5   r5   r5   r6   Ú<module>   s   </
