a
    üGbÍ  ã                   @   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J ‚|d dks*J ‚|   dd¡}tt| jd ƒdg dd}t |jd |¡ |jddgksvJ ‚tt| jd ƒd	g dd}t |jd |¡ |d dks´J ‚d
}tj	t
|d |   dd¡ W d   ƒ n1 sè0    Y  tjg d¢g d¢gg d¢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g d¢g d¢g d)¢g d*¢g d+¢g d,¢g d-¢g d.¢gg d¢d}|jddgdd tj||d/d0 t ||d ¡ d S )1Nr   )ÚbarZtwo)ÚabcÚthreer   Úfirst)ÚnameÚsecondé   r   z/Item must have length equal to number of levels©Úmatch)Zfoo2)ÚaÚbr   )r   Údr   )Ú1stÚ2ndÚ3rd)Úcolumnsr   r   T)Zinplacer   )Z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   r   )r   r   r   )r   r   r   )r   r   r   )r   r    r   )r   r   r!   F)Zcheck_dtype)ÚinsertZequal_levelsr   Ú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ÚleftZtsÚright© r3   úFlib/python3.9/site-packages/pandas/tests/indexes/multi/test_reshape.pyÚtest_insert   sV    *











ø
õr5   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test1r3   ©Ú.0Úir3   r3   r4   Ú
<listcomp>N   ó    z test_insert2.<locals>.<listcomp>r   c                 S   s   g | ]}d |f‘qS )Ztest2r3   r6   r3   r3   r4   r9   O   r:   r!   )Útesté   )r;   é   r   é
   é   éþÿÿÿé   é   )
Úranger+   ZSeriesÚnpZlinspacer   Zfrom_tuplesr-   r%   r.   )r/   r1   r2   r3   r3   r4   Útest_insert2K   s    ÿþÿ$

rE   c                 C   sŠ   | d d…   | dd … ¡}| | ¡s(J ‚| d d… | dd… | dd … g}|d   |dd … ¡}| | ¡snJ ‚|   g ¡}| | ¡s†J ‚d S )Nr   r   r   )ÚappendÚequals)r/   ÚresultZfoosr3   r3   r4   Útest_append]   s    "
rI   c            	      C   sš  t g d¢ƒ} tjddddd}t g d¢ƒ}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 g d¢| ƒ}t
 ||¡ | | ¡}t |g d¢ ƒ}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 )N)çš™™™™™ñ?ç333333ó?çÍÌÌÌÌÌô?z
2011-01-01ÚDr   z
Asia/Tokyo)ZfreqZperiodsÚtz)ÚAÚBÚCrJ   iÛ  r   rK   r   rL   rO   rP   rQ   )Zdtype)r   r+   Z
date_ranger   Zfrom_arraysrF   ÚpytzÚtimezoneZlocalizer   r%   r&   Z_simple_newrD   ÚarrayÚobject)	Zidx1Zidx2Zidx3Zmidx_lv2Zmidx_lv3rH   rN   Zexpected_tuplesÚexpectedr3   r3   r4   Útest_append_indexj   sF    

ý



ýûù	örW   c                  C   sZ   d} g d¢}t  ddg¡}tj||g|d}tj|| | ¡g|d}t | | ¡|¡ d S )Nr   )r   r   r   Zfoor   )r'   )rD   rT   r   Zfrom_productÚrepeatr%   r&   )ZrepsZnumbersr'   ÚmrV   r3   r3   r4   Útest_repeat™   s    rZ   c                 C   s2   | dd… }| dd…   | d| d ¡¡s.J ‚d S )Nr   r   r   )rG   r#   )r/   rH   r3   r3   r4   Útest_insert_base£   s    r[   c                 C   s¬   | dd … }|   d¡}| |¡s$J ‚|j|jks4J ‚| d d… }|   d¡}| |¡sXJ ‚|j|jkshJ ‚d}tjt|d |   t| ƒ¡ W d   ƒ n1 sž0    Y  d S )Nr   r   r   z/index 6 is out of bounds for axis 0 with size 6r   )ÚdeleterG   r	   r(   r)   Ú
IndexErrorÚlen)r/   rV   rH   r0   r3   r3   r4   Útest_delete_base«   s    

r_   )r   ZnumpyrD   r(   rR   Zpandasr+   r   r   Zpandas._testingZ_testingr%   r5   rE   rI   rW   rZ   r[   r_   r3   r3   r3   r4   Ú<module>   s   </
