
    Owg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j4                         d        Z G d d      Zej:                  j=                  d	d
dgef e
j@                  ddd       e
jB                  d      fg      d        Z"d Z#d Z$d Z%d Z&d Z'd Z(d Z)d Z*y)    )datetime)productN)is_float_dtypeis_integer_dtype)CategoricalCategoricalIndex	DataFrameIndexIntervalIntervalIndex
MultiIndex
RangeIndexSeries	Timestampcut
date_rangec                  ^    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    b/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/frame/methods/test_reset_index.pymultiindex_dfr       s9    Bi#s$Fq!fq!f%z/E/Ef/MNN    c                   
   e Zd Zd Zd Zd Zd Zej                  j                  dddg      d        Z
d	 Zd
 Zd Zej                  j                  dddgddgg      d        Zej                  j                  dddgdgg      d        Zd Zd Zd Zej                  j                  ddddd ej(                  d       edd      d g      d!        Zd" Zd# Zej                  j                  d$d%d&g      ej                  j                  d'd%d&g      d(               Zej                  j                  d$d%d&g      d)        Zej                  j                  d'd*g      d+        Zd, Zd- Zd. Zd/ Zd0 Z d1 Z!ej                  j                  d2ejD                  dfejD                  dfgejD                  ejD                  gddgd3d4gd5fejD                  df ed6      dfgejD                   ed6      gddgd3d4gd5fejD                  df ej(                  d7d8      dfgejD                   ej(                  d7d8      gddgd3d4gd5fg      d9        Z#ej                  j                  d:g d;g d<gg d=g d<gf      d>        Z$y)?TestResetIndexc           
          t        dgt        j                  t        dddd            }|j	                  |j
                  dg      }|j                  dgd      }t        j                  ||g    d	       y )
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%   sg    IRXXZ1ae5T
 llBHHg./!40
fbftDr!   c                    t        g dd      }t        dg di|      }|j                         }|d   j                  t	        j                  d      k(  sJ |j                  d      }t        j                  |j                  |       y )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   ss    2? Y's3!e}""bhhx&8888e$
bhh,r!   c                    t        t        ddd      d      }t        dg di|	      }|j                         }|d   j                  d
k(  sJ |j                  d      }t        j                  |j                  |       y )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;   ss    Jz1FUS Y's3!e}""&BBBBe$
bhh,r!   c                     |}t        ddd|d      }t        t        d      g dd|      }t        |t        d      g dd	g d	
      }|j                         }t	        j
                  ||       y )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   sp     QSReLU1X,EFcR1X.
 &
 !
fh/r!   rF   rC   zdateutil/US/Easternc                 F   t        dd|      }t        t        j                  j	                  d      j                  t        |            |      }|j                         j                  d      }|j                  j                  }|j                  j                  }||k(  sJ y )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   sz    bR8ryy,,Q/??BH"M~~'11':XX[[""Rxxr!   c                    t        j                  t        j                  d      d      }t	        |t        j                  d      d      ddg   }|j                  d      }t	        dt        j                  d      i|      }t        j                  ||       |j                         }t        j                  ||       y )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@3RYYr];<c3ZH##C(c299R=1=
fh/$$&
gx0r!   c           
         |j                  d      d d d   }t        ||d      }ddg}||j                  _        |j	                         }t        t        |j                  j                  |j                  j                              D ]@  \  }\  }}|j                  |      }||   }	t        j                  |t        ||	                B d d g|j                  _        |j	                         }
t        j                  |d   |
d   d	       t        j                  |d   |
d
   d	       |j	                         }t        |j                  j                  d      }t        j                  |d   |       |j!                         }d|d<   |j	                         }t        |j                  j                  d      }t        j                  |d   |       d|j                  _        |j	                         }t        j                  |d   t        |j                               t        j                  |j                  t        t%        t'        |                  d       d|j(                  _        |j	                         }|j(                  j"                  dk(  sJ |j	                         j+                  g d      }|j	                  ddg      }t        j,                  ||       |j	                  g d      }t        j,                  ||j	                                |j	                  g d      }t        j,                  ||j	                                |j	                  d      }|j	                         j+                  ddg      }t        j,                  ||       |j!                         }|j	                         }|j	                  d      }|J t        j,                  ||       |j	                         j+                  g d      }|j	                  dd      }|j!                         }|d= |j+                  dgd      }t        j,                  ||       y )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   s   ###6ss;GG<=(##'')	%.$$gmm&9&9:&
 	B!A![ XXk*F8D!!&%	$*@A	B  $Tl((*

g
9 55	
 	hI!6E	

 %%'[&&--G<
s7|S1 7nn[&&--I>
s9~s3 ")++-	
y16+:K:K3LM
ioouU3y>5J/KSWX $- '')}}!!Y... $$&001DE^^S#J'
b+.^^/0
b+"9"9";<^^/0
b+"9"9";<^^C $$&00'3@
b"% '')~~d~3###
b%($$&001DE^^Cd^+sG\\3%\-
b"%r!   c           	      P   t        g dg dgg dt        t        d      d            }|j                         j                  j
                  J |j                  d	      j                  j
                  J |j                  d
      }|J |j                  j
                  J y )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3;;;~~d~3###xx}}$$$r!   r   r   r   r   r   c                    t        g dg dgg d      }|j                  ddg      j                  |d         }t        j                  ||j                  d             |j                  ddg      j                  |d d	       }t        j                  ||j                  d             |j                  ddg      j                  |      }t        j                  ||       |j                  ddg      j                  |d
      }t        j                  ||ddg          |j                  d      j                  |d         }t        j                  ||       |j                  d      j                  |d d	       }t        j                  ||       |j                  dg      j                  |d   d
      }t        j                  ||g d          y )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   l3=QR sCj)55F1I5F
fbll3&78sCj)55F2AJ5G
fbll3&78sCj)55F5C
fb)sCj)55F5N
fb#sn5 c"..VAY.?
fb)c"..VBQZ.@
fb)se$00vayt0L
fb&9:r!   idx_levc                 z   t        g dg dgg d      }t        j                  t        d      5  |j	                  |      j                  ddg	       d d d        t        j                  t        d
      5  |j	                  |      j                  g d	       d d d        y # 1 sw Y   QxY w# 1 sw Y   y xY w)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   s     l3=QR]]8+?@ 	@LL!--S#J-?	@]]:->? 	?LL!--I->	? 	?	@ 	@	? 	?s   $B%8$B1%B.1B:c                    t        j                  ddt        j                  d      dz        }t        d|dz  z  dz  t	        |d      d      }t        |      }|j                         }|d   j                  t         j                  k(  sJ |j                         }|d   j                  t         j                  k(  sJ y )	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    yyb"''!*q.1D!G^q d(@w
 r] V}""bjj000 V}""bjj000r!   c                    t         j                  j                  d      j                  d      j	                  t
              }g d}t        j                  |D cg c]  }|g c}|f      }t        |t        |d      g dg dg      }|j                         }t        |g d	g d
g      }t        j                  ||       |j                  d       }t        |g d	g dg      }t        j                  ||       |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      }|j                  d      }t        |t        g dd      g d	g d
g      }t        j                  ||       |j                  dd       }t        |t        t        d      d      g d	g dg      }t        j                  ||       |j                  ddd      }t        |t        t        d      d      g dg dg      }t        j                  ||       y c c}w )Nr   )r   r   )rd   re   zrR   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?   rd   fullr5   r`   r_   s           r   test_reset_index_multiindex_colz.TestResetIndex.test_reset_index_multiindex_col   s"   yy$$Q'77?FFvNyy,1A3,d34#C $&@A

 ^^/1OP
 	b"%^^T^*/1PQ
 	b"%^^a&^924ST
 	b"%""I#?SzR$&@A

 ^^C )#&)+IJ

 	b"%^^C$^/%(%)+JK

 	b"%^^C&A^>%(%,.MN

 	b"%g -s   
Ic                    t        g dddt        j                  gt        j                  j	                  d      j                  d      d      }|j                  ddg      j                         }t        j                  ||       t        t        j                  d	d
gg dt        j                  j	                  d      j                  d      d      }|j                  ddg      j                         }t        j                  ||       t        g dg dt        j                  ddgd      }|j                  ddg      j                         }t        j                  ||       t        g dt        j                  t        j                  t        j                  gt        j                  j	                  d      j                  d      d      }|j                  ddg      j                         }t        j                  ||       y )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    $BFF^YY**1-44Q7
 \\3*%113
b"%ffc3'YY**1-44Q7
 \\3*%113
b"%_9BFFCQTCUVW\\3*%113
b"%$ffbffbff-YY**1-44Q7
 \\3*%11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                  _        |j	                         }||nd
}t        |t        ddd      t        ddd      g      }t        |t              r|dk(  r|j                  d      }n|j                  t        k(  sJ t        g dg dg|      }t        j                  ||       y )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*

 !'tWxa3XdAq5IJKdC T\%9nn%56G==F***+&
 	fh/r!   c                    t        ddgddggddgt        d            }|j                         }t        |j                  t              sJ t        g dg d	gg d
t        d            }t        j                  ||       y )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  sv    AA'#s:STCUV!&,,
333	"'!$

 	fh/r!   c                    |dg   j                  d      j                         }t        j                  ||       d}t	        j
                  t        |      5  |j                  d      j                          d d d        |j                  dg      j                         }t        j                  ||       t        dgdggt        j                  dg      	      }t        j                  ||d
dg   gd      }|j                  d
gd      j                         }t        j                  ||       d}t	        j
                  t        |      5  |j                  dg      j                          d d d        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      }|j                  dg      j                  d      }t        j                  ||       t	        j
                  t        d      5  |j                  dg      j                  d        d d d        |j                  dg      j                  dd      }t        j                  ||       y # 1 sw Y   %xY w# 1 sw Y   ;xY w# 1 sw Y   ]xY w)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BBD
fm4 ;]]:S1 	9%%c*668	9 (()5AAC
fm4 S1#J
 6 67H I
 99g}j)5L'MNUVW((*d(COOQ
fh/ A]]:S1 	G%%&78DDF	G !/2!Q!Q(*2H2H2PQS1#J
 6 68H7I J
 99gs^!4*.::D:I
fh/ ]]7
 	E OOZL)55t5D	E +/;;aRU;V
fh/U	9 	9"	G 	G	E 	Es$    J!J'5#J4J$'J14J=flagFTallow_duplicatesc                    |j                  d      }|j                  |      }|r\|rZ|j                  |      }ddgddgddgg}t        g dg dgt	        j
                  |      	      }t        j                  ||       y |s|rd
}nd}t        j                  t        |      5  |j                  |       d d d        y # 1 sw Y   y xY w)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$^^5E^FFBi#rS#J7F I&
0F0Fv0NH !!&(3,D 
 Cz5 B0@AB B Bs   &CCc                     |j                  d      }|j                  |      }d}t        j                  t        |      5  |j                          d d d        y # 1 sw Y   y xY w)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  sT    &&s+\\$\7:]]:S1 	NN	 	 	s   AA$z	bad valuec                     t        j                  t        d      5  |j                  |       d d d        y # 1 sw Y   y xY w)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 	I%%7G%H	I 	I 	Is	   8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                  |j                         |       y )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U1XF':$$dD\2))AW-4MN

 		!73YYq0.	 /
 	bnn.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      }|j                         }	t        j                  |	|       y )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  s    *acbvNU1XF':f
 $$dD$%78))AW-4MN

 		!73YYq0. 7	
 !
fh/r!   c                    |}t        dd|      }t        j                  ddg|g      }t        t	        j
                  dd      j                  dd	      dg|
      }t        dj                         |j                  |      t	        j
                  dd      dg d      }|j                         }t        j                  ||       y )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%%Sz3&78IIaw'//15uC
 (..0::c?YYq0
 0
 !
fh/r!   c                 (   t        j                  t        j                  ddd      t	        d      gddg      }t        t        j                  d	d
      j                  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      }|j                         }t        j                  ||       y )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#  s    %%__Z=tE{KI&

 IIaw'//A6cC5
  YYys34q8yy56:;yy56:; +Q.YYq0 .
 !
fh/r!   c                 F   t        t        ddgddgddg            }t        j                  |g d      }t	        t
        j                  j                  d	      j                  d
      g d|      }|j                         }t        |d         sJ t        |d         sJ y )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D&&v5MNII!!!$44V<#

 NN$		& 1222i/000r!   c                     |}|j                  d      }t        |j                        t        |j                        k(  sJ |j                  j                  |j                  j                  k(  sJ y )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  s[     >OOO.	9$$%S[[)9999##syy~~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|      }|j                         }t        |      }t	        j
                  ||       y )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  sV    & ##GC:>C"b?"5##%X&
fh/r!   r   )r   r   r   r   )r   r   r   r   )r   r   r  r   c                    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      }|j                         }t        j                  ||       |j                  ddg      j                         }t        j                  ||       y )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H%
 uSZ()D.&11%(SzR&11%(SzRQx
 nn
c8,   )Y!78DD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#   $   s   	E	-	-0$ [[TL2G#HI J	1J&X
% [[Xc
QF';<; =;4 [[Y#scU(;<? =?16&p#&J [[BLLOlu-	
000
000d [[VeT]3[[/%?B @ 4B2 [[VeT]3 4 [[/+?I @I:.040(02
16 [[ &&!rvvqk*vvrvv&aV2r(C
 &&!y6:;vvy67q!fBPR8T
 &&!|r||C5q9:vv|r||C56aV2r(S	
"0#"0 [[<.0MN--r!   r#   zarray, dtyperR   r   z	12-1-2000r   zQ-DECr   r  c                 &   t        j                  ddgddg| g      }t        |      d d j                         j                  }|r|t
        k(  rd}t        t        j                  t        j                  |d      }t        j                  ||       y )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_multiindexr4    sz     
!
!Aq6C:u"=
>CS!"1%113::Fevo"((rzzeTUH68,r!   c                  ~   t        j                  dgd      } t        j                  | ddggddg      d d	 }t	        |d
dg      }|j                         }t	        t        d      t        d	d	d            }|d   j                  d      |d<   |d   j                  d      |d<   t        j                  ||       y )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(
CC

!
!3A-Sz
B2A
FC	sCj	1B^^FVJQQQ$GH SM(()9:HSMSM((1HSM&(+r!   c                    t        j                  dgd      }t        dgdg|d      }|j                  d      j	                  dd	g      d
g   j                         }|j                         }t        g dt        ddd            }|d	   j                  d      |d	<   |d
   j                  d      |d
<   | r|d   j                  d      |d<   t        j                  ||       y )Nr  r6  r   g      $@rR   )c1c2c3r   r?  r@  r>  )r?  r@  r>  r   r8  r   r   r   zstring[pyarrow_numpy])r   r;  r	   headgroupbysumr1   r   r   r2   r3   )r3  r   r5   r7   rU   s        r   Dtest_reset_index_empty_frame_with_datetime64_multiindex_from_groupbyrD    s     

L>
:C	4&S9	:B			T4L	)4&	1	5	5	7B^^F"*111*MH d^**+;<HTNd^**95HTN!$../FG&(+r!   c                     t        d      } t        ddd      }t        | |t        d      d      }t        j
                  |j                  d<   |j                  dd	g      j                  d      }t	        j                  g d
dd	      }t        t        d      t        d      d|      }t        j                  ||       y )Nr   
2015-07-01rK   )rM   rE   r   )idtstamprR   )r   rH  rG  rH  )rF  z
2015-07-02r,  r6  )r)   r(   )rG  rR   r;   )rS   r   r	   r  r   r,  locr0   r1   r;  r2   r3   )r?   rH  r5   r7   exp_dtirU   s         r   test_reset_index_multiindex_natrK    s    
(C3:F	#d5kB	CB&&BFF;\\4*+77=F+8(G Qxd5k*H &(+r!   c                  .   t        t        j                  d      t        ddgd      t	        ddgg d            } | j                         }t        g dg dgt        dt        d	d      t        dd      g      
      }t        j                  ||       y )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_castrO    s~    	
q	1vF3S!Q=S
B ^^F	&vx1~x1~>?H &(+r!   c                 4   | j                  d      }t        | j                  j                  d      }t	        j
                  |d   |       | j                  d      }t        | j                  j                  d      }t	        j
                  |d   |       y )Nnew_namer   r'   r  )r1   r   r*   r   r2   r   )r   r7   rU   s      r   test_reset_index_renamerR    s    $$:$6Fk''..Z@H6*-x8$$3$/Fk''..S9H6#;1r!   c                 :   | j                  d      d d d   }t        ||d      }ddg}||j                  _        |j	                         }|j	                  ddg	      }t        j                  |d   |d   d
       t        j                  |d   |d   d
       y )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_multiindexrW    s    """5cc:J:jABJhE"J##%F%%[,,G%HH6'?H[,AuU6(+Xl-CQVWr!   c                 `   | j                  d      d d d   }t        ||d      }t        j                  t        d      5  |j                  ddd	       d d d        t        j                  t        d
      5  |j                  dg	       d d d        y # 1 sw Y   AxY w# 1 sw Y   y xY w)NTrl   r   )rp   rq   z-Index names must be str or 1-dimensional listr   rT  rU  r   zlist index out of range)r|   r	   r   r   r   r1   r   )r   rV  s     r   test_errorreset_index_renamerY    s    """5cc:JZ:FGJ	I
 U 	{l%STU
 
z)B	C 4k]34 4U U
4 4s   B;B$B!$B-c                     t        t        dd      t        d            } d| j                  _        | j	                          t        t        dd      t        t        d      d            }t        j                  | |       t        t        dd      t        d            }d|j                  _        |j	                          t        t        dd      t        t        d      d            }t        j                  ||       y )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_namer_    s    aE!H=M$MU1b\:eAhU+KLO=/: %2,eAh?L#LuQ|Zau-MNN,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  PeriodDtyper4  r<  rD  rK  rO  rR  rW  rY  r_  r-  r!   r   <module>rh     s       
      O O
`	- `	-F 
sVBOOKABNN(	
		-		-,,$,"
,2X48r!   