
    xochm              
          d dl m Z  d dlmZ d dlZd dlZd dlm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j8                         d        Z G d d	      Zej>                  jA                   e       d
      ej>                  jC                  dddge"f ejF                  ddd       ejH                  d      fg      d               Z%d Z&d Z'd Z(d Z)d Z*d Z+d Z,d Z-y)    )datetime)productN)using_string_dtype)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    z/mnt/ACDE16A4DE16673C/PROJECTS/MIS_PORTAL/venv/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
   r2   r*   r/   r1   r3   assert_index_equalr+   r5   idxr6   r8   s       r    test_set_resetzTestResetIndex.test_set_reset2   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
   r2   r*   r1   r3   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@   rF   freqrG   r)   r   r   CrL   Ear   r<   )r@   rS   r   r   )r   r
   ranger2   r3   r4   )r5   tz_aware_fixturerG   r@   r6   expectedr8   s          r    test_reset_index_tzz"TestResetIndex.test_reset_index_tzH   sp     QSReLU1X,EFcR1X.
 &
 !
fh/r"   rG   rD   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
   rE   r   r+   )r   r
   r/   randomdefault_rngstandard_normallenr2   r1   r+   rG   )r5   rG   drr6   roundtrippedxprss          r    $test_frame_reset_index_tzaware_indexz3TestResetIndex.test_frame_reset_index_tzaware_indexZ   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(   rY   )re   yrf   r<   )	r   from_breaksr/   aranger
   r1   r3   r4   r2   )r5   r@   originalr8   rV   result2s         r    test_reset_index_with_intervalsz.TestResetIndex.test_reset_index_with_intervalsc   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+   namesr2   	enumeratezipr   codestaker3   r>   r   assert_series_equalr   valuescopyr)   rT   r]   r   r1   r4   )r5   float_framestackedr~   	deleveledilevlevel_codesr   r)   
deleveled2rdfexpr6   resetra   r`   return_values                     r    test_reset_indexzTestResetIndex.test_reset_indexn   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      rK            r   r   rP   rL   r   re   r(   r   r+   Tr,   ry   )r
   r   rT   r2   r+   r)   )r5   r6   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-   rP   rL   )r   rP   rL   )r
   r1   r2   r3   r4   )r5   r   r6   r8   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   rQ   r   zToo many levelsr;   )r
   pytestraisesKeyErrorr1   r2   
IndexError)r5   r   r6   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        rY   r   gQ#@timer(   speed)r+   r)   )	r/   rh   sqrtr   r   r
   r2   r*   float64)r5   r   s1r6   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   )re   rf   zrS   r(   )r   r   c)meanmedianr   r   )rS   r   r   r   )r   r   r   r   col_fill)rS   r   r   r   r   blah	col_levelr   )r   r   r   r   r;   dr~   r   )r   r   )r/   rZ   r[   r\   astypeobjecthstackr
   r   r2   r3   r4   r   from_arraysrT   )r5   valsr@   re   fullr6   ra   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rS   r   r   r   r   r   r   r   r   rP   r   r   r   r   r;   皙?g@)	r
   r/   nanrZ   r[   r1   r2   r3   r4   )r5   r6   ra   s      r    test_reset_index_multiindex_nanz.TestResetIndex.test_reset_index_multiindex_nan0  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)rG   
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)   r2   r   r   
isinstancestrr   r*   r   r3   r4   )r5   r)   r6   r8   itemr   rV   s          r    (test_reset_index_with_datetimeindex_colsz7TestResetIndex.test_reset_index_with_datetimeindex_colsU  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   rx   )r
   r   r2   r   r+   r3   r4   )r5   r6   r8   rV   s       r    test_reset_index_rangez%TestResetIndex.test_reset_index_rangey  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   )rs   r   r   )r   r   )axisTr{   z0Item must have length equal to number of levels.)rP   r   r   )r   rS   r   )r   r   r   r   r   )rP   r   ii)rP   r   r   r   zFcol_fill=None is incompatible with incomplete column name \('C', 'c'\))r   r   rP   r   )rename_axisr2   r3   r4   r   r   
ValueErrorr1   r
   r   r   pdconcat)r5   r!   r8   msgidx_colrV   r   r7   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_flagsr2   r
   r   r   r3   r4   r   r   r   )	r5   r!   r   r   r6   r8   r   rV   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   r2   )r5   r!   r   r6   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   r2   )r5   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 )NrJ   rK   rL   idx1rM   idx2r0   r)   r*   r*   rO   rR   r<   )r   r   rS   r   r   )r   r   rT   r   r   r
   r/   rh   r3   r4   r2   )r5   tz_naive_fixturerG   r   r   r@   r6   rV   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 )NrJ   rK   rL   r   rM   r   r0   r   z1/1/2012MSzEurope/Parisidx3r   rO   rR   r<   )r   r   r   rS   r   r   )r   r   rT   r   r   r
   r/   rh   r2   r3   r4   )
r5   r   rG   r   r   r   r@   r6   rV   r8   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 )NrC   r   rE   rS   r   r   r0   r   r   r   za a a b b b)rs   rv   rS   r   )r   r   from_productr
   r/   rh   reshapesplitr|   r2   r3   r4   )r5   r   rG   dtir@   r6   rV   r8   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 )NrC   r   MrF   rN   abcmonthfeaturer   	   r0   r   r   rS   r+   r   z2013-01rN   z2013-02z2013-03r   )r  r  rS   r   )r   r   r   period_rangelistr
   r/   rh   r   Periodr2   r3   r4   )r5   r@   r6   rV   r8   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'   rp   rY            ?r   )prm0prm1prm2r   r   )r   r   r   r   r  r  )r  r   r   r   r
   r/   rZ   r[   r\   r2   r   r   )r5   tuplesr+   r6   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,   )r2   r]   r   r+   r)   )r5   /multiindex_year_month_day_dataframe_random_dataymdr   s       r    test_reset_index_with_dropz)TestResetIndex.test_reset_index_with_dropJ  s[     >OOO.	9$$%S[[)9999##syy~~555r"   zix_data, exp_datard      )rS   r   re   
2020-01-01{   r   c                     t        j                  |ddg      }t        dddgi|      }|j                         }t        |      }t	        j
                  ||       y )NrS   r   r   re   rd   r  r<   )r   r   r
   r2   r3   r4   )r5   ix_dataexp_dataixr8   rV   s         r    test_reset_index_nat_multiindexz.TestResetIndex.test_reset_index_nat_multiindexS  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   rS   r   coldatar+   r   )
categoriesr   r   )rs   rv   r   rs   rv   )r   r	   rT   r]   r
   r   
from_codesr2   r3   r4   r1   )r5   r   r+   r"  r6   rV   ress          r    :test_rest_index_multiindex_categorical_with_missing_valueszITestResetIndex.test_rest_index_multiindex_categorical_with_missing_valuesm  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__r9   rA   rH   rW   r   markparametrizerb   rk   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TODO(infer_string) - GH#60338)reasonzarray, dtyperS   r   z	12-1-2000r   zQ-DECr   r  c                 j   t        j                  ddgddg| g      }t        |      d d j                         j                  }|r-|t
        k(  r$t        j                  t        j                        }t        t        j                  t        j                  |d      }t        j                  ||       y )Nr   r   g      ?r  r<   )na_value)rs   rv   level_2)r   r   r
   r2   dtypesr   r   StringDtyper/   r   r   r0   r   r3   r   )arrayr*   using_infer_stringr@   r8   rV   s         r    6test_reset_index_dtypes_on_empty_frame_with_multiindexr7    s     
!
!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   rS   r   r   r   r   r   r  abcdr   startr   stepr   r   r0   )r   DatetimeIndexr   r   r
   r2   r  r   r   r3   r4   )r   r@   r6   r8   rV   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  r9  r   g      $@rS   )c1c2c3r   rB  rC  rA  )rB  rC  rA  r   r;  r   r   r   r   )r   r>  r
   headgroupbysumr2   r   r   r3   r4   )r6  r   r6   r8   rV   s        r    Dtest_reset_index_empty_frame_with_datetime64_multiindex_from_groupbyrG    s     

L>
:C	4&S9	:B			T4L	)4&	1	5	5	7B^^F"*111*MH d^**+;<HTNd^**95HTN!$..u5&(+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-01rL   )rN   rF   r   )idtstamprS   )r   rK  rJ  rK  )rI  z
2015-07-02r-  r9  )r*   r)   )rJ  rS   r<   )rT   r   r
   r  r   r-  locr1   r2   r>  r3   r4   )r@   rK  r6   r8   exp_dtirV   s         r    test_reset_index_multiindex_natrN    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   r2   r   r3   r4   )r6   r8   rV   s      r    -test_reset_index_interval_columns_object_castrR    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  )r2   r   r+   r   r3   r   )r   r8   rV   s      r    test_reset_index_renamerU    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 )NTrm   r   ro   rq   rr   	new_first
new_secondr   Frt   )r}   r
   r+   r~   r2   r3   r   )r   
stacked_dfr~   r8   rV   s        r    "test_reset_index_rename_multiindexrZ    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)NTrm   r   )rq   rr   z-Index names must be str or 1-dimensional listr   rW  rX  r   zlist index out of range)r}   r
   r   r   r   r2   r   )r   rY  s     r    test_errorreset_index_renamer\    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 )NrK   rY   r!  Fr(   )
r   rT   r+   r)   r2   r   r3   r   r
   r4   )result_seriesexpected_seriesresult_frameexpected_frames       r    !test_reset_index_false_index_namerb    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._configr   pandas.core.dtypes.commonr   r   pandasr   r   r	   r
   r   r   r   r   r   r   r   r   r   pandas._testing_testingr3   fixturer!   r$   r*  xfailr+  r   r  PeriodDtyper7  r?  rG  rN  rR  rU  rZ  r\  rb  r.  r"   r    <module>rm     s
       -
      O O
`	- `	-F %'0OP
sVBOOKABNN(	
		-	 Q	-,,$,"
,2X48r"   