
    Owg              	          d dl m Z  d dlZd dlZd dlZd dlmZmZmZm	Z	m
Z
mZmZ d dlmZ  G d d      Zej"                  j%                  dddgef ej(                  d	d
d       ej*                  d      fg      d        Zej"                  j%                  dddgddgfddgddgfg      ej"                  j%                  dddg      d               Zy)    )datetimeN)	DataFrameIndex
MultiIndex
RangeIndexSeries
date_rangeoption_contextc                   B    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zy
)TestResetIndexc                 l   t        ddd      j                  d       }t        dt        j                  j                  d      j	                  t        |            i|      }|j                         }|j                  j                  d   t        j                  d	      k(  sJ |j                  d
      }t        j                  ||d       t        ddd      }t        |dggddg      }|j                  d      }|j                  d   |k(  sJ |j                         d   j                  d   |k(  sJ y )Nz1/1/2001z6/1/2001D)startendfreqv   indexr   zM8[ns]r   F)check_namesi        g333333(@DateValuecolumns)r	   
_with_freqr   nprandomdefault_rnglenreset_indexdtypesilocdtype	set_indextmassert_frame_equalr   r   )selfdtid1d2d3stampdfs          c/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/series/methods/test_reset_index.pytest_reset_index_dti_round_tripz.TestResetIndex.test_reset_index_dti_round_trip   s   zzDOOPTURYY2215<<SXFGsS^^yy~~a BHHX$6666\\'"
b"%8 r2&0AB\\&!xx{e###~~',,Q/5888    c                    t        dt        j                  d      j                  d      z  t	        t        d      t              t	        t        d      D cg c]  }d| 	 c}t                    d d	 }|j                  d
      }ddg|j                  _
        d|_        |j                         }d|v sJ |j                  d      }d|v sJ |j                  d
      }|}|j                  d
d
      }|J t        j                  ||       t        dgg dddggg dg dg dg      }t!        t        j"                  j%                  d      j'                  d      |      }|j                  d      }t)        |j*                        dk(  sJ |j                  ddgd
      }t        j,                  |j                  t	        |j/                  d                   t1        |t               sJ y c c}w ) Ng?x   )      ABCDr%   r5   zi-r   r      T)future_stackhashcategoryvaluevalue2namedrop)rC   inplacebar)onetwothreer      )r   r   r   r   r   r   )r   rI   r   r   rI   r   )r   rI   r   rI   r   rI   )levelscodesr      r   levelrN   rC   )r   r   arangereshaper   listobjectrangestackr   namesrA   r"   r'   assert_series_equalr   r   r   r    standard_normalr!   r   assert_index_equalget_level_values
isinstance)	r)   ir/   serss2return_valuer   rss	            r0   test_reset_indexzTestResetIndex.test_reset_index$   s   "))C.((11$v,f5595a2aS5VD
 1	
 hhDh)!:.		__"}}__(_+2~~ OOO&~~4~>###
q"% G4q!f=%'9;MN
 299((+;;A>eL]]]#2::!###]]!Qd]3
bhhe.D.DQ.G(HI"f%%%= 6s   G6c                     t        g dt        t        d      d            }|j                         j                  j
                  J |j                  d      j                  j
                  J y )NrI   r      re   xr@   r   TrB   )r   r   rT   r"   r   rA   r)   r^   s     r0   test_reset_index_namez$TestResetIndex.test_reset_index_nameH   sZ    9E%($=>}}$$))111}}$}'--22:::r2   c                 $   t        g dg dgg d      }ddgddgfD ]  }|j                  ddg      d	   }|j                  |d   
      }t        j                  ||j                  d             |j                  |d d 
      }t        j                  ||j                  d             |j                  |
      }t        j                  ||       |j                  ddg      j                  |d      }t        j                  ||d	g          t        j                  t        d      5  |j                  ddg
       d d d        |j                  d      d   }|j                  |d   
      }t        j                  ||ddg          |j                  |d d 
      }t        j                  ||ddg          |j                  |d   d      }t        j                  ||d          t        j                  t        d      5  |j                  g d
       d d d        	 t        t        d            j                  g d      }t        t        d            }t        j                  ||       y # 1 sw Y   8xY w# 1 sw Y   qxY w)Nrd   )r6   r:   rL   )ABCr   rj   rk   r   rI   rl   rM   TrO   zLevel E matchEzToo many levels)r   rI   r   r6   rB   )r   r&   r"   r'   r(   pytestraisesKeyErrorrW   
IndexErrorr   rT   )r)   r/   rJ   r^   resultexpecteds         r0   test_reset_index_levelz%TestResetIndex.test_reset_index_levelM   s>   	9-GCj1a&(  	/Fc3Z(-A]]]3F!!&",,s*;<]]]4F!!&",,s*;<]]]0F!!&"-\\3*-99T9RF!!&"cU)4xz: 0S#J/0 S!#&A]]]3F!!&"c3Z.9]]]4F!!&"c3Z.9]]]>F""62c73z1BC /I./ /? 	/F a!--bt-<%(#
vx0+0 0/ /s   -I8J8J	J	c                     t        t        d      dd      }|j                         }t        |j                  t
              sJ t        ddgddggddgt        d      	      }t        j                  ||       y )
Nr   rj   int64)rA   r%   r   rI   r   )stopr9   )	r   rT   r"   r[   r   r   r   r'   r(   )r)   r^   series_resultseries_expecteds       r0   test_reset_index_rangez%TestResetIndex.test_reset_index_rangew   sn    58#W5---z:::#VaVwnJA<N
 	m_=r2   c                    t        t        d            }t        j                  t        d      5  |j                  dd       d d d        t        j                  t        d      5  |j                  d       d d d        t        t        d      t        j                  ddggdz        	      }t        j                  t        d
      5  |j                  dd       d d d        y # 1 sw Y   xY w# 1 sw Y   |xY w# 1 sw Y   y xY w)Nr6   zdoes not match index namerm   wrongTrB   rI   r   r   z	not found)r   rT   rp   rq   rr   r"   r   from_productrg   s     r0   test_reset_index_drop_errorsz+TestResetIndex.test_reset_index_drop_errors   s     58]]8+FG 	.MM'M-	.]]8+FG 	#MM'"	# 58:#:#:QF8a<#HI]]8;7 	.MM'M-	. 	.	. 	.	# 	#
	. 	.s#   C('C4D (C14C= D	c                    g dg dg}t        | }t        j                  |      }t        j                  j                  d      j                  d      }t        ||      }t        j                  |j                  d<   |j                         }t        |t              sJ t        |j                        t        |j                  j                         dz   k(  sJ |j                  j"                  |j                  j"                  k(  sJ |j                  d	      }t        |t              sJ |j                  j"                  |j                  j"                  k(  sJ y )
N)rE   rE   bazr   quxr   foor   )rF   rG   rF   rG   rF   rG   rF   rG   r      r   re   rI   TrB   )zipr   from_tuplesr   r   r    rX   r   nanr$   r"   r[   r   r!   r   r   rJ   rA   )r)   arraystuplesr   datar]   	deleveleds          r0   test_reset_index_with_dropz)TestResetIndex.test_reset_index_with_drop   s   DD
 f&&v.yy$$Q'77:T'ffOO%	)Y///9$$%SYY-=-=)>)BBBB##syy~~555OOO.	)V,,,##syy~~555r2   c                     t        t        d      d      }|j                  ddd       t        t        d      d      }t        j                  ||       y )Nr   oldr@   newT)rA   rC   rD   )r   rT   r"   r'   rW   )r)   r]   ru   s      r0   -test_reset_index_inplace_and_drop_ignore_namez<TestResetIndex.test_reset_index_inplace_and_drop_ignore_name   sD    U1XE*Ut<%(/
sH-r2   c                     t        j                  d       t        g dt              }t	        dd      5  |j                  d      }d d d        t        j                  |       y # 1 sw Y    xY w)Npyarrow)abcr8   zfuture.infer_stringTrB   )rp   importorskipr   rS   r
   r"   r'   rW   )r)   r]   rt   s      r0   "test_reset_index_drop_infer_stringz1TestResetIndex.test_reset_index_drop_infer_string   s\    I&_F3148 	0__$_/F	0
vs+	0 	0s   A''A0N)__name__
__module____qualname__r1   rb   rh   rv   r|   r   r   r   r    r2   r0   r   r      s1    9 "&H;
(1T>.6(.,r2   r   zarray, dtyper   r   z	12-1-2000r   zQ-DEC)periodsr   )r   c                 J   t        j                  ddgddg| g      }t        t        |      d d j	                         j
                  }|rdnt        }t        t        j                  t        j                  |t        k(  r|n|t        d      }t        j                  ||       y )Nr   rI   g      ?g      ?)r%   r   string)level_0level_1level_2r   )r   r   r   rS   r"   r#   r   rx   float64r'   rW   )arrayr%   using_infer_stringidxrt   expru   s          r0   7test_reset_index_dtypes_on_empty_series_with_multiindexr      s     
!
!Aq6C:u"=
>C&,Ra0<<>EEF((fCxxzz#vos5		
H 68,r2   znames, expected_namesrj   r   allow_duplicatesFTc                 P   t        dgt        j                  dgdgg|             }|r=|j                  d      }t	        g dg|dgz         }t        j                  ||       y t        j                  t        d	
      5  |j                          d d d        y # 1 sw Y   y xY w)NrI   )rV   r   T)r   )rI   rI   rI   r   r   zcannot insertrm   )
r   r   from_arraysr"   r   r'   r(   rp   rq   
ValueError)rV   expected_namesr   r^   rt   ru   s         r0   test_column_name_duplicatesr      s     	s*001#s5IJA5i[.A32FG
fh/]]:_= 	MMO	 	 	s   BB%)r   numpyr   rp   pandaspdr   r   r   r   r   r	   r
   pandas._testing_testingr'   r   markparametrizerS   period_rangePeriodDtyper   r   r   r2   r0   <module>r      s          ^, ^,B 
sVBOOKABNN(	
	-	-$ 
sc3Z 
T	Y	23 +eT];	 <	r2   