
    Eg              	          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                            dddgef ej        d	d
d           ej        d          fg          d             Zej                            dddgddgfddgddgfg          ej                            dddg          d                         ZdS )    )datetimeN)	DataFrameIndex
MultiIndex
RangeIndexSeries
date_rangeoption_contextc                   D    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
S )TestResetIndexc                    t          ddd                              d           }t          dt          j                            d                              t          |                    i|          }|                                }|j        j	        d         t          j
        d	          k    sJ |                    d
          }t          j        ||d           t          ddd          }t          |dggddg          }|                    d          }|j        d         |k    sJ |                                d         j	        d         |k    sJ d S )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          a/var/www/sysmax/venv/lib/python3.11/site-packages/pandas/tests/series/methods/test_reset_index.pytest_reset_index_dti_round_tripz.TestResetIndex.test_reset_index_dti_round_trip   sB   zzDDDOOPTUURY22155<<SXXFFGsSSS^^y~a BHX$6$66666\\'""
b"%8888 r2&&0ABBB\\&!!x{e####~~',Q/5888888    c           
      n   t          dt          j        d                              d          z  t	          t          d          t                    t	          d t          d          D             t                              d d	         }|                    d
          }ddg|j	        _
        d|_        |                                }d|v sJ |                    d          }d|v sJ |                    d
          }|}|                    d
d
          }|J t          j        ||           t          dgg dddggg dg dg dg          }t!          t          j                            d                              d          |          }|                    d          }t)          |j                  dk    sJ |                    ddgd
          }t          j        |j	        t	          |                    d                               t1          |t                     sJ d S ) Ng?x   )      ABCDr%   c                     g | ]}d | S )zi- ).0is     r0   
<listcomp>z3TestResetIndex.test_reset_index.<locals>.<listcomp>(   s    555aa555r2   r5   r   r      T)future_stackhashcategoryvaluevalue2namedrop)rH   inplacebar)onetwothreer      )r   r   r   r   r   r   )r   rN   r   r   rN   r   )r   rN   r   rN   r   rN   )levelscodesr      r   levelrS   rH   )r   r   arangereshaper   listobjectrangestackr   namesrF   r"   r'   assert_series_equalr   r   r   r    standard_normalr!   r   assert_index_equalget_level_values
isinstance)r)   r/   serss2return_valuer   rss           r0   test_reset_indexzTestResetIndex.test_reset_index$   s:   ")C..((111$v,,f55555599555VDDD
 
 
 1"	
 hhDh))!:.	__"}}}}__(_++2~~~~ OOO&&~~4~>>###
q"%%% G444q!f=%%%'9'9'9;M;M;MN
 
 
 29((++;;A>>eLLL]]]##2:!####]]!Qd]33
bhe.D.DQ.G.G(H(HIII"f%%%%%%%r2   c                     t          g dt          t          d          d                    }|                                j        j        J |                    d          j        j        J d S )NrN   r      ri   xrE   r   TrG   )r   r   rY   r"   r   rF   r)   rb   s     r0   test_reset_index_namez$TestResetIndex.test_reset_index_nameH   sk    999E%(($=$=$=>>>}}$)111}}$}''-2:::::r2   c                    t          g dg dgg d          }ddgddgfD ]z}|                    ddg          d	         }|                    |d         
          }t          j        ||                    d                     |                    |d d         
          }t          j        ||                    d                     |                    |
          }t          j        ||           |                    ddg                              |d          }t          j        ||d	g                    t          j        t          d          5  |                    ddg
           d d d            n# 1 swxY w Y   |                    d          d         }|                    |d         
          }t          j        ||ddg                    |                    |d d         
          }t          j        ||ddg                    |                    |d         d          }t          j        ||d                    t          j        t          d          5  |                    g d
           d d d            n# 1 swxY w Y   |t          t          d                                        g d          }t          t          d                    }t          j        ||           d S )Nrh   )r6   r?   rQ   )ABCr   rn   ro   r   rN   rp   rR   TrT   zLevel E matchEzToo many levels)r   rN   r   r6   rG   )r   r&   r"   r'   r(   pytestraisesKeyErrorr\   
IndexErrorr   rY   )r)   r/   rO   rb   resultexpecteds         r0   test_reset_index_levelz%TestResetIndex.test_reset_index_levelM   s<   			999-GGGCj1a&(  	/  	/Fc3Z((-A]]]33F!&",,s*;*;<<<]]]44F!&",,s*;*;<<<]]]00F!&"---\\3*--99T9RRF!&"cU)444xz::: 0 0S#J///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 S!!#&A]]]33F!&"c3Z.999]]]44F!&"c3Z.999]]]>>F"62c7333z1BCCC / /III.../ / / / / / / / / / / / / / / a!!--bt-<<%((##
vx00000s$   E??F	F	,JJ	J	c                    t          t          d          dd          }|                                }t          |j        t
                    sJ t          ddgddggddgt          d          	          }t          j        ||           d S )
Nr   rn   int64)rF   r%   r   rN   r   )stopr>   )	r   rY   r"   r`   r   r   r   r'   r(   )r)   rb   series_resultseries_expecteds       r0   test_reset_index_rangez%TestResetIndex.test_reset_index_rangew   s    588#W555--z:::::#VaVwnJA<N<N<N
 
 
 	m_=====r2   c                 d   t          t          d                    }t          j        t          d          5  |                    dd           d d d            n# 1 swxY w Y   t          j        t          d          5  |                    d           d d d            n# 1 swxY w Y   t          t          d          t          j        ddggdz            	          }t          j        t          d
          5  |                    dd           d d d            d S # 1 swxY w Y   d S )Nr6   zdoes not match index namerq   wrongTrG   rN   r   r   z	not found)r   rY   rt   ru   rv   r"   r   from_productrk   s     r0   test_reset_index_drop_errorsz+TestResetIndex.test_reset_index_drop_errors   s    588]8+FGGG 	. 	.MM'M---	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.]8+FGGG 	# 	#MM'"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 588:#:QF8a<#H#HIII]8;777 	. 	.MM'M---	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.s5   AA #A B$$B(+B( D%%D),D)c                    g dg dg}t          | }t          j        |          }t          j                            d                              d          }t          ||          }t          j        |j	        d<   |
                                }t          |t                    sJ t          |j                  t          |j        j                  dz   k    sJ |j        j        |j        j        k    sJ |
                    d	          }t          |t                    sJ |j        j        |j        j        k    sJ d S )
N)rJ   rJ   bazr   quxr   foor   )rK   rL   rK   rL   rK   rL   rK   rL   r      r   ri   rN   TrG   )zipr   from_tuplesr   r   r    r]   r   nanr$   r"   r`   r   r!   r   r   rO   rF   )r)   arraystuplesr   datara   	deleveleds          r0   test_reset_index_with_dropz)TestResetIndex.test_reset_index_with_drop   s.   DDDDDD
 f&v..y$$Q''77::T'''fOO%%	)Y/////9$%%SY-=)>)>)BBBBB#sy~5555OOO..	)V,,,,,#sy~555555r2   c                     t          t          d          d          }|                    ddd           t          t          d          d          }t          j        ||           d S )Nr   oldrE   newT)rF   rH   rI   )r   rY   r"   r'   r\   )r)   ra   ry   s      r0   -test_reset_index_inplace_and_drop_ignore_namez<TestResetIndex.test_reset_index_inplace_and_drop_ignore_name   sc    U1XXE***Ut<<<%((///
sH-----r2   c                    t          j        d           t          g dt                    }t	          dd          5  |                    d          }d d d            n# 1 swxY w Y   t          j        ||           d S )Npyarrow)abcr8   zfuture.infer_stringTrG   )rt   importorskipr   rX   r
   r"   r'   r\   )r)   ra   rx   s      r0   "test_reset_index_drop_infer_stringz1TestResetIndex.test_reset_index_drop_infer_string   s    I&&&___F3331488 	0 	0__$_//F	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0
vs+++++s   A  A$'A$N)__name__
__module____qualname__r1   rf   rl   rz   r   r   r   r   r   r:   r2   r0   r   r      s        9 9 9 "& "& "&H; ; ;
(1 (1 (1T> > >. . .6 6 6(. . ., , , , ,r2   r   zarray, dtyper   r   z	12-1-2000r   zQ-DEC)periodsr   )r   c                 Z   t          j        ddgddg| g          }t          t          |          d d                                         j        }|rdnt          }t          t          j        t          j        |t          k    r|n|t          d          }t          j
        ||           d S )Nr   rN   g      ?g      ?)r%   r   string)level_0level_1level_2r   )r   r   r   rX   r"   r#   r   r|   float64r'   r\   )arrayr%   using_infer_stringidxrx   expry   s          r0   7test_reset_index_dtypes_on_empty_series_with_multiindexr      s     
!Aq6C:u"=
>
>C&,,,RaR0<<>>EF(
4((fCxz#vooss5		
 	
 H 68,,,,,r2   znames, expected_namesrn   r   allow_duplicatesFTc                 x   t          dgt          j        dgdgg|                     }|rE|                    d          }t	          g dg|dgz             }t          j        ||           d S t          j        t          d	
          5  |                                 d d d            d S # 1 swxY w Y   d S )NrN   )r[   r   T)r   )rN   rN   rN   r   r   zcannot insertrq   )
r   r   from_arraysr"   r   r'   r(   rt   ru   
ValueError)r[   expected_namesr   rb   rx   ry   s         r0   test_column_name_duplicatesr      s	    	s*01#s5IIIJJJA 55iii[.A32FGGG
fh/////]:_=== 	 	MMOOO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   B//B36B3)r   numpyr   rt   pandaspdr   r   r   r   r   r	   r
   pandas._testing_testingr'   r   markparametrizerX   period_rangePeriodDtyper   r   r:   r2   r0   <module>r      s                                        ^, ^, ^, ^, ^, ^, ^, ^,B 
sVBOKAAABN(((	
	 	- -	 	-$ 
sc3Z 
T	Y	23  +eT];;	 	 <; 	 	 	r2   