o
    ôT·jäq  ã                	   @   s>  d dl m Z  d dlmZ d dlZd dlZd dlmZmZ d dl	Z
d dl	mZmZmZmZmZmZmZmZmZmZmZmZ d dlmZ e ¡ dd„ ƒZG dd	„ d	ƒZej d
ddgefe
j dddd�e
j!dd�fg¡dd„ ƒZ"dd„ Z#dd„ Z$dd„ Z%dd„ Z&dd„ Z'dd„ Z(d d!„ Z)d"d#„ Z*ej d$deg ƒg¡d%d&„ ƒZ+dS )'é    )Údatetime)ÚproductN)Úis_float_dtypeÚis_integer_dtype)ÚCategoricalÚCategoricalIndexÚ	DataFrameÚIndexÚIntervalÚIntervalIndexÚ
MultiIndexÚ
RangeIndexÚSeriesÚ	TimestampÚcutÚ
date_rangec                  C   s.   ddgddgg} t ddgddggt | ¡d	�S )
NÚAÚ ÚBÚbr   é   é   é   ©Úcolumns)r   r   Úfrom_tuples)Úlevels© r   ún/home/dinkstrade/pdmp-scanner/venv/lib/python3.10/site-packages/pandas/tests/frame/methods/test_reset_index.pyÚmultiindex_df   s   r   c                   @   sj  e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zej 	d	d
dg¡dd„ ƒZ
dd„ Zdd„ Zdd„ Zej 	dddgddgg¡dd„ ƒZej 	dddgdgg¡dd„ ƒZdd„ Zd d!„ Zd"d#„ Zej 	d$d%d&d'd(e d)¡ed*d+d,�d-g¡d.d/„ ƒZd0d1„ Zd2d3„ Zej 	d4d5d6g¡ej 	d7d5d6g¡d8d9„ ƒƒZej 	d4d5d6g¡d:d;„ ƒZej 	d7d<g¡d=d>„ ƒZd?d@„ ZdAdB„ ZdCdD„ ZdEdF„ ZdGdH„ Z dIdJ„ Z!ej 	dKej"dfej"d'fgej"ej"gdd'gdLdMgdNœfej"dfedOƒd'fgej"edOƒgdd'gdLdMgdNœfej"dfe dPdQ¡d'fgej"e dPdQ¡gdd'gdLdMgdNœfg¡dRdS„ ƒZ#ej 	dTg dU¢g dV¢gg dW¢g dV¢gf¡dXdY„ ƒZ$d%S )ZÚTestResetIndexc              	   C   sV   t dgtjtddddd�d�}| |jdg¡}|jdgdd�}tj||g  dd	� d S )
NÚbrandr   r   Úfoo©Úname)r   ÚdtypeÚindexT©Údrop)Úcheck_index_type)	r   ÚnpÚint64r   Ú	set_indexr&   Úreset_indexÚtmÚassert_frame_equal)ÚselfÚdfÚdf2Úresultr   r   r   Ú!test_reset_index_empty_rangeindex%   s   ÿz0TestResetIndex.test_reset_index_empty_rangeindexc                 C   s`   t g d¢dd�}tdg d¢i|d�}| ¡ }|d jt d¡ks"J ‚| d¡}t |j|¡ d S )N)l            l           l   
        r"   r#   r   ©r   r   r   ©r&   Úuint64)	r	   r   r-   r%   r*   r,   r.   Úassert_index_equalr&   ©r0   Úidxr1   r3   r   r   r   Útest_set_reset0   s   
zTestResetIndex.test_set_resetc                 C   s`   t tdddd�dd�}tdg d¢i|d	�}| ¡ }|d jd
ks"J ‚| d¡}t |j|¡ d S )NÚ20130101r   ú
US/Eastern©ÚperiodsÚtzr"   r#   r   r5   r6   zdatetime64[ns, US/Eastern])	r	   r   r   r-   r%   r,   r.   r8   r&   r9   r   r   r   Ú!test_set_index_reset_index_dt64tz;   s   
z0TestResetIndex.test_set_index_reset_index_dt64tzc                 C   sh   |}t ddd|dd�}ttdƒg d¢dœ|d�}t|tdƒg d¢d	œg d	¢d
�}| ¡ }t ||¡ d S )Nú1/1/2011é   ÚDr:   ©r?   Úfreqr@   r$   ©r   r   ÚCrD   ÚE©Úar   r6   )r:   rK   r   r   )r   r   Úranger-   r.   r/   )r0   Útz_aware_fixturer@   r:   r1   Úexpectedr3   r   r   r   Útest_reset_index_tzF   s   ýúz"TestResetIndex.test_reset_index_tzr@   r=   zdateutil/US/Easternc                 C   sX   t dd|d�}ttj d¡ t|ƒ¡|ƒ}| ¡  d¡}|j	j
}|j	j
}||ks*J ‚d S )Nz
2012-06-02é
   r>   r   r&   )r   r   r*   ÚrandomÚdefault_rngÚstandard_normalÚlenr-   r,   r&   r@   )r0   r@   Údrr1   ÚroundtrippedÚxpÚrsr   r   r   Ú$test_frame_reset_index_tzaware_indexX   s   z3TestResetIndex.test_frame_reset_index_tzaware_indexc                 C   st   t jt d¡dd�}t|t d¡dœƒddg }| d¡}tdt d¡i|d�}t ||¡ | ¡ }t ||¡ d S )Né   Úxr#   rP   )r[   Úyr\   r6   )	r   Úfrom_breaksr*   Úaranger   r,   r.   r/   r-   )r0   r:   Úoriginalr3   rN   Úresult2r   r   r   Útest_reset_index_with_intervalsa   s   
z.TestResetIndex.test_reset_index_with_intervalsc                 C   s¢  |j dd�d d d… }t||dœƒ}ddg}||j_| ¡ }tt|jj|jjƒƒD ]\}\}}| 	|¡}|| }	t
 |t||	 ƒ¡ q)d d g|j_| ¡ }
t
j|d |
d dd	� t
j|d |
d
 dd	� | ¡ }t|jjdd�}t
 |d |¡ | ¡ }d|d< | ¡ }t|jjdd�}t
 |d |¡ d|j_| ¡ }t
 |d t|jƒ¡ t
j|jttt|ƒƒƒdd� d|j_| ¡ }|jjdksÇJ ‚| ¡  g d¢¡}| ddg¡}t
 ||¡ | g d¢¡}t
 || ¡ ¡ | g d¢¡}t
 || ¡ ¡ | d¡}| ¡  ddg¡}t
 ||¡ | ¡ }| ¡ }|jdd�}|d u �s$J ‚t
 ||¡ | ¡  g d¢¡}|jddd�}| ¡ }|d= |jdgdd�}t
 ||¡ d S )NT©Úfuture_stackr   ©r"   ÚbarÚfirstÚsecondÚlevel_0F©Úcheck_namesÚlevel_1r&   r#   r"   )Úexactr   ©r&   r   r   r   r   ©Úinplacer'   ©Úappend)Ústackr   r&   Únamesr-   Ú	enumerateÚzipr   ÚcodesÚtaker.   r8   r	   Úassert_series_equalr   ÚvaluesÚcopyr$   rL   rT   r   r,   r/   )r0   Úfloat_frameÚstackedrs   Ú	deleveledÚiÚlevÚlevel_codesry   r$   Ú
deleveled2ÚrdfÚexpr1   ÚresetrX   rW   Úreturn_valuer   r   r   Útest_reset_indexl   sn   ÿ
ÿÿ
zTestResetIndex.test_reset_indexc                 C   s‚   t g d¢g d¢gg d¢ttdƒdd�d�}| ¡ jjd u sJ ‚|jdd	�jjd u s+J ‚|jdd
�}|d u s7J ‚|jjd u s?J ‚d S )N©r   r   r   é   ©rC   é   é   é   ©r   r   rH   rD   r   r[   r#   ©r   r&   Tr'   rn   )r   r	   rL   r-   r&   r$   )r0   r1   r…   r   r   r   Útest_reset_index_name¸   s   ýz$TestResetIndex.test_reset_index_namer   r   r   r   r   c                 C   s@  t g d¢g d¢gg d¢d�}| ddg¡j|d d�}t || d¡¡ | ddg¡j|d d	… d�}t || d¡¡ | ddg¡j|d�}t ||¡ | ddg¡j|d
d�}t ||ddg ¡ | d¡j|d d�}t ||¡ | d¡j|d d	… d�}t ||¡ | dg¡j|d d
d�}t ||g d¢ ¡ d S )Nr‡   r‰   r�   r   r   r   r   ©Úlevelr   T)r‘   r(   rH   rD   )r   rH   rD   )r   r,   r-   r.   r/   )r0   r   r1   r3   r   r   r   Útest_reset_index_levelÄ   s   z%TestResetIndex.test_reset_index_levelÚidx_levc                 C   sª   t g d¢g d¢gg d¢d�}tjtdd�� | |¡jddgd	� W d   ƒ n1 s+w   Y  tjtd
d�� | |¡jg d¢d	� W d   ƒ d S 1 sNw   Y  d S )Nr‡   r‰   r�   r   z(L|l)evel \(?E\)?©Úmatchr   rI   r�   zToo many levelsr5   )r   ÚpytestÚraisesÚKeyErrorr,   r-   Ú
IndexError)r0   r“   r1   r   r   r   Útest_reset_index_level_missingß   s   ÿ"ÿz-TestResetIndex.test_reset_index_level_missingc                 C   s~   t  ddt  d¡d ¡}td|d  d t|dd�dd�}t|ƒ}| ¡ }|d jt jks/J ‚| ¡ }|d jt jks=J ‚d S )	Nç        rP   r   g…ëQ¸ž#@Útimer#   Úspeed)r&   r$   )	r*   r^   Úsqrtr   r	   r   r-   r%   Úfloat64)r0   rœ   Ús1r1   r„   r   r   r   Útest_reset_index_right_dtypeé   s   ÿz+TestResetIndex.test_reset_index_right_dtypec                 C   sÞ  t j d¡ d¡ t¡}g d¢}t  dd„ |D ƒ|f¡}t|t|dd�g d¢g d	¢gd
�}| 	¡ }t|g d¢g d¢gd
�}t
 ||¡ |j	d d�}t|g d¢g d¢gd
�}t
 ||¡ |j	ddd�}t|g d¢g d¢gd
�}t
 ||¡ t|tjg d¢g d¢gddgd�g d¢g d	¢gd
�}| 	d¡}t|tg d¢dd�g d¢g d¢gd
�}t
 ||¡ |j	dd d�}t|ttdƒdd�g d¢g d¢gd
�}t
 ||¡ |j	dddd�}t|ttdƒdd�g d¢g d¢gd
�}t
 ||¡ d S )Nr   )r   r   )r[   r\   Úzc                 S   s   g | ]}|g‘qS r   r   )Ú.0r[   r   r   r   Ú
<listcomp>ù   s    zBTestResetIndex.test_reset_index_multiindex_col.<locals>.<listcomp>rK   r#   )r   r   Úc)ÚmeanÚmedianr¦   r   )rK   r   r   r¥   )r   r¦   r§   r¦   ©Úcol_fill)rK   r¦   r§   r¦   r   Úblah©Ú	col_levelr©   )rª   r   r   r¥   r5   Úd©rs   r   )r©   r¬   )r*   rQ   rR   rS   ÚastypeÚobjectÚhstackr   r	   r-   r.   r/   r   Úfrom_arraysrL   )r0   Úvalsr:   Úfullr1   rX   rW   r   r   r   Útest_reset_index_multiindex_colö   sb   
ýÿÿÿý
ýýýz.TestResetIndex.test_reset_index_multiindex_colc                 C   s  t g d¢ddtjgtj d¡ d¡dœƒ}| ddg¡ ¡ }t ||¡ t tjd	d
gg d¢tj d¡ d¡dœƒ}| ddg¡ ¡ }t ||¡ t g d¢g d¢tjddgdœƒ}| ddg¡ ¡ }t ||¡ t g d¢tjtjtjgtj d¡ d¡dœƒ}| ddg¡ ¡ }t ||¡ d S )N©rK   r   r¥   r   r   r   r   ©r   r   rH   r   r   r   r¥   r5   çš™™™™™ñ?gš™™™™™@)	r   r*   ÚnanrQ   rR   r,   r-   r.   r/   )r0   r1   rX   r   r   r   Útest_reset_index_multiindex_nan.  s6   
ýÿ
ýÿ ýÿz.TestResetIndex.test_reset_index_multiindex_nanr$   Nr"   r   g      @rŠ   z
2012-12-30ÚUTC)r@   ú
2012-12-31c                 C   s¶   t ddgddggtddƒddgd	�}||j_| ¡ }|d ur |nd
}t|tdddƒtdddƒgƒ}t|tƒr@|dkr@| 	d¡}n|j
tksGJ ‚t g d¢g d¢g|d�}t ||¡ d S )Nr   r   r   rˆ   z1/1/2013z1/2/2013r   r   rŽ   r&   iÝ  r¼   údatetime64[ns])r   r   r   )r   r   rˆ   r   )r   r   r&   r$   r-   r	   r   Ú
isinstanceÚstrr¯   r%   r°   r.   r/   )r0   r$   r1   r3   Úitemr   rN   r   r   r   Ú(test_reset_index_with_datetimeindex_colsS  s"   ýþz7TestResetIndex.test_reset_index_with_datetimeindex_colsc                 C   sp   t ddgddggddgtdd�d�}| ¡ }t|jtƒsJ ‚t g d¢g d	¢gg d
¢tdd�d�}t ||¡ d S )Nr   r   r   r   r   )ÚstoprŽ   )r   r   r   )r   r   r   rm   )r   r   r-   r¾   r&   r.   r/   )r0   r1   r3   rN   r   r   r   Útest_reset_index_rangew  s   $ýz%TestResetIndex.test_reset_index_rangec                 C   sø  |dg   d¡ ¡ }t ||¡ d}tjt|d�� |  d¡ ¡  W d   ƒ n1 s+w   Y  | dg¡ ¡ }t ||¡ tdgdggt	 
dg¡d	�}tj||d
dg gdd�}|jd
gdd� ¡ }t ||¡ d}tjt|d�� |  dg¡ ¡  W d   ƒ n1 s…w   Y  g d¢g d¢g}tddgddggt	 
|¡d	�}tdgdggt	 
dg¡d	�}tj||gdd�}|  dg¡jdd�}t ||¡ tjtdd�� |  dg¡jd d� W d   ƒ n1 säw   Y  |  dg¡jddd�}t ||¡ d S )Nr   r   ú)cannot insert \('A', ''\), already existsr”   )r   r   r   r   )rh   r   r   )r   r   )ÚaxisTrp   z0Item must have length equal to number of levels.)rH   r¥   r~   )r   rK   r   )r   r   r~   r   r   )rH   r¥   Úii)rH   r¥   rÆ   r¨   zFcol_fill=None is incompatible with incomplete column name \('C', 'c'\))r¥   rÆ   rH   r«   )Úrename_axisr-   r.   r/   r–   r—   Ú
ValueErrorr,   r   r   r   ÚpdÚconcat)r0   r   r3   ÚmsgÚidx_colrN   r   r2   r   r   r   Ú#test_reset_index_multiindex_columnsƒ  sD   ÿÿÿÿýù
z2TestResetIndex.test_reset_index_multiindex_columnsÚflagFTÚallow_duplicatesc           	      C   sÀ   |  d¡}|j|d�}|r7|r7|j|d�}ddgddgddgg}tg d¢g d¢gt |¡d	�}t ||¡ d S |s>|r>d
}nd}tj	t
|d�� |j|d� W d   ƒ d S 1 sYw   Y  d S )Nr   ©Úallows_duplicate_labels©rÏ   r   r   r   )r   r   r   )r   r   r   r   zYCannot specify 'allow_duplicates=True' when 'self.flags.allows_duplicate_labels' is FalserÄ   r”   )rÇ   Ú	set_flagsr-   r   r   r   r.   r/   r–   r—   rÈ   )	r0   r   rÎ   rÏ   r1   r3   r   rN   rË   r   r   r   Ú(test_reset_index_duplicate_columns_allowµ  s    
ÿÿ"ÿz7TestResetIndex.test_reset_index_duplicate_columns_allowc                 C   sV   |  d¡}|j|d�}d}tjt|d�� | ¡  W d   ƒ d S 1 s$w   Y  d S )Nr   rÐ   rÄ   r”   )rÇ   rÓ   r–   r—   rÈ   r-   )r0   r   rÎ   r1   rË   r   r   r   Ú*test_reset_index_duplicate_columns_defaultÐ  s   

"ÿz9TestResetIndex.test_reset_index_duplicate_columns_defaultz	bad valuec                 C   s@   t jtdd�� |j|d� W d   ƒ d S 1 sw   Y  d S )Nzexpected type boolr”   rÒ   )r–   r—   rÈ   r-   )r0   r   rÏ   r   r   r   Ú'test_reset_index_allow_duplicates_checkÙ  s   "ÿz6TestResetIndex.test_reset_index_allow_duplicates_checkc                 C   sœ   |}t ddd|dd�}ttdƒddd�}t ||g¡}ttjddd	�g d
¢dœ|d�}t|tjddd	�tjddd	�g d
¢dœg d¢d�}t 	| 
¡ |¡ d S )NrB   rC   rD   Úidx1rE   Úidx2r+   ©r$   r%   ©r%   rG   rJ   r6   )r×   rØ   rK   r   r   )r   r	   rL   r   r²   r   r*   r^   r.   r/   r-   )r0   Útz_naive_fixturer@   r×   rØ   r:   r1   rN   r   r   r   Útest_reset_index_datetimeÞ  s"   þüù
z(TestResetIndex.test_reset_index_datetimec           
      C   s¶   |}t ddd|dd�}ttdƒddd�}t d	dd
ddd�}t |||g¡}ttjddd�g d¢dœ|d�}t|tjddd�|tjddd�g d¢dœg d¢d�}| ¡ }	t	 
|	|¡ d S )NrB   rC   rD   r×   rE   rØ   r+   rÙ   z1/1/2012ÚMSzEurope/ParisÚidx3rÚ   rG   rJ   r6   )r×   rØ   rÞ   rK   r   r   )r   r	   rL   r   r²   r   r*   r^   r-   r.   r/   )
r0   rÛ   r@   r×   rØ   rÞ   r:   r1   rN   r3   r   r   r   Útest_reset_index_datetime2õ  s,   
ÿþûø
z)TestResetIndex.test_reset_index_datetime2c                 C   sŠ   |}t dd|d�}t ddg|g¡}ttjddd� dd	¡dg|d
�}td ¡ | |¡tjddd�dœg d¢d�}| 	¡ }t
 ||¡ d S )Nr<   r   r>   rK   r   rŠ   r+   rÚ   r   rŽ   za a a b b b)rh   rk   rK   r   )r   r   Úfrom_productr   r*   r^   ÚreshapeÚsplitrq   r-   r.   r/   )r0   rÛ   r@   Údtir:   r1   rN   r3   r   r   r   Útest_reset_index_datetime3  s   ÿýúz)TestResetIndex.test_reset_index_datetime3c                 C   sÂ   t jtjdddd�tdƒgddgd�}ttjd	d
d� dd¡|dgd�}ttj	ddd�gd tj	ddd�gd  tj	ddd�gd  g d¢d tjd	d
d�dœg d¢d�}| 
¡ }t ||¡ d S )Nr<   r   ÚM©r?   rF   ÚabcÚmonthÚfeaturer®   é	   r+   rÚ   éÿÿÿÿr   rK   ©r&   r   z2013-01©rF   z2013-02z2013-03r¶   )rè   ré   rK   r   )r   rà   rÉ   Úperiod_rangeÚlistr   r*   r^   rá   ÚPeriodr-   r.   r/   )r0   r:   r1   rN   r3   r   r   r   Útest_reset_index_period#  s(   þÿÿþ
ù	öz&TestResetIndex.test_reset_index_periodc                 C   sz   t tddgddgddgƒƒ}tj|g d¢d�}ttj d	¡ d
¡g d¢|d�}| 	¡ }t
|d ƒs3J ‚t|d ƒs;J ‚d S )Nr"   re   rP   é   ç      ð?r¸   )Úprm0Úprm1Úprm2r®   r   )rŒ   r   r·   rŽ   rõ   rö   )rï   r   r   r   r   r*   rQ   rR   rS   r-   r   r   )r0   Útuplesr&   r1   r}   r   r   r   Ú$test_reset_index_delevel_infer_dtype<  s   ýz3TestResetIndex.test_reset_index_delevel_infer_dtypec                 C   s@   |}|j dd�}t|jƒt|jƒksJ ‚|jj|jjksJ ‚d S )NTr'   )r-   rT   r   r&   r$   )r0   Ú/multiindex_year_month_day_dataframe_random_dataÚymdr}   r   r   r   Útest_reset_index_with_dropH  s   z)TestResetIndex.test_reset_index_with_dropzix_data, exp_datarZ   é   )rK   r   r[   ú
2020-01-01é{   r­   c                 C   sF   t j|ddgd�}tdddgi|d�}| ¡ }t|ƒ}t ||¡ d S )NrK   r   r®   r[   rZ   rü   r6   )r   r   r   r-   r.   r/   )r0   Úix_dataÚexp_dataÚixr3   rN   r   r   r   Útest_reset_index_nat_multiindexQ  s
   z.TestResetIndex.test_reset_index_nat_multiindexrv   )r   r   r   r   )r   r   r   r   )r   r   rë   r   c                 C   s¨   t tddgƒtddgƒg|ƒ}dtt|ƒƒi}t||d�}ttj|d ddgd�tj|d	 ddgd�td
ƒdœƒ}| ¡ }t 	||¡ | 
ddg¡ ¡ }t 	||¡ d S )Nr   r   rK   r   Úcol©Údatar&   r   )Ú
categoriesr   rˆ   )rh   rk   r  rh   rk   )r   r   rL   rT   r   r   Ú
from_codesr-   r.   r/   r,   )r0   rv   r&   r  r1   rN   Úresr   r   r   Ú:test_rest_index_multiindex_categorical_with_missing_valuesk  s   ÿýÿzITestResetIndex.test_rest_index_multiindex_categorical_with_missing_values)%Ú__name__Ú
__module__Ú__qualname__r4   r;   rA   rO   r–   ÚmarkÚparametrizerY   ra   r†   r�   r’   rš   r¡   rµ   rº   rÉ   Ú	Timedeltar   rÁ   rÃ   rÍ   rÔ   rÕ   rÖ   rÜ   rß   rä   rñ   rø   rû   ÚNaTr  r	  r   r   r   r   r    $   s|    
L

	8%
ùþ
2

	þþ þ÷þ
	 ÿr    zarray, dtyperK   r   z	12-1-2000r   zQ-DECræ   rí   c                 C   sn   t  ddgddg| g¡}t|d�d d…  ¡ j}|r%|tkr%tjtj	d�}t
tjtj|dœƒ}t ||¡ d S )Nr   r   g      à?ró   r6   )Úna_value)rh   rk   Úlevel_2)r   rà   r   r-   Údtypesr°   rÉ   ÚStringDtyper*   r¹   r   r+   rŸ   r.   rx   )Úarrayr%   Úusing_infer_stringr:   r3   rN   r   r   r   Ú6test_reset_index_dtypes_on_empty_frame_with_multiindex‡  s   r  c                  C   s˜   t jdgdd�} tj| ddggddgd�d d	… }t|d
dgd�}| ¡ }ttdƒtd	d	dd�d�}|d  d¡|d< |d  d¡|d< t	 
||¡ d S )Nz2020-07-20 00:00:00úM8[ns]rÚ   r   rˆ   rK   r   r®   r   r¥   r­   rì   Úabcdr   ©ÚstartrÂ   ÚsteprŽ   r½   r+   )rÉ   ÚDatetimeIndexr   rà   r   r-   rï   r   r¯   r.   r/   )rã   r:   r1   r3   rN   r   r   r   Ú7test_reset_index_empty_frame_with_datetime64_multiindex�  s   "ÿr  c                 C   s®   t jdgdd�}tdgdg|dœƒ}| d¡ dd	g¡d
g  ¡ }| ¡ }tg d¢tdddd�d�}|d	  d¡|d	< |d
  d¡|d
< | rO|d  d¡|d< t	 
||¡ d S )Nrý   r  rÚ   g      $@rK   )Úc1Úc2Úc3r   r   r!  r  )r   r!  r  r   r  rŽ   r½   rŸ   r¿   )rÉ   r  r   ÚheadÚgroupbyÚsumr-   r   r¯   r.   r/   )r  rã   r1   r3   rN   r   r   r   ÚDtest_reset_index_empty_frame_with_datetime64_multiindex_from_groupby«  s   ÿr%  c                  C   sˆ   t dƒ} tdddd�}t| |tdƒdœƒ}tj|jd< | dd	g¡ d¡}tj	g d
¢dd	d�}tt dƒtdƒdœ|d�}t
 ||¡ d S )Nr   ú
2015-07-01rD   )rF   r?   rç   )ÚidÚtstamprK   )r   r(  r'  r(  )r&  z
2015-07-02r  r  )r%   r$   )r'  rK   r6   )rL   r   r   rï   rÉ   r  Úlocr,   r-   r  r.   r/   )r:   r(  r1   r3   Úexp_dtirN   r   r   r   Útest_reset_index_multiindex_nat½  s   
ÿþr+  c                  C   st   t t d¡tddgdd�tddgg d¢ƒd�} |  ¡ }t g d¢g d¢gtdtd	dƒtddƒgƒd
�}t ||¡ d S )Nr   r   ÚYearr#   r5   rì   )r   ró   r›   )r   r›   ró   r   r   )	r   r*   Úeyer	   r   r-   r
   r.   r/   )r1   r3   rN   r   r   r   Ú-test_reset_index_interval_columns_object_castÎ  s   &ÿþr.  c                 C   s\   | j dd�}t| jjdd�}t |d |¡ | j dd�}t| jjdd�}t |d |¡ d S )NÚnew_namer®   r#   rþ   )r-   r   r&   ry   r.   rx   )r{   r3   rN   r   r   r   Útest_reset_index_renameÛ  s   r0  c                 C   s€   | j dd�d d d… }t||dœƒ}ddg}||j_| ¡ }|jddgd	�}tj|d |d d
d� tj|d |d d
d� d S )NTrb   r   rd   rf   rg   Ú	new_firstÚ
new_secondr®   Fri   )rr   r   r&   rs   r-   r.   rx   )r{   Ú
stacked_dfrs   r3   rN   r   r   r   Ú"test_reset_index_rename_multiindexæ  s   r4  c                 C   s¦   | j dd�d d d… }t||dœƒ}tjtdd�� |jdddœd	� W d   ƒ n1 s-w   Y  tjtd
d�� |jdgd	� W d   ƒ d S 1 sLw   Y  d S )NTrb   r   )rf   rg   z-Index names must be str or 1-dimensional listr”   r1  r2  r®   zlist index out of range)rr   r   r–   r—   rÈ   r-   r™   )r{   r3  r   r   r   Útest_errorreset_index_renameô  s   ÿý"ÿr5  c                  C   s    t tddƒtdƒd�} d| j_|  ¡  t tddƒttdƒdd�ƒ}t | |¡ ttddƒtdƒd�}d|j_| ¡  ttddƒttdƒdd�ƒ}t 	||¡ d S )NrC   rP   r  Fr#   )
r   rL   r&   r$   r-   r   r.   rx   r   r/   )Úresult_seriesÚexpected_seriesÚresult_frameÚexpected_framer   r   r   Ú!test_reset_index_false_index_name  s   r:  r   c                 C   s  t g dd�}t|| d�}| ¡ }tdgd�}t ||¡ t g d¢dd�}t|| d�}| ¡ }tdg d¢iƒ}t ||¡ tjg ddgd�}t|| d�}| ¡ }tddgd�}t ||¡ tjdd	gddgd�}t|| d�}| ¡ }td
dgddgdœƒ}t ||¡ d S )Nr"   r#   rì   r   )r   r   r   re   r®   )r   r   )r   r   r   r   r   rd   )r	   r   r-   r.   r/   r   r   )r   r&   r1   r3   rN   r   r   r   Ú!test_reset_index_with_empty_frame  s(   r;  ),r   Ú	itertoolsr   Únumpyr*   r–   Úpandas.core.dtypes.commonr   r   ÚpandasrÉ   r   r   r   r	   r
   r   r   r   r   r   r   r   Úpandas._testingÚ_testingr.   Úfixturer   r    r  r  r°   rî   ÚPeriodDtyper  r  r%  r+  r.  r0  r4  r5  r:  r;  r   r   r   r   Ú<module>   sD    8
    g

þþþ

