
    Egm              	          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j                    d             Z G d d          Zej                            d	d
dgef e
j         ddd           e
j!        d          fg          d             Z"d Z#d Z$d Z%d Z&d Z'd Z(d Z)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                  d    ddgddgg} t          ddgddggt          j        |           	          S )
NA Bbr            columns)r	   r   from_tuples)levelss    `/var/www/sysmax/venv/lib/python3.11/site-packages/pandas/tests/frame/methods/test_reset_index.pymultiindex_dfr       s?    Bi#s$Fq!fq!f%z/Ef/M/MNNNN    c                      e Zd Zd Zd Zd Zd Zej        	                    dddg          d             Z
d	 Zd
 Zd Zej        	                    dddgddgg          d             Zej        	                    dddgdgg          d             Zd Zd Zd Zej        	                    ddddd ej        d           edd          d g          d!             Zd" Zd# Zej        	                    d$d%d&g          ej        	                    d'd%d&g          d(                         Zej        	                    d$d%d&g          d)             Zej        	                    d'd*g          d+             Zd, Zd- Zd. Zd/ Zd0 Z d1 Z!ej        	                    d2ej"        dfej"        dfgej"        ej"        gddgd3d4gd5fej"        df ed6          dfgej"         ed6          gddgd3d4gd5fej"        df ej        d7d8          dfgej"         ej        d7d8          gddgd3d4gd5fg          d9             Z#ej        	                    d:g d;g d<gg d=g d<gf          d>             Z$dS )?TestResetIndexc           
         t          dgt          j        t          dddd                    }|                    |j        dg          }|                    dgd          }t          j        ||g          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results       r   !test_reset_index_empty_rangeindexz0TestResetIndex.test_reset_index_empty_rangeindex%   s    IRXZ1ae5T5T5T
 
 
 llBHg.//!400
fbftDDDDDDr!   c                 &   t          g dd          }t          dg di|          }|                                }|d         j        t	          j        d          k    sJ |                    d          }t          j        |j        |           d S )N)l            l           l   
        r&   r'   r   r   r   r   r*   uint64)	r
   r	   r1   r)   r.   r0   r2   assert_index_equalr*   r4   idxr5   r7   s       r   test_set_resetzTestResetIndex.test_set_reset0   s    222??? YYY's333!!e}"bhx&8&88888e$$
bh,,,,,r!   c                    t          t          ddd          d          }t          dg di|	          }|                                }|d         j        d
k    sJ |                    d          }t          j        |j        |           d S )N20130101r   
US/Easternperiodstzr&   r'   r   r:   r;   zdatetime64[ns, US/Eastern])	r
   r   r	   r1   r)   r0   r2   r=   r*   r>   s       r   !test_set_index_reset_index_dt64tzz0TestResetIndex.test_set_index_reset_index_dt64tz;   s    Jz1FFFUSSS YYY's333!!e}"&BBBBBe$$
bh,,,,,r!   c                    |}t          ddd|d          }t          t          d          g dd|          }t          |t          d          g dd	g d	
          }|                                }t	          j        ||           d S )N1/1/2011   Dr?   rE   freqrF   r(   r   r   CrK   Ear   r;   )r?   rR   r   r   )r   r	   ranger1   r2   r3   )r4   tz_aware_fixturerF   r?   r5   expectedr7   s          r   test_reset_index_tzz"TestResetIndex.test_reset_index_tzF   s     QSReLLLU1XX,E,E,EFFcRRR1XX... 
 &%%
 
 
 !!
fh/////r!   rF   rC   zdateutil/US/Easternc                 R   t          dd|          }t          t          j                            d                              t          |                    |          }|                                                    d          }|j	        j
        }|j	        j
        }||k    sJ d S )Nz
2012-06-02
   rD   r   r*   )r   r	   r.   randomdefault_rngstandard_normallenr1   r0   r*   rF   )r4   rF   drr5   roundtrippedxprss          r   $test_frame_reset_index_tzaware_indexz3TestResetIndex.test_frame_reset_index_tzaware_indexX   s    bR888ry,,Q//??BHH"MM~~''11'::X["Rxxxxxxr!   c                    t          j        t          j        d          d          }t	          |t          j        d          d          ddg         }|                    d          }t	          dt          j        d          i|          }t          j        ||           |                                }t          j        ||           d S )N   xr'   rX   )rd   yre   r;   )	r   from_breaksr.   aranger	   r0   r2   r3   r1   )r4   r?   originalr7   rU   result2s         r   test_reset_index_with_intervalsz.TestResetIndex.test_reset_index_with_intervalsa   s    '	"C@@@3RYr]];;<<c3ZH##C((c29R==1===
fh///$$&&
gx00000r!   c           
      Z	   |                     d          d d d         }t          ||d          }ddg}||j        _        |                                }t          t          |j        j        |j        j                            D ]M\  }\  }}|	                    |          }||         }	t          j        |t          ||	                              Nd d g|j        _        |                                }
t          j        |d         |
d         d	           t          j        |d         |
d
         d	           |                                }t          |j        j        d          }t          j        |d         |           |                                }d|d<   |                                }t          |j        j        d          }t          j        |d         |           d|j        _        |                                }t          j        |d         t          |j                             t          j        |j        t          t%          t'          |                              d           d|j        _        |                                }|j        j        dk    sJ |                                                    g d          }|                    ddg          }t          j        ||           |                    g d          }t          j        ||                                           |                    g d          }t          j        ||                                           |                    d          }|                                                    ddg          }t          j        ||           |                                }|                                }|                    d          }|J t          j        ||           |                                                    g d          }|                    dd          }|                                }|d= |                    dgd          }t          j        ||           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*   namesr1   	enumeratezipr   codestaker2   r=   r
   assert_series_equalr   valuescopyr(   rS   r\   r   r0   r3   )r4   float_framestackedr}   	deleveledilevlevel_codesr   r(   
deleveled2rdfexpr5   resetr`   r_   return_values                     r   test_reset_indexzTestResetIndex.test_reset_indexl   sn   ###66sss;GG<<==(##''))	%.$gm&9::&
 &
 	B 	B!A![ XXk**F8D!&%	$*@*@AAAA#Tl((**

g
9 55	
 	
 	
 	
 	hI!6E	
 	
 	
 	

 %%''[&-G<<<
s7|S111 7nn[&-I>>>
s9~s333 ")++--	
y16+:K3L3LMMM
iouU3y>>5J5J/K/KSWXXXX $- ''))}!Y.... $$&&001D1D1DEE^^S#J''
b+...^^///00
b+"9"9";";<<<^^///00
b+"9"9";";<<<^^C  $$&&00'3@@
b"%%% ''))~~d~33###
b%((($$&&001D1D1DEE^^Cd^++sG\\3%\--
b"%%%%%r!   c           	      F   t          g dg dgg dt          t          d          d                    }|                                j        j        J |                    d	          j        j        J |                    d
          }|J |j        j        J d S )Nr   r   r      rJ            r   r   rO   rK   r   rd   r'   r   r*   Tr+   rx   )r	   r
   rS   r1   r*   r(   )r4   r5   r   s      r   test_reset_index_namez$TestResetIndex.test_reset_index_name   s    \\<<<((((as+++
 
 

 ~~%*222~~4~((.3;;;~~d~33###x}$$$$$r!   r   r   r   r   r   c                 b   t          g dg dgg d          }|                    ddg                              |d                   }t          j        ||                    d                     |                    ddg                              |d d	                   }t          j        ||                    d                     |                    ddg                              |          }t          j        ||           |                    ddg                              |d
          }t          j        ||ddg                    |                    d                              |d                   }t          j        ||           |                    d                              |d d	                   }t          j        ||           |                    dg                              |d         d
          }t          j        ||g d                    d S )Nr   r   r   r   r   r   r   levelr   T)r   r,   rO   rK   )r   rO   rK   )r	   r0   r1   r2   r3   )r4   r   r5   r7   s       r   test_reset_index_levelz%TestResetIndex.test_reset_index_level   s    lll3=Q=Q=QRRR sCj))55F1I5FF
fbll3&7&7888sCj))55F2A2J5GG
fbll3&7&7888sCj))55F5CC
fb)))sCj))55F5NN
fb#sn555 c""..VAY.??
fb)))c""..VBQBZ.@@
fb)))se$$00vayt0LL
fb&9:::::r!   idx_levc                    t          g dg dgg d          }t          j        t          d          5  |                    |                              ddg	           d d d            n# 1 swxY w Y   t          j        t          d
          5  |                    |                              g d	           d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   z(L|l)evel \(?E\)?matchr   rP   r   zToo many levelsr:   )r	   pytestraisesKeyErrorr0   r1   
IndexError)r4   r   r5   s      r   test_reset_index_level_missingz-TestResetIndex.test_reset_index_level_missing   sn    lll3=Q=Q=QRRR]8+?@@@ 	@ 	@LL!!--S#J-???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@]:->??? 	? 	?LL!!--III->>>	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	?s#   ,A--A14A1,CCCc                    t          j        ddt          j        d          dz            }t          d|dz  z  dz  t	          |d          d          }t          |          }|                                }|d         j        t           j        k    sJ |                                }|d         j        t           j        k    sJ d S )	N        rX   r   gQ#@timer'   speed)r*   r(   )	r.   rg   sqrtr   r
   r	   r1   r)   float64)r4   r   s1r5   r   s        r   test_reset_index_right_dtypez+TestResetIndex.test_reset_index_right_dtype   s    yb"'!**q.11D!G^q d(@(@(@w
 
 
 r]]  V}"bj0000  V}"bj000000r!   c                 J   t           j                            d                              d                              t
                    }g d}t          j        d |D             |f          }t          |t          |d          g dg dg	          }|	                                }t          |g d
g dg	          }t          j        ||           |	                    d           }t          |g d
g dg	          }t          j        ||           |	                    dd          }t          |g dg dg	          }t          j        ||           t          |t          j        g dg dgddg          g dg dg	          }|	                    d          }t          |t          g dd          g d
g dg	          }t          j        ||           |	                    dd           }t          |t          t          d          d          g d
g dg	          }t          j        ||           |	                    ddd          }t          |t          t          d          d          g dg dg	          }t          j        ||           d S )Nr   )r   r   )rd   re   zc                     g | ]}|gS  r   ).0rd   s     r   
<listcomp>zBTestResetIndex.test_reset_index_multiindex_col.<locals>.<listcomp>   s    ,,,1A3,,,r!   rR   r'   )r   r   c)meanmedianr   r   )rR   r   r   r   )r   r   r   r   col_fill)rR   r   r   r   r   blah	col_levelr   )r   r   r   r   r:   dr}   r   )r   r   )r.   rY   rZ   r[   astypeobjecthstackr	   r
   r1   r2   r3   r   from_arraysrS   )r4   valsr?   fullr5   r`   r_   s          r   test_reset_index_multiindex_colz.TestResetIndex.test_reset_index_multiindex_col   s+   y$$Q''77??FFvNNooy,,,,,d344#C   $__&@&@&@A
 
 

 ^^///1O1O1OP
 
 
 	b"%%%^^T^**///1P1P1PQ
 
 
 	b"%%%^^a&^992224S4S4ST
 
 
 	b"%%%"III#?SzRRR$__&@&@&@A
 
 

 ^^C  )))#&&&)))+I+I+IJ
 
 

 	b"%%%^^C$^//%((%%%)))+J+J+JK
 
 

 	b"%%%^^C&A^>>%((%%%,,,.M.M.MN
 
 

 	b"%%%%%r!   c                 R   t          g dddt          j        gt          j                            d                              d          d          }|                    ddg                                          }t          j        ||           t          t          j        d	d
gg dt          j                            d                              d          d          }|                    ddg                                          }t          j        ||           t          g dg dt          j        ddgd          }|                    ddg                                          }t          j        ||           t          g dt          j        t          j        t          j        gt          j                            d                              d          d          }|                    ddg                                          }t          j        ||           d S )NrR   r   r   r   r   r   r   r   r   rO   r   r   r   r   r:   皙?g@)	r	   r.   nanrY   rZ   r0   r1   r2   r3   )r4   r5   r`   s      r   test_reset_index_multiindex_nanz.TestResetIndex.test_reset_index_multiindex_nan.  s    $__BF^Y**1--44Q77 
 
 \\3*%%1133
b"%%%fc3'YYY**1--44Q77 
 
 \\3*%%1133
b"%%%___999BFCQTCUVVWW\\3*%%1133
b"%%%$__fbfbf-Y**1--44Q77 
 
 \\3*%%1133
b"%%%%%r!   r(   Nr&   r   g      @r   z
2012-12-30UTC)rF   
2012-12-31c           	         t          ddgddggt          dd          ddg	          }||j        _        |                                }||nd
}t          |t          ddd          t          ddd          g          }t          |t                    r|dk    r|	                    d          }n|j
        t          k    sJ t          g dg dg|          }t          j        ||           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(   r1   r
   r   
isinstancestrr   r)   r   r2   r3   )r4   r(   r5   r7   itemr   rU   s          r   (test_reset_index_with_datetimeindex_colsz7TestResetIndex.test_reset_index_with_datetimeindex_colsS  s    VaVz:66*
 
 

 !!'ttWxa33XdAq5I5IJKKdC   	+T\%9%9nn%566GG=F****[[+++&
 
 
 	fh/////r!   c                 0   t          ddgddggddgt          d                    }|                                }t          |j        t                    sJ t          g dg d	gg d
t          d                    }t          j        ||           d S )Nr   r   r   r   r   )stopr   )r   r   r   )r   r   r   rw   )r	   r   r1   r   r*   r2   r3   )r4   r5   r7   rU   s       r   test_reset_index_rangez%TestResetIndex.test_reset_index_rangew  s    AA'#s:STCUCUCUVVV!!&,
33333YY			"'''!$$$
 
 

 	fh/////r!   c                     |dg                              d                                          }t          j        ||           d}t	          j        t          |          5  |                     d                                           d d d            n# 1 swxY w Y   |                    dg                                          }t          j        ||           t          dgdggt          j
        dg          	          }t          j        ||d
dg         gd          }|                    d
gd                                          }t          j        ||           d}t	          j        t          |          5  |                     dg                                           d d d            n# 1 swxY w Y   g dg dg}t          ddgddggt          j
        |          	          }t          dgdggt          j
        dg          	          }t          j        ||gd          }|                     dg                              d          }t          j        ||           t	          j        t          d          5  |                     dg                              d            d d d            n# 1 swxY w Y   |                     dg                              dd          }t          j        ||           d S )Nr   r   )cannot insert \('A', ''\), already existsr   )r   r   r   r   )rr   r   r   )r   r   )axisTrz   z0Item must have length equal to number of levels.)rO   r   r   )r   rR   r   )r   r   r   r   r   )rO   r   ii)rO   r   r   r   zFcol_fill=None is incompatible with incomplete column name \('C', 'c'\))r   r   rO   r   )rename_axisr1   r2   r3   r   r   
ValueErrorr0   r	   r   r   pdconcat)r4   r    r7   msgidx_colrU   r   r6   s           r   #test_reset_index_multiindex_columnsz2TestResetIndex.test_reset_index_multiindex_columns  s   u%11#66BBDD
fm444 ;]:S111 	9 	9%%c**66888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 (()55AACC
fm444 S1#J
 67H I I
 
 
 9g}j)5L'MNUVWWW((*d(CCOOQQ
fh/// A]:S111 	G 	G%%&788DDFFF	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G !..///2!Q!Q(*2H2P2PQQQS1#J
 68H7I J J
 
 
 9gs^!444*..::D:II
fh/// ]7
 
 
 	E 	E OOZL))55t5DDD	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E +//;;aRU;VV
fh/////s6   !(BBB)F66F:=F:+KK
KflagFTallow_duplicatesc                    |                     d          }|                    |          }|rc|ra|                    |          }ddgddgddgg}t          g dg dgt	          j        |          	          }t          j        ||           d S |s|rd
}nd}t          j	        t          |          5  |                    |           d d d            d S # 1 swxY w 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_flagsr1   r	   r   r   r2   r3   r   r   r   )	r4   r    r   r   r5   r7   r   rU   r   s	            r   (test_reset_index_duplicate_columns_allowz7TestResetIndex.test_reset_index_duplicate_columns_allow  s}    &&s++\\$\77 	B$ 	B^^5E^FFFBi#rS#J7F III&
0Fv0N0N  H !&(33333 C, CD 
 Cz555 B B0@AAAB B B B B B B B B B B B B B B B B Bs   5CC Cc                     |                     d          }|                    |          }d}t          j        t          |          5  |                                 d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   )r   r   r   r   r   r1   )r4   r    r   r5   r   s        r   *test_reset_index_duplicate_columns_defaultz9TestResetIndex.test_reset_index_duplicate_columns_default  s    &&s++\\$\77:]:S111 	 	NN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   	A++A/2A/z	bad valuec                     t          j        t          d          5  |                    |           d d d            d S # 1 swxY w Y   d S )Nzexpected type boolr   r   )r   r   r   r1   )r4   r    r   s      r   'test_reset_index_allow_duplicates_checkz6TestResetIndex.test_reset_index_allow_duplicates_check  s    ]:-ABBB 	I 	I%%7G%HHH	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	Is   A  AAc                    |}t          ddd|d          }t          t          d          dd          }t          j        ||g          }t          t          j        dd	          g d
d|          }t          |t          j        dd	          t          j        dd	          g d
dg d          }t          j	        |
                                |           d S )NrI   rJ   rK   idx1rL   idx2r/   r(   r)   r)   rN   rQ   r;   )r   r   rR   r   r   )r   r
   rS   r   r   r	   r.   rg   r2   r3   r1   )r4   tz_naive_fixturerF   r   r   r?   r5   rU   s           r   test_reset_index_datetimez(TestResetIndex.test_reset_index_datetime  s   *acbvNNNU1XXF':::$dD\22)AW---4M4M4MNN
 
 

 	!7333Yq000...	  /..
 
 
 	bnn..99999r!   c           	         |}t          ddd|d          }t          t          d          dd          }t          d	dd
dd          }t          j        |||g          }t          t          j        dd          g dd|          }t          |t          j        dd          |t          j        dd          g ddg d          }|                                }	t          j
        |	|           d S )NrI   rJ   rK   r   rL   r   r/   r   z1/1/2012MSzEurope/Parisidx3r   rN   rQ   r;   )r   r   r   rR   r   r   )r   r
   rS   r   r   r	   r.   rg   r1   r2   r3   )
r4   r   rF   r   r   r   r?   r5   rU   r7   s
             r   test_reset_index_datetime2z)TestResetIndex.test_reset_index_datetime2  s1   *acbvNNNU1XXF':::f
 
 
 $dD$%788)AW---4M4M4MNN
 
 

 	!7333Yq000...  766	
 	
 	
 !!
fh/////r!   c                    |}t          dd|          }t          j        ddg|g          }t          t	          j        dd                              dd	          dg|
          }t          d                                |                    |          t	          j        dd          dg d          }|	                                }t          j        ||           d S )NrB   r   rD   rR   r   r   r/   r   r   r   za a a b b b)rr   ru   rR   r   )r   r   from_productr	   r.   rg   reshapesplitr{   r1   r2   r3   )r4   r   rF   dtir?   r5   rU   r7   s           r   test_reset_index_datetime3z)TestResetIndex.test_reset_index_datetime3  s    Q2666%Sz3&788Iaw'''//155uC
 
 
 (..00::c??Yq000 
 0//
 
 
 !!
fh/////r!   c                 B   t          j        t          j        ddd          t	          d          gddg          }t          t          j        d	d
                              dd          |dg          }t          t          j	        dd          gdz  t          j	        dd          gdz  z   t          j	        dd          gdz  z   g ddz  t          j        d	d
          dg d          }|
                                }t          j        ||           d S )NrB   r   MrE   rM   abcmonthfeaturer   	   r/   r   r   rR   r*   r   z2013-01rM   z2013-02z2013-03r   )r  r  rR   r   )r   r   r   period_rangelistr	   r.   rg   r   Periodr1   r2   r3   )r4   r?   r5   rU   r7   s        r   test_reset_index_periodz&TestResetIndex.test_reset_index_period#  sM   %_Z===tE{{KI&
 
 

 Iaw'''//A66cC5
 
 
  Yys3334q8y5556:;y5556:; +??Q.Yq000  .--
 
 
 !!
fh/////r!   c                    t          t          ddgddgddg                    }t          j        |g d          }t	          t
          j                            d	                              d
          g d|          }|	                                }t          |d                   sJ t          |d                   sJ d S )Nr&   ro   rX            ?r   )prm0prm1prm2r   r   )r   r   r   r   r  r  )r  r   r   r   r	   r.   rY   rZ   r[   r1   r   r   )r4   tuplesr*   r5   r   s        r   $test_reset_index_delevel_infer_dtypez3TestResetIndex.test_reset_index_delevel_infer_dtype<  s    guenr2hc
CCDD&v5M5M5MNNNI!!!$$44V<<#OO
 
 

 NN$$		& 122222i/0000000r!   c                     |}|                     d          }t          |j                  t          |j                  k    sJ |j        j        |j        j        k    sJ d S )NTr+   )r1   r\   r   r*   r(   )r4   /multiindex_year_month_day_dataframe_random_dataymdr   s       r   test_reset_index_with_dropz)TestResetIndex.test_reset_index_with_dropH  sb     >OOO..	9$%%S[)9)99999#sy~555555r!   zix_data, exp_datarc      )rR   r   rd   
2020-01-01{   r   c                     t          j        |ddg          }t          dddgi|          }|                                }t          |          }t	          j        ||           d S )NrR   r   r   rd   rc   r  r;   )r   r   r	   r1   r2   r3   )r4   ix_dataexp_dataixr7   rU   s         r   test_reset_index_nat_multiindexz.TestResetIndex.test_reset_index_nat_multiindexQ  sn    & #GC:>>>C"b?"555##%%X&&
fh/////r!   r   )r   r   r   r   )r   r   r   r   )r   r   r  r   c                 B   t          t          ddg          t          ddg          g|          }dt          t          |                    i}t	          ||          }t	          t          j        |d         ddg          t          j        |d	         ddg          t          d
          d          }|                                }t          j	        ||           |
                    ddg                                          }t          j	        ||           d S )Nr   r   rR   r   coldatar*   r   )
categoriesr   r   )rr   ru   r#  rr   ru   )r   r   rS   r\   r	   r   
from_codesr1   r2   r3   r0   )r4   r   r*   r%  r5   rU   ress          r   :test_rest_index_multiindex_categorical_with_missing_valueszITestResetIndex.test_rest_index_multiindex_categorical_with_missing_valuesk  s    sCj))+;S#J+G+GH%
 
 uSZZ(()D...&1%(SzRRR&1%(SzRRRQxx 
 
 nn
c8,,,   )Y!788DDFF
c8,,,,,r!   )%__name__
__module____qualname__r8   r@   rG   rV   r   markparametrizera   rj   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\       	E 	E 	E	- 	- 	-	- 	- 	-0 0 0$ [TL2G#HII  JI	1 	1 	1J& J& J&X
% 
% 
% [Xc
QF';<<; ; =<;4 [Y#scU(;<<? ? =<?1 1 16& 6& 6&p#& #& #&J [BLOOIlu---	
 0 0 00
0 
0 
000 00 00d [VeT]33[/%??B B @? 43B2 [VeT]33  43 [/+??I I @?I: : :.0 0 040 0 0(0 0 02
1 
1 
16 6 6 [ &!rvqk*vrv&aV2r(CC
 &!yy66:;vyy667q!fBPR8TT
 &!|r|C55q9:v|r|C556aV2r(SS	
 "0 0# "0 [<<<.0MN - - - - -r!   r#   zarray, dtyperR   r   z	12-1-2000r   zQ-DECr  r	  c                 0   t          j        ddgddg| g          }t          |          d d                                         j        }|r|t
          k    rd}t          t          j        t          j	        |d          }t          j        ||           d S )Nr   r   g      ?r  r;   string)rr   ru   level_2)r   r   r	   r1   dtypesr   r   r.   r/   r   r2   r   )arrayr)   using_infer_stringr?   r7   rU   s         r   6test_reset_index_dtypes_on_empty_frame_with_multiindexr7    s     
!Aq6C:u"=
>
>CS!!!"1"%1133:F evoo"(rzeTTUUH68,,,,,r!   c                     t          j        dgd          } t          j        | ddggddg          d d	         }t	          |d
dg          }|                                }t	          t          d          t          d	d	d                    }|d                             d          |d<   |d                             d          |d<   t          j
        ||           d S )Nz2020-07-20 00:00:00M8[ns]r   r   r   rR   r   r   r   r   r   r  abcdr   startr   stepr   r   r/   )r   DatetimeIndexr   r   r	   r1   r  r   r   r2   r3   )r   r?   r5   r7   rU   s        r   7test_reset_index_empty_frame_with_datetime64_multiindexr?    s    

12(
C
C
CC

!3A-Sz
B
B
B2A2
FC	sCj	1	1	1B^^FVJQQQ$G$G$G  H SM(()9::HSMSM((11HSM&(+++++r!   c                 4   t          j        dg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
<   | r|d                             d          |d<   t          j
        ||           d S )Nr  r9  r   g      $@rR   )c1c2c3r   rB  rC  rA  )rB  rC  rA  r   r;  r   r   r   zstring[pyarrow_numpy])r   r>  r	   headgroupbysumr1   r   r   r2   r3   )r6  r   r5   r7   rU   s        r   Dtest_reset_index_empty_frame_with_datetime64_multiindex_from_groupbyrG    s    
L>
:
:
:C	4&S99	:	:B			T4L	)	)4&	1	5	5	7	7B^^F"""*111*M*M*M  H d^**+;<<HTNd^**955HTN H!$../FGG&(+++++r!   c                     t          d          } t          ddd          }t          | |t          d          d          }t          j        |j        d<   |                    dd	g                              d          }t	          j	        g d
dd	          }t          t          d          t          d          d|          }t          j        ||           d S )Nr   
2015-07-01rK   )rM   rE   r  )idtstamprR   )r   rK  rJ  rK  )rI  z
2015-07-02r0  r9  )r)   r(   )rJ  rR   r;   )rS   r   r	   r  r   r0  locr0   r1   r>  r2   r3   )r?   rK  r5   r7   exp_dtirU   s         r   test_reset_index_multiindex_natrN    s    
((C3:::F	#d5kkBB	C	CB&BF;\\4*++77==F+++8(  G Qxxd5kk**  H &(+++++r!   c                  l   t          t          j        d          t          ddgd          t	          ddgg d                    } |                                 }t          g dg dgt          dt          d	d          t          dd          g          
          }t          j        ||           d S )Nr   r   Yearr'   r:   r  )r   r  r   )r   r   r  r   r   )	r	   r.   eyer
   r   r1   r   r2   r3   )r5   r7   rU   s      r   -test_reset_index_interval_columns_object_castrR    s    	
q		1vF333S!Q=S=S
 
 
B ^^F	&vx1~~x1~~>??  H &(+++++r!   c                 6   |                      d          }t          | j        j        d          }t	          j        |d         |           |                      d          }t          | j        j        d          }t	          j        |d         |           d S )Nnew_namer   r'   r  )r1   r   r*   r   r2   r   )r   r7   rU   s      r   test_reset_index_renamerU    s    $$:$66Fk'.Z@@@H6*-x888$$3$//Fk'.S999H6#;11111r!   c                 l   |                      d          d d d         }t          ||d          }ddg}||j        _        |                                }|                    ddg	          }t          j        |d         |d         d
           t          j        |d         |d         d
           d S )NTrl   r   rn   rp   rq   	new_first
new_secondr   Frs   )r|   r	   r*   r}   r1   r2   r   )r   
stacked_dfr}   r7   rU   s        r   "test_reset_index_rename_multiindexrZ    s    """55ccc:J:jAABBJhE"J##%%F%%[,,G%HHH6'?H[,AuUUUU6(+Xl-CQVWWWWWWr!   c                    |                      d          d d d         }t          ||d          }t          j        t          d          5  |                    ddd	           d d d            n# 1 swxY w Y   t          j        t          d
          5  |                    dg	           d d d            d S # 1 swxY w Y   d S )NTrl   r   )rp   rq   z-Index names must be str or 1-dimensional listr   rW  rX  r   zlist index out of range)r|   r	   r   r   r   r1   r   )r   rY  s     r   test_errorreset_index_renamer\    sq   """55ccc:JZ:FFGGJ	I
 
 
 U U 	{l%S%STTTU U U U U U U U U U U U U U U
 
z)B	C	C	C 4 4k]3334 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4s$   A33A7:A7B>>CCc                  r   t          t          dd          t          d                    } d| j        _        |                                  t          t          dd          t          t          d          d                    }t          j        | |           t          t          dd          t          d                    }d|j        _        |                                 t          t          dd          t          t          d          d                    }t          j	        ||           d S )NrJ   rX   r$  Fr'   )
r   rS   r*   r(   r1   r   r2   r   r	   r3   )result_seriesexpected_seriesresult_frameexpected_frames       r   !test_reset_index_false_index_namerb    s    aE!HH===M$MU1b\\:eAhhU+K+K+KLLO=/::: %2,,eAhh???L#LuQ||Zau-M-M-MNNN,77777r!   )+r   	itertoolsr   numpyr.   r   pandas.core.dtypes.commonr   r   pandasr   r   r   r	   r
   r   r   r   r   r   r   r   r   pandas._testing_testingr2   fixturer    r#   r-  r.  r   r
  PeriodDtyper7  r?  rG  rN  rR  rU  rZ  r\  rb  r   r!   r   <module>rk     sd                          
                                      O O O
`	- `	- `	- `	- `	- `	- `	- `	-F 
sVBOKAAABN(((	
	 		- 	-	 		-, , ,, , ,$, , ,"
, 
, 
,2 2 2X X X4 4 48 8 8 8 8r!   