
    A>i?                     d    S SK Jr  S SKrS SKrS SKrS SKJrJrJ	r	J
r
Jr  S SKJr   " S S5      rg)    )ChainMapN)	DataFrameIndex
MultiIndexSeriesmergec                      \ rS rSrS rS rS r\R                  R                  S\
" SS0SS	05      4S
S04SS\
" SS0SS	05      04/5      S 5       rS rS rS rS rS rS r\R                  R                  SSSS.S/ SQ4SS0S/ SQ4\R&                  S/ SQ4/5      S 5       rS rS rS rS rS  rS! rS" rS# rS$ rS% rS& rSr g')(
TestRename   c                     [         R                  " [        R                  5      n[	        UR
                  5      nU1 Sk:X  d   eg )N>	   axiscopyselfindexlevelerrorsmappercolumnsinplace)inspect	signaturer   renameset
parameters)r   sigr   s      e/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/frame/methods/test_rename.pytest_rename_signature TestRename.test_rename_signature   s=    	 0 01(
 

 

 
	
 

    c           
          U" / SQ[         R                  " S Vs/ s H  nSU4PM	     sn5      S9nUR                  [        R                  5        g s  snf )N)         )aBcAr   )r   from_tuplesr   strlower)r   frame_or_seriesxobjs       r   test_rename_miTestRename.test_rename_mi!   sH    ((O)LOq3(O)LM
 	

399 *Ms   Ac                    SSSSS.nUR                  US9nUR                  [        R                  S9n[        R                  " X45        [        R                  " UR                  [        R
                  S9USS9  S	S
SS.0n[        U5      nUR                  SSS.S9n[        R                  " UR                  [        SS/5      5        UR                  [        R
                  S9n[        R                  " UR                  [        SS/5      5        [        R                  " [        SS9   UR                  5         S S S 5        UR                  SSS.S9n[        R                  " UR                  [        / SQ5      5        UR                  R                  SSS.S9n[        R                  " UR                  [        / SQ5      5        [        SS/SS9n[        XWS9nUR                  SSS.S9n[        R                  " UR                  [        SS/SS95        UR                  R                  UR                  R                  :X  d   eg ! , (       d  f       GN= f)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_renameTestRename.test_rename(   s   #Cc:$$W$5%%cii%8
g0
OOCIIO.	

 Qq)*t_))%">)?
gmmUE5>-BC))#))),
gmmUE5>-BC ]]9,JK  L $$5u-E$F
goou5M/NO --&&5u-E&F
gmmU3K-LM uen62D...uU'C.D
gmmUE5>-OP}}!!W]]%7%7777! LKs   -I
Izargs,kwargsr'   r$   r%   r2   r   r    c                     [        SS5      n[        R                  R                  S5      R	                  S5      n[        X4S.5      nUR                  " U0 UD6n[        X4S.5      n[        R                  " Xg5        g )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_chainmapTestRename.test_rename_chainmapP   si     B<99((+;;B?X56D+F+8;<
f/r   c                    SS/nSS/n[         R                  " USS/S9n[         R                  " USS	/S9n[        S
S/X4S9nUR                  SSS.SSS.S9n[         R                  " SS/SS/S9n[         R                  " SS/SS	/S9n[        R
                  " UR                  U5        [        R
                  " UR                  U5        UR                  R                  UR                  R                  :X  d   eUR                  R                  UR                  R                  :X  d   e[         R                  " SS/SS	/S9nUR                  SSS.SS9n[        R
                  " UR                  U5        UR                  SSS.SS9n[        R
                  " UR                  U5        [         R                  " SS/SS	/S9nUR                  SSS.SS9n[        R
                  " UR                  U5        UR                  SSS.S	S9n[        R
                  " UR                  U5        [        R                  n	[         R                  " SS/SS	/S9nUR                  U	SS9n[        R
                  " UR                  U5        UR                  U	SS9n[        R
                  " UR                  U5        [         R                  " SS/SS	/S9nUR                  U	SS9n[        R
                  " UR                  U5        UR                  U	S	S9n[        R
                  " UR                  U5        [         R                  " SS/SS/S9nUR                  SSS.SS9n[        R
                  " UR                  U5        g )N)foo1bar1)foo2bar2)fizz1buzz1)fizz2buzz2r:   r;   namesfizzbuzzr   r   r9   r9   r   r   foo3bar3)rg   rj   fizz3buzz3)rk   rn   )rv   rh   )ri   rw   )rx   rl   )rm   ry   r   )r   r   r9   )FIZZ1rl   )FIZZ2rn   )rk   BUZZ1)rm   BUZZ2)r   r   )r   r)   r   r   rB   rE   r   r   rp   r*   rD   )
r   tuples_indextuples_columnsr   r   rO   rL   	new_indexnew_columnsfuncs
             r   test_rename_multiindex!TestRename.test_rename_multiindexb   sU   (*:;,.@A&&|E5>J((?OP'uF
 ))!62%8  
 **/0
	 !,,!34VV<L
 	gmmY7
goo{;}}""bhhnn444$$

(8(8888 !,,!34VV<L
 ))g$HPQ)R
goo{;))g$HPV)W
goo{; ,,!34VV<L
 ))g$HPQ)R
goo{;))g$HPV)W
goo{; yy ,,!34VV<L
 ))D)2
goo{;))D)7
goo{; ,,!34VV<L
 ))D)2
goo{;))D)7
goo{; **/0
	 ))66"B!)L
gmmY7r   c                     UR                  SS0S9n[        R                  " US   R                  US   R                  5      (       d   eSUR                  S S 2S4'   US   S:H  R                  5       (       a   eg )Nr5   r:   r7   g      ?)r   rZ   shares_memory_valueslocall)r   rJ   rL   s      r   test_rename_nocopyTestRename.test_rename_nocopy   s{    $$c5\$: 6 6C8H8P8PQQQQ #AuH$+0022222r   c                     UR                  SS0S9  SU;   d   eSU;  d   eUS   nUR                  5       nUR                  SS0SS9nUb   eSU;  d   eSU;   d   eUS   ULd   eg )Nr5   r:   r7   Tr   r   )r   r   )r   rJ   c_valuesreturn_values       r   test_rename_inplaceTestRename.test_rename_inplace   s    C<0k!!!K'''s#!&&("))3,)M###+%%%### 5!111r   c                 "   [        SS/SS/SS/S.5      nUR                  SS	0S
9nUR                  SS0S
9nUR                  S	S/5      nS/Ul        [        S/S//[        R
                  " SS/S	S/S9S/S9n[        R                  " X5        g )Nr:   r;   bahbasr9   rU   r   r9   rU   r   r$   r7   r2   z
2001-01-01)r:   r   )r;   r   ro   ru   )r   r   	set_indexr   r   r)   rB   rC   r   rO   rc   s      r   test_rename_bugTestRename.test_rename_bug   s     E5>uen!QHIYY3xY(YY3xY(\\3*%"^
S1#J((0c
 "N
 	b+r   c                     [        [        R                  " S5      / SQS/S9nUR                  SS0SS9n[        [        R                  " S5      / S	QS/S9n[        R
                  " X5        g )
N   )rs   rt   rU   rU   r$   )rN   r   r   rt         r   r   )rs   r   r   )r   rZ   aranger   rB   rC   r   s      r   test_rename_bug2TestRename.test_rename_bug2   sb     BIIaL0HSVRWXYY'gY61%=u
 	b+r   c                     [        / SQS9n[        R                  " [        SS9   UR	                  SSS.SS	9  S S S 5        g ! , (       d  f       g = f)
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_raises$TestRename.test_rename_errors_raises   s>    34]]8+CDIICc27IC EDDs   A
Az mapper, errors, expected_columnsr   r   ignore)r$   r%   r5   r6   r   )r$   r2   r&   r3   c                 v    [        / SQS9nUR                  XS9n[        US9n[        R                  " XV5        g )Nr4   r7   r   )r   r   rB   rC   )r   r   r   expected_columnsrO   rb   rc   s          r   test_rename_errorsTestRename.test_rename_errors   s8     3469%56
f/r   c                 ^    UR                  [        R                  S9nSU;   d   eSU;  d   eg )Nr7   r<   r:   )r   r*   rD   )r   float_string_framerL   s      r   test_rename_objectsTestRename.test_rename_objects   s5    $++CII+>G###r   c                    [        SS/SS/S.SS/S9n[        SS/SS/S.SS/S9nUR                  [        R                  SS9n[        R
                  " X25        UR                  [        R                  S	S9n[        R
                  " X25        UR                  S
SS.SS9n[        R
                  " X25        UR                  S
SS.S	S9n[        R
                  " X25        [        SS/SS/S.SS/S9nUR                  [        R                  SS9n[        R
                  " X25        UR                  [        R                  SS9n[        R
                  " X25        UR                  SSS.SS9n[        R
                  " X25        UR                  SSS.SS9n[        R
                  " X25        UR                  [        R                  SS9n[        R
                  " X25        g )Nr9   rU   rW   XYr(   rX   r   r   r$   r2   r-   yr   r   )r   r   )r   r   )r   r   r*   r+   rB   rC   )r   rO   rc   rb   s       r   test_rename_axis_style!TestRename.test_rename_axis_style   s   aV1a&1#sDAq6A7SzJ3991-
f/39995
f/3/a8
f/3/i@
f/ Aq6A7SzJ3991-
f/39973
f/3/a8
f/3/g>
f/#))':
f/r   c                     [        SS/SS/SS/S.5      R                  SS	/5      nUR                  [        R                  5      nUR                  [        R                  S
9n[
        R                  " X#5        g )Nr$   r2   r&   r3   r9   rU   r'   r%   r5   r'   r%   r(   )r   r   r   r*   rD   rB   rC   r   rO   rb   rc   s       r   test_rename_mapper_multi#TestRename.test_rename_mapper_multi  sg    c3ZsCj1vFGQQ#J
 399%993999-
f/r   c                     [        SS/SS/S.SS/S9nUR                  [        R                  [        R                  S9n[        SS/SS/S.S	S
/S9n[
        R                  " X#5        g )Nr9   rU   rX   r   r   r(   ru   rW   r-   r   )r   r   r*   r+   rD   rB   rC   r   s       r   test_rename_positional_named'TestRename.test_rename_positional_named!  sd    aV1a&1#sDCII>Aq6A7SzJ
f/r   c                    [        SS/SS/S.SS/S9nSn[        R                  " [        US9   UR	                  [
        R                  SS	9  S S S 5        [        R                  " [        US9   UR	                  [
        R                  S
S	9  S S S 5        [        R                  " [        US9   UR	                  [
        R                  S
S9  S S S 5        [        R                  " [        US9   UR	                  [
        R                  SS	9  S S S 5        [        R                  " [        US9   UR	                  [
        R                  [
        R                  S
S	9  S S S 5        Sn[        R                  " [        US9   UR	                  [
        R                  [
        R                  [
        R                  S9  S S S 5        [        R                  " [        SS9   UR	                  [        [        S9  S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN\= f! , (       d  f       GN.= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nr9   rU   rW   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'ru   zmultiple values)r   )r   rF   rG   rH   r   r*   r+   id)r   rO   over_spec_msgs      r   test_rename_axis_style_raises(TestRename.test_rename_axis_style_raises(  s   aV1a&1#sD U]]9M:IICIIAI. ; ]]9M:IICIIII6 ; ]]9M:IIciiiI8 ; ]]9M:IICIIAI. ; ]]9M:IIciisyyyIA ; W]]9M:IIciisyy#))ID ; ]]9,=>IIbI$ ?>- ;: ;: ;: ;: ;:
 ;: ?>sS   G?/H/H#/H5/.I <II)?
H
H #
H25
I
I
I&)
I7c                     [        SS/S9nSn[        R                  " [        US9   UR	                  S [
        R                  5        S S S 5        g ! , (       d  f       g = f)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_raises(TestRename.test_rename_positional_raisesG  sA    Sz*B]]9C0IIdCII& 100s   !A
Ac                 <   [        S//5      nSn[        R                  " [        US9   UR	                  5         S S S 5        [        R                  " [        US9   UR	                  S S S9  S S S 5        [        R                  " [        US9   UR	                  S S S9  S S S 5        [        R                  " [        US9   UR	                  S S S S9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nd= f! , (       d  f       g = f)Nr9   r>   r?   r(   r7   r   r   r   rF   rG   rH   r   r   s      r   test_rename_no_mappings_raises)TestRename.test_rename_no_mappings_raisesO  s    u,]]9C0IIK 1 ]]9C0IId$I' 1 ]]9C0IIdDI) 1 ]]9C0IIdDI5 10 10 10 10 10s/   CC+C<?D
C(+
C9<
D

Dc                    [        S//5      nSn[        R                  " [        US9   UR	                  0 0 S9  S S S 5        [        R                  " [        US9   UR	                  0 0 S9  S S S 5        [        R                  " [        US9   UR	                  0 0 0 S9  S S S 5        g ! , (       d  f       Nt= f! , (       d  f       NS= f! , (       d  f       g = f)Nr9   r   r?   r(   r7   r   r   r   s      r   2test_rename_mapper_and_positional_arguments_raises=TestRename.test_rename_mapper_and_positional_arguments_raises_  s    uL]]9C0IIbI# 1 ]]9C0IIb"I% 1 ]]9C0IIb"BI/ 10 10 10 10s#   B(B9C
(
B69
C

Cc                 X   [        S/S/S/S.[        R                  " S/SS/S9S	9n[        / S
QS/S-  / SQ/ SQS.[        R                  " / SQSS/S9S	9n[        XSSSS9nUR	                  SSS.S9n[        / SQ// SQS9R                  SS/SS9n[        R                  " XE5        g )Nz6>?Q6@^K=?)RTTCloseTExg*	 *3STK_IDRPT_Datero   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krb   rc   s         r   "test_rename_with_duplicate_columns-TestRename.test_rename_with_duplicate_columnsl  s    8wA((#$Xz,B
 :!(Q,:/	 ((L,
 #DdKxZ"PQGH
 )Xz*)
7 	 	f/r   c                     [        [        R                  " S5      R                  SS5      / SQS9nSSSS	.nUR	                  US
9n[        [        R                  " S5      R                  SS5      / SQ/ SQS9n[
        R                  " X45        g )N   r   r   )FTrU   r   r   r7   r:   r;   r   r   r(   )r:   r;   r   r   )r   rZ   r   reshaper   rB   rC   )r   rO   r   resexps        r   test_rename_boolean_index$TestRename.test_rename_boolean_index  sx    ryy},,Q2<RSu/iifi%IIbM!!!Q'*'

 	c'r   c                 &   [        / SQ/ SQ/ SQS.5      nUR                  SS9n[        / SQ/ SQS	9nS
n[        R                  " [
        US9   UR                  U5        S S S 5        [        R                  " [
        US9   UR                  US9  S S S 5        [        R                  " [
        US9   UR                  USS9  S S S 5        [        R                  " X5        UR                  S   n[        R                  " [
        US9   UR                  U5        S S S 5        [        R                  " [
        US9   UR                  US	9  S S S 5        [        R                  " [
        US9   UR                  USS9  S S S 5        [        R                  " XRR                  S   5        g ! , (       d  f       GNQ= f! , (       d  f       GN2= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f)N)r9   rU   r   )r   r      )      	   r   T)deep)r   r   ZW)r'   r%   r%   r5   r(   z1Cannot rename with a Series with non-unique indexr?   r7   r   r   )r   r   )r   r   r   rF   rG   
ValueErrorr   rB   rC   ilocassert_series_equal)r   rO   origrename_seriesr   sers         r   #test_rename_non_unique_index_series.TestRename.test_rename_non_unique_index_series  sa   YYYGHwwDw!3;OPA]]:S1IIm$ 2]]:S1IImI, 2]]:S1IImTI: 2 	b' ggaj]]:S1JJ}% 2]]:S1JJ]J+ 2]]:S1JJ]DJ9 2 	sIIaL1) 211111 211111sH   F*F<2G	G <G1-H*
F9<
G
G 
G.1
G?
HN)!__name__
__module____qualname____firstlineno__r   r/   rQ   rF   markparametrizer   rd   r   r   r   r   r   r   r*   r+   r   r   r   r   r   r   r   r   r   r   r   r  __static_attributes__rS   r   r   r
   r
      s+   
&8P [[SzC:.0692EF)XsCj3*=>?	
	0	0D8L32 ,"	,D
 [[*S!8-AB3Z"67YY!56	
00$ 0D00%>'6 0%0N	(2r   r
   )collectionsr   r   numpyrZ   rF   pandasr   r   r   r   r   pandas._testing_testingrB   r
   rS   r   r   <module>r     s,          i2 i2r   