
    bMh;                     h    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
 d dlmZ  G d d          ZdS )    )ChainMapN)	DataFrameIndex
MultiIndexmergec                      e Zd Zd Zd Zd Zej                            d e	ddiddi          fd	d
ifdd
 e	ddiddi          ifg          d             Z
d Zd Zd Zd Zd Zd Zej                            dddddg dfddidg dfej        dg dfg          d             Zd Zd Zd Zd Zd Zd  Zd! Zd" Zd# Zd$ Zd%S )&
TestRenamec                 ~    t          j        t          j                  }t	          |j                  }|h dk    sJ d S )N>	   axiscopyselfindexlevelerrorsmappercolumnsinplace)inspect	signaturer   renameset
parameters)r   sigr   s      f/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/frame/methods/test_rename.pytest_rename_signaturez TestRename.test_rename_signature   sT    	 011((
 

 

 

 

 

 

 

 

 

    c                      |g dt          j        d dD                                 }|                    t          j                   d S )N)         c                     g | ]}d |fS )A ).0xs     r   
<listcomp>z-TestRename.test_rename_mi.<locals>.<listcomp>#   s    )L)L)Lq3()L)L)Lr   )aBcr   )r   from_tuplesr   strlower)r   frame_or_seriesobjs      r   test_rename_mizTestRename.test_rename_mi    sX    oLL()L)LO)L)L)LMM
 
 
 	

39r   c                    ddddd}|                     |          }|                     t          j                  }t          j        ||           t          j        |                     t          j                  |d           d	d
ddi}t          |          }|                     ddd          }t          j        |j        t          ddg                     |                     t          j                  }t          j        |j        t          ddg                     t          j        t          d          5  |                                  d d d            n# 1 swxY w Y   |                     ddd          }t          j        |j        t          g d                     |j                             ddd          }t          j        |j        t          g d                     t          ddgd          }t          ||          }|                     ddd          }t          j        |j        t          ddgd                     |j        j        |j        j        k    sJ d S )Nr'   br)   dr"   r(   CDr   F)check_namesr"   r      )foobarr;   r:   r*   FOOBARmust pass an index to renamematch)r5   r6   )r"   r(   r:   r;   name)rA   )r   r,   r-   tmassert_frame_equalupperr   assert_index_equalr   r   pytestraises	TypeErrorr   TrA   )	r   float_framemappingrenamedrenamed2datadfr   renamers	            r   test_renamezTestRename.test_rename'   s   #Cc::$$W$55%%ci%88
gx000
OOCIO..	
 	
 	
 	

 Qq))*t__))%">">)??
gmUE5>-B-BCCC))#)),,
gmUE5>-B-BCCC ]9,JKKK 	! 	!   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! $$5u-E-E$FF
gou5M5M5M/N/NOOO -&&5u-E-E&FF
gmU3K3K3K-L-LMMM uen6222D.....uU'C'C.DD
gmUE5>-O-O-OPPP}!W]%7777777s   E%%E),E)zargs,kwargsr"   r'   r(   r2   r   r   r#   c                    t          dd          }t          j                            d                              d          }t          ||d          } |j        |i |}t          ||d          }t          j        ||           d S )Nr9   r      
   r"   r(   r'   r2   )	rangenprandomdefault_rngstandard_normalr   r   rB   rC   )r   argskwargscolADatacolBdatarO   resultexpecteds           r   test_rename_chainmapzTestRename.test_rename_chainmapO   s     B<<9((++;;B??XH5566D+F++8(;;<<
fh/////r   c                    ddg}ddg}t          j        |ddg          }t          j        |dd	g          }t          d
dg||          }|                    dddddd          }t          j        ddgddg          }t          j        ddgdd	g          }t	          j        |j        |           t	          j        |j        |           |j        j        |j        j        k    sJ |j        j        |j        j        k    sJ t          j        ddgdd	g          }|                    dddd          }t	          j        |j        |           |                    dddd          }t	          j        |j        |           t          j        ddgdd	g          }|                    dddd          }t	          j        |j        |           |                    dddd	          }t	          j        |j        |           t          j
        }	t          j        ddgdd	g          }|                    |	d          }t	          j        |j        |           |                    |	d          }t	          j        |j        |           t          j        ddgdd	g          }|                    |	d          }t	          j        |j        |           |                    |	d	          }t	          j        |j        |           t          j        ddgddg          }|                    dddd          }t	          j        |j        |           d S )N)foo1bar1)foo2bar2)fizz1buzz1)fizz2buzz2r:   r;   namesfizzbuzzr   r   r9   r9   r   r   foo3bar3)rd   rg   fizz3buzz3)rh   rk   )rs   re   )rf   rt   )ru   ri   )rj   rv   r   )r   r   r9   )FIZZ1ri   )FIZZ2rk   )rh   BUZZ1)rj   BUZZ2)r   r   )r   r+   r   r   rB   rE   r   r   rm   r,   rD   )
r   tuples_indextuples_columnsr   r   rO   rL   	new_indexnew_columnsfuncs
             r   test_rename_multiindexz!TestRename.test_rename_multiindexa   s   (*:;,.@A&|E5>JJJ(?OPPP'ugFFF
 ))!622%88  
 
 */0
 
 
	 !,!34VV<L
 
 
 	gmY777
go{;;;}"bhn4444$
(88888 !,!34VV<L
 
 
 ))g$H$HPQ)RR
go{;;;))g$H$HPV)WW
go{;;; ,!34VV<L
 
 
 ))g$H$HPQ)RR
go{;;;))g$H$HPV)WW
go{;;; y ,!34VV<L
 
 
 ))D)22
go{;;;))D)77
go{;;; ,!34VV<L
 
 
 ))D)22
go{;;;))D)77
go{;;; */0
 
 
	 ))66"B"B!)LL
gmY77777r   c                    |                     ddid          }t          j        |d         j        |d         j                  sJ t	          j        |          5  d|j        d d df<   d d d            n# 1 swxY w Y   |r"|d         dk                                    rJ d S |d         dk                                    sJ d S )Nr5   r:   F)r   r   g      ?)r   rX   shares_memory_valuesrB   assert_cow_warninglocall)r   rJ   using_copy_on_writewarn_copy_on_writerL   s        r   test_rename_nocopyzTestRename.test_rename_nocopy   s   $$c5\$FF 6C8H8PQQQQQ"#566 	( 	($'GK5!	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	3#C(C/446666666$+002222222s   A66A:=A:c                     |                     ddi           d|v sJ d|vsJ |d         }|                                }|                     ddid          }|J d|vsJ d|v sJ |d         |usJ d S )Nr5   r:   r7   T)r   r   )r   r   )r   rJ   c_valuesreturn_values       r   test_rename_inplacezTestRename.test_rename_inplace   s    C<000k!!!!K''''s#!&&(("))3,)MM###+%%%%#### 5!111111r   c                 ^   t          ddgddgddgd          }|                    dd	i
          }|                    ddi
          }|                    d	dg          }dg|_        t          dgdggt	          j        ddgd	dg          dg          }t          j        ||           d S )Nr:   r;   bahbasr9   rS   r   r9   rS   r   r'   r7   r2   z
2001-01-01)r:   r   )r;   r   rl   rr   )r   r   	set_indexr   r   r+   rB   rC   r   rO   ra   s      r   test_rename_bugzTestRename.test_rename_bug   s     E5>uen!QHHIIYY3xY((YY3xY((\\3*%%"^
S1#J(0c
   "N
 
 
 	b(+++++r   c                     t          t          j        d          g ddg          }|                    ddid          }t          t          j        d          g d	dg          }t	          j        ||           d S )
N   )rp   rq   rS   rS   r'   )rN   r   r   rq         r   r   )rp   r   r   )r   rX   aranger   rB   rC   r   s      r   test_rename_bug2zTestRename.test_rename_bug2   s     BIaLL0H0H0HSVRWXXXYY'gY661%=%=%=u
 
 
 	b(+++++r   c                     t          g d          }t          j        t          d          5  |                    dddd	           d d d            d S # 1 swxY w Y   d S )
Nr4   r7   z'E'] not found in axisr?   r'   er"   Eraiser   r   )r   rF   rG   KeyErrorr   )r   rO   s     r   test_rename_errors_raisesz$TestRename.test_rename_errors_raises   s    333444]8+CDDD 	D 	DIICc227ICCC	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	Ds   AAAz mapper, errors, expected_columnsr   r   ignore)r'   r(   r5   r6   r   )r'   r2   r)   r3   c                     t          g d          }|                    ||          }t          |          }t          j        ||           d S )Nr4   r7   r   )r   r   rB   rC   )r   r   r   expected_columnsrO   r`   ra   s          r   test_rename_errorszTestRename.test_rename_errors   sZ     3334446&99%5666
fh/////r   c                 ^    |                     t          j                  }d|v sJ d|vsJ d S )Nr7   r<   r:   )r   r,   rD   )r   float_string_framerL   s      r   test_rename_objectszTestRename.test_rename_objects   sB    $++CI+>>G######r   c                 6   t          ddgddgdddg          }t          ddgddgdddg          }|                    t          j        d          }t	          j        ||           |                    t          j        d	          }t	          j        ||           |                    d
ddd          }t	          j        ||           |                    d
ddd	          }t	          j        ||           t          ddgddgdddg          }|                    t          j        d          }t	          j        ||           |                    t          j        d          }t	          j        ||           |                    dddd          }t	          j        ||           |                    dddd          }t	          j        ||           |                    t          j        d          }t	          j        ||           d S )Nr9   rS   rU   XYr*   rV   r   r   r'   r2   r%   yr   r   )r   r   )r   r   )r   r   r,   r-   rB   rC   )r   rO   ra   r`   s       r   test_rename_axis_stylez!TestRename.test_rename_axis_style   s   aV1a&11#sDDDAq6A77SzJJJ391--
fh///39955
fh///3//a88
fh///3//i@@
fh/// Aq6A77SzJJJ391--
fh///39733
fh///3//a88
fh///3//g>>
fh///#)'::
fh/////r   c                 
   t          ddgddgddgd                              dd	g          }|                    t          j                  }|                    t          j        
          }t          j        ||           d S )Nr'   r2   r)   r3   r9   rS   )r"   r(   r5   r"   r(   r*   )r   r   r   r,   rD   rB   rC   r   rO   r`   ra   s       r   test_rename_mapper_multiz#TestRename.test_rename_mapper_multi  s    c3ZsCj1vFFGGQQ#J
 
 39%%99399--
fh/////r   c                     t          ddgddgdddg          }|                    t          j        t          j                  }t          ddgddgdd	d
g          }t          j        ||           d S )Nr9   rS   rV   r   r   r*   rr   rU   r%   r   )r   r   r,   r-   rD   rB   rC   r   s       r   test_rename_positional_namedz'TestRename.test_rename_positional_named$  s    aV1a&11#sDDDCI>>Aq6A77SzJJJ
fh/////r   c                    t          ddgddgdddg          }d}t          j        t          |          5  |                    t
          j        d	           d d d            n# 1 swxY w Y   t          j        t          |          5  |                    t
          j        d
	           d d d            n# 1 swxY w Y   t          j        t          |          5  |                    t
          j        d
           d d d            n# 1 swxY w Y   t          j        t          |          5  |                    t
          j        d	           d d d            n# 1 swxY w Y   t          j        t          |          5  |                    t
          j        t
          j        d
	           d d d            n# 1 swxY w Y   d}t          j        t          |          5  |                    t
          j        t
          j        t
          j                   d d d            n# 1 swxY w Y   t          j        t          d          5  |                    t          t                     d d d            d S # 1 swxY w Y   d S )Nr9   rS   rU   01r*   z:Cannot specify both 'axis' and any of 'index' or 'columns'r?   )r   r   r   )r   r   r   <Cannot specify both 'mapper' and any of 'index' or 'columns'rr   zmultiple values)r   )r   rF   rG   rH   r   r,   r-   id)r   rO   over_spec_msgs      r   test_rename_axis_style_raisesz(TestRename.test_rename_axis_style_raises+  s
   aV1a&11#sDDD U]9M::: 	/ 	/IICIAI...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ ]9M::: 	7 	7IICIII666	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 ]9M::: 	9 	9IIciiI888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 ]9M::: 	/ 	/IICIAI...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ ]9M::: 	B 	BIIcisyyIAAA	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B W]9M::: 	E 	EIIcisy#)IDDD	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E ]9,=>>> 	% 	%IIbI$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s}   "A&&A*-A*"B::B>B> "DDD4"E""E&)E&-GGG)7H,,H03H0"JJJc                     t          ddg          }d}t          j        t          |          5  |                    d t
          j                   d d d            d S # 1 swxY w Y   d S )Nr"   r(   r7   z1rename\(\) takes from 1 to 2 positional argumentsr?   )r   rF   rG   rH   r   r,   r-   r   rO   msgs      r   test_rename_positional_raisesz(TestRename.test_rename_positional_raisesJ  s    Sz***B]9C000 	' 	'IIdCI&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	's   !AA"%A"c                 z   t          dgg          }d}t          j        t          |          5  |                                 d d d            n# 1 swxY w Y   t          j        t          |          5  |                    d d            d d d            n# 1 swxY w Y   t          j        t          |          5  |                    d d            d d d            n# 1 swxY w Y   t          j        t          |          5  |                    d d d            d d d            d S # 1 swxY w Y   d S )Nr9   r>   r?   r*   r7   r   r   r   rF   rG   rH   r   r   s      r   test_rename_no_mappings_raisesz)TestRename.test_rename_no_mappings_raisesR  s&   u,]9C000 	 	IIKKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	( 	(IId$I'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( ]9C000 	* 	*IIdDI)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* ]9C000 	6 	6IIdDI555	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6sG   AAA6BB!B C$$C(+C(
D00D47D4c                    t          dgg          }d}t          j        t          |          5  |                    i i            d d d            n# 1 swxY w Y   t          j        t          |          5  |                    i i            d d d            n# 1 swxY w Y   t          j        t          |          5  |                    i i i            d d d            d S # 1 swxY w Y   d S )Nr9   r   r?   r*   r7   r   r   r   s      r   2test_rename_mapper_and_positional_arguments_raisesz=TestRename.test_rename_mapper_and_positional_arguments_raisesb  s   uL]9C000 	$ 	$IIbI###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ ]9C000 	& 	&IIb"I%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& ]9C000 	0 	0IIb"BI///	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0s5   AAA9BB!$B!C))C-0C-c                    t          dgdgdgdt          j        dgddg          	          }t          g d
dgdz  g dg ddt          j        g dddg          	          }t          ||ddd          }|                    ddd          }t          g dgg d                              ddgd          }t          j        ||           d S )Nz6>?Q6@^K=?)RTTCloseTExg*	 *3STK_IDRPT_Daterl   r*   )b33r   r   r   )   饡驦r   r   )gfffffC@gGzD@(\>@)r   r   STK_Namer   ))r   r   )r   r   r   innerT)how
left_indexright_indexr   QT_Close)TClose_xTClose_yr7   )r   r   r   r   r   r   r   )r   r   r   r   r   r   r   F)drop)r   r   r+   r   r   r   rB   rC   )r   df4df5kr`   ra   s         r   "test_rename_with_duplicate_columnsz-TestRename.test_rename_with_duplicate_columnso  sQ   8wAA(#$Xz,B  
 
 
 :::!(Q,:::///	  (LLL,  
 
 
 #sDdKKKxZ"P"PQQGGGH  
 
 
 )Xz*)
7
7 	 	fh/////r   c                 R   t          t          j        d                              dd          g d          }dddd	}|                    |
          }t          t          j        d                              dd          g dg d          }t          j        ||           d S )N   r   r   )FTrS   r   r   r7   r:   r;   r   r   r*   )r:   r;   r   r   )r   rX   r   reshaper   rB   rC   )r   rO   r   resexps        r   test_rename_boolean_indexz$TestRename.test_rename_boolean_index  s    ry}},,Q22<R<R<RSSSu//iifi%%IbMM!!!Q''***'''
 
 

 	c3'''''r   N)__name__
__module____qualname__r   r0   rQ   rF   markparametrizer   rb   r   r   r   r   r   r   r,   r-   r   r   r   r   r   r   r   r   r   r   r   r#   r   r   r	   r	      s1       
 
 
  &8 &8 &8P [hSzC:..0692EF)XXsCj3*==>?	
 	0 	0 	0D8 D8 D8L
3 
3 
32 2 2 , , ,"	, 	, 	,D D D
 [*S!!8-A-A-AB3Z"6"6"67Y!5!5!56	
 0 0 0$ $ $ 0  0  0D0 0 00 0 0% % %>' ' '6 6 6 0 0 0%0 %0 %0N	( 	( 	( 	( 	(r   r	   )collectionsr   r   numpyrX   rF   pandasr   r   r   r   pandas._testing_testingrB   r	   r#   r   r   <module>r      s                                      O( O( O( O( O( O( O( O( O( O(r   