
    Mh|                     \    S SK r S SKrS SKrS SKJr  S SKrS SKJ	r
  S SKJr   " S S5      rg)    N)using_pyarrow_string_dtype)IntervalArrayc                   
   \ 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S rS rS rS rS rS rS r\R,                  R/                  SSS/5      S 5       rS rS rS rS rS rS r\R,                  R?                  \ " 5       SS9\R,                  R/                  S\!RD                  " S /S S!/S"9S#/4\!RD                  " S S!/S S!/S"9S#S$/4/5      S% 5       5       r#\R,                  R/                  S&/ S'Q/ S(Q4S)/S*/4/5      S+ 5       r$S, r%S- r&\R,                  R/                  S./ S/QS$S0S1S/./ S2Q4/ S3QS4S5S6S3./ S7Q4/5      S8 5       r'\R,                  R/                  S9/ S/Q/ S:Q4/ S;Q/ S<Q4/5      S= 5       r(S> r)\R,                  R/                  S?SS/5      S@ 5       r*\R,                  R/                  S?SS/5      SA 5       r+SB r,SC r-SD\!R\                  4SE jr/SF r0\R,                  R/                  SGSS/5      SH 5       r1\R,                  R/                  SISS/5      \R,                  R/                  SGSS/5      SJ 5       5       r2SK r3SL r4\R,                  R/                  SMSNSS/SS0SS/4SOS#S$/SPSQSR.SPSQ/4SSS#S$/SPSQSR.SPSQ/4STSUSV/SWSXSY.SWSX/4SZSUSV/SWSXSY.SWSX/4S[S\S]/S^S4S_.S^S4/4\!Rj                  " SO5      \6" \!Rn                  " S#S$5      \!Rn                  " S$S05      /5      \!Rn                  " S#S$5      \!Rn                  " SPSQ5      0\6" \!Rn                  " SPSQ5      \!Rn                  " S$S05      /5      4\!Rj                  " ST5      \6" \!Rn                  " S`Sa5      \!Rn                  " SbSc5      /5      \!Rn                  " S`Sa5      \!Rn                  " SdSe5      0\6" \!Rn                  " SdSe5      \!Rn                  " SbSc5      /5      4\!Rp                  " Sf5      \!Rr                  " SgSfSh9/\!Rr                  " SgSfSh9\!Rr                  " SiSfSh90\!Rr                  " SiSfSh9/4/	5      Sj 5       r:Sk r;Sl r<Sm r=Sn r>\R,                  R?                  \ " 5       SoS9\R,                  R/                  SpSS/5      Sq 5       5       r?Sr r@\R,                  R/                  SsS$\AR                  St/5      Su 5       rCSv rD\R,                  R/                  SwSxSS/5      Sy 5       rE\R,                  R/                  SsSzS{/5      S| 5       rFS} rGS~rHg)TestSeriesReplace   c           	      Z   [         R                  " / SQ[        S9nUR                  SS 5      n[         R                  " / SQ[        S9n[        R
                  " X#5        [         R                  " [        R                  " S5      5      R                  S[        05      nSUR                  S'   UR                  SS 5      n[         R                  " [        R                  " S5      [        R                  " S5      [        R                  " / S	Q[        S9S
.5      nUR                  S   b   e[        R                  " X#5        [         R                  " / SQ5      nUR                  SS 5      n[         R                  " / SQ5      nUR                  S   b   e[        R
                  " X#5        g )N)r   r    dtyper	   )r   r   N)   r      )r   r   r   )        r   N)r      r   )
         ar   br   r   )r   r   r   NNr   N)pdSeriesobjectreplacetmassert_series_equal	DataFramenpzerosastypeilocarrayassert_frame_equal)selfserresultexpecteddfs        Z/var/www/html/env/lib/python3.13/site-packages/pandas/tests/series/methods/test_replace.pytest_replace_explicit_none,TestSeriesReplace.test_replace_explicit_none   s5   ii
&1R&99\8
v0 \\"((6*+22Av;?B%<<88A;88A;88,F;
 }}T"***
f/ ii89S$'99@A}}R (((
v0    c                    [         R                  " S S [         R                  " S5      /[        S9nUR	                  [
        R                  S 05      n[        R                  " X!5        UR                  [        :X  d   eUR	                  [
        R                  S 5      n[        R                  " X!5        UR                  [        :X  d   eg )Nz2021-12-16 17:31r
   )
r   r   	Timestampr   r   r   nanr   r   r   )r#   r$   ress      r(   !test_replace_noop_doesnt_downcast3TestSeriesReplace.test_replace_noop_doesnt_downcast*   s    iitR\\2D%EFfUkk2664.)
s(yyF""" kk"&&$'
s(yyF"""r+   c           	         Sn[         R                  " [        R                  R	                  S5      R                  U5      5      n[        R                  USS& SUSS& UR                  [        R                  /SSS	9nUb   eUR                  S5      n[        R                  " X$5        UR                  S
[        R                  5      n[        R                  X"S
:H  '   [        R                  " XR5        [         R                  " [        R                  " [        R                  R	                  S5      R                  U5      5      [         R                  " SUS9[        S9n[        R                  US S& SUSS& SUSS& Sn[        R                  " [        US9   UR                  [        R                  SS/S5      nS S S 5        US S S:H  R!                  5       (       d   eUSS S:H  R!                  5       (       d   eUSS S:H  R!                  5       (       d   e[         R"                  " US S 5      R!                  5       (       d   e[        R                  " [        US9   UR                  [        R                  SSSSS05      nS S S 5        US S S:H  R!                  5       (       d   eUSS S:H  R!                  5       (       d   eUSS S:H  R!                  5       (       d   e[         R"                  " US S 5      R!                  5       (       d   e[        R                  " [        US9   UR                  [        R                  SS// SQ5      nS S S 5        [        R                  " UW5        [        R                  " [        US9   UR                  [        R                  SS/SSS	9nS S S 5        Ub   eUS S S:H  R!                  5       (       d   eUSS S:H  R!                  5       (       d   eUSS S:H  R!                  5       (       d   eg ! , (       d  f       GN_= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f)N2   r   r         r   r   Tinplacer   
2020-01-01periodsr
      foobarr   r   !Downcasting behavior in `replace`matchr   rA   rB   )r   r   r   randomdefault_rngstandard_normalr.   r   fillnar   r   fabs
date_ranger   assert_produces_warningFutureWarningallisna)r#   Nr$   return_valueexprsmsgrs2s           r(   test_replaceTestSeriesReplace.test_replace6   s   ii		--a0@@CD66AaAb	 {{BFF8R{>###jjn
s([[bff%&&3J
r'iiGGBII))!,<<Q?@MM,2

 &&BQAb	Br
 2''SAbffeU3R8B B 2A"!!####1RB##%%%%2b	R$$&&&&BQ %%'''' ''SAbffb%UB?@B B 2A"!!####1RB##%%%%2b	R$$&&&&BQ %%'''' ''SA++rvvue4lCC B
r3' ''SA;;u'=r4;PL B###BQ2""$$$$Ab	R$$&&&&Br
b %%''''; BA BA BA
 BAs0   $P#&P'/&P9#Q

P$'
P69
Q

Qc           	         [         R                  " [        R                  S[        R                  /5      n[
        R                  " UR                  [        R                  S5      UR                  S5      5        [         R                  " [        R                  SSS[        R                  S [         R                  /5      n[
        R                  " UR                  [        R                  S5      UR                  S5      5        UR                  5       nSUS'   [
        R                  " UR                  [        R                  S5      U5        g )Nr   r<   r=   r4   )r   r   r   r.   infr   r   r   rG   NaTcopy)r#   r$   filleds      r(   test_replace_nan_with_inf+TestSeriesReplace.test_replace_nan_with_infq   s    iiBFF+,
s{{26615szz!}EiiE5"&&$GH
s{{26615szz!}Eq	
s{{26615v>r+   c                    [         R                  " UR                  5      n[        R                  " UR                  [        R                  S5      UR                  S5      5        Sn[        R                  " [        US9   UR                  / SQ[        R                  S/5        S S S 5        UR                  SS/[        R                  S/5      n[        R                  " XB5        [         R                  " / SQ5      nUR                  / SQ/ SQ5      n[        R                  " U[         R                  " / SQ5      5        g ! , (       d  f       N= f)	Nr   z:Replacement lists must match in length\. Expecting 3 got 2r?   r   r   r   r   r   r   r   r   r   r4   )r4   r   r   r   r   )r   r   indexr   r   r   r   r.   rG   pytestraises
ValueError)r#   datetime_seriesr$   rR   r%   s        r(   +test_replace_listlike_value_listlike_target=TestSeriesReplace.test_replace_listlike_value_listlike_target{   s    ii--.
s{{26615szz!}E L]]:S1KK	BFFA;/ 2 aVbffa[1
v+ii(_o>
vryy'AB 21s    %E
Ec                    [         R                  " S[        R                  SSS/5      nUR	                  5       nSn[
        R                  " [        US9   UR                  [        R                  /5      nS S S 5        [
        R                  " WU5        [         R                  " S[        R                  SSS/5      nUR	                  5       n[
        R                  " [        US9   UR                  [        R                  5      nS S S 5        [
        R                  " XB5        g ! , (       d  f       N= f! , (       d  f       N6= f)Nr   r   r   r4   PSeries.replace without 'value' and with non-dict-like 'to_replace' is deprecatedr?   )
r   r   r   r.   ffillr   rJ   rK   r   r   )r#   r$   r&   rR   r%   s        r(   test_replace_gh5319%TestSeriesReplace.test_replace_gh5319   s     iiBFFAq!,-99;) 	 ''SA[["&&*F B
vx0iiBFFAq!,-99;''SA[[(F B
v0 BA BAs   !D&' D7&
D47
Ec                    [         R                  " [         R                  " SSS95      nUR                  5       n[         R                  " S5      UR
                  S'   UR                  [         R                  " S5      [         R                  " S5      05      n[        R                  " X25        UR                  [         R                  " S5      [         R                  " S5      5      n[        R                  " X25        g )N20130101r;   r9   20120101r   20130103)	r   r   rI   rY   r-   locr   r   r   r#   r$   r&   r%   s       r(   test_replace_datetime64)TestSeriesReplace.test_replace_datetime64   s    iij!<=88:,,z2Qbll:6Z8PQR
v0R\\*5r||J7OP
v0r+   c                    [         R                  " SSS9n[         R                  " [         R                  [         R                  " SSS9/5      nUR	                  [
        R                  [         R                  /[         R                  R                  5      n[         R                  " [         R                  R                  U/[        S9n[        R                  " XC5        g )Nz
2015/01/01UTC)tzr
   )r   r-   r   rX   r   r   r.   minr   r   r   )r#   tssr%   r&   s        r(   test_replace_nat_with_tz*TestSeriesReplace.test_replace_nat_with_tz   s    \\,51IIrvvr||LUCDEBFFBFF+R\\-=-=>99bll..36B
x0r+   c                    [         R                  " SSS9n[         R                  " U5      nUR                  US   US   05      n[         R                  " US   US   US   US   US   /5      n[        R
                  " X45        g )Nr   r;   r9   r   r   r   r4   )r   timedelta_ranger   r   r   r   )r#   tdir$   r%   r&   s        r(   test_replace_timedelta_td64-TestSeriesReplace.test_replace_timedelta_td64   sy      A.iin c!fc!f-.99c!fc!fc!fc!fc!fEF
v0r+   c                    [         R                  " / SQ5      nSn[        R                  " [        US9   UR                  / SQ5      nS S S 5        [        R                  " W[         R                  " / SQ5      5        UR                  5       n[        R                  " [        US9   UR                  / SQSS9nS S S 5        Wb   e[        R                  " U[         R                  " / SQ5      5        UR                  5       nSnS	n[        R                  " [        US9   [        R                  " [        US9   UR                  / SQSS
S9nS S S 5        Ub   e S S S 5        [        R                  " XA5        g ! , (       d  f       GN:= f! , (       d  f       N= f! , (       d  f       NV= f! , (       d  f       NY= f)Nr_   rh   r?   r^   )r   r   r   r   r4   Tr6   zVInvalid fill method\. Expecting pad \(ffill\) or backfill \(bfill\)\. Got crash_cymbal4The 'method' keyword in Series.replace is deprecatedcrash_cymbal)r7   method)r   r   r   rJ   rK   r   r   rY   ra   rb   rc   )r#   r$   msg2r%   ry   rO   rR   msg3s           r(   test_replace_with_single_list/TestSeriesReplace.test_replace_with_single_list   sP   ii() 	 ''TB[[+F C
vryy'ABHHJ''TB99Y9=L C###
q"))O"<= HHJ, 	 F]]:S1++MF yyDyX G''' 2 	q&+ CB
 CB GF 21s;   E;&F F/:FF/;
F

F
F,	(F//
F=c           	      t  ^ [         R                  " [        R                  " S5      SS9mU4S jnS/S/p2U" X#T5        U" US   US   T5        [         R                  " / SQ5      nS/S	/p2U" X#U5        [         R                  " / S
Q5      nSS/S	S/p2U" X#U5        [         R                  " SSSS	[         R                  " S5      /5      nSS/S	[         R                  " S5      /p2U" X#U5        [         R                  " / SQSS9nSS/S	S/p2U" X#U5        [         R                  " [         R
                  " SSSS95      nUR                  [        5      R                  US   US   US   // SQ5      n[         R                  " / SQUSS  R                  5       -   [        S9n[        R                  " Xg5        g )Nr;   int64r
   c                    > TR                  5       nTR                  X5      nUR                  XSS9nUb   e[        R                  " X$5        [        R                  " X#5        g )NTr6   )rY   r   r   r   )to_repvalr&   scr%   rO   r$   s         r(   check_replaceATestSeriesReplace.test_replace_mixed_types.<locals>.check_replace   sV    B[[-F::f4:@L'''""84""80r+   r   g      @r   )r   r   r         @r4   r   )r   r   r   r   r   r4   r   r   r   rm   )r   r   r   r   Tr   Tz1/1/2001z	1/10/2001Dfreq)      ?r   r   )r   r   r   aranger-   rI   r   r   r   tolistr   r   )	r#   r   trvedrr%   r&   r$   s	           @r(   test_replace_mixed_types*TestSeriesReplace.test_replace_mixed_types   s   ii		!G4	1 cUAbS!beQqT3' II'(cUAbQ II)*Ac
AbQ IIq!QR\\*%=>?Abll:67AbQ II*(;AdAbQ YYr}}Z3GH6"**BqE2a5"Q%+@-P99]RV]]_<FK
v0r+   c                     [         R                  " / SQ5      nUR                  SS5      n[        R                  " X5        g )NTFTfunz
in-the-sunr   r   r   r   r   )r#   ry   r%   s      r(   #test_replace_bool_with_string_no_op5TestSeriesReplace.test_replace_bool_with_string_no_op  s/    II)*5,/
q)r+   c                     [         R                  " / SQ5      nUR                  SS5      n[         R                  " / SQ5      n[        R                  " X25        g )Nr   T2u)r   Fr   r   r#   ry   r%   r&   s       r(   test_replace_bool_with_string/TestSeriesReplace.test_replace_bool_with_string  s>    II)*4&9901
x0r+   c                     [         R                  " / SQ5      nUR                  SS5      n[         R                  " S/[        U5      -  5      n[        R
                  " X25        g )Nr   TF)r   r   r   lenr   r   r   s       r(   test_replace_bool_with_bool-TestSeriesReplace.test_replace_bool_with_bool  sH    II)*4'99eWs1v-.
x0r+   c                     [         R                  " / SQ5      nUR                  SSS.5      n[         R                  " / SQ5      n[        R                  " X#5        g )Nr   asdbyes)asdfT)r   Fr   r   r   s       r(   %test_replace_with_dict_with_bool_keys7TestSeriesReplace.test_replace_with_dict_with_bool_keys  sA    II)*F%899923
v0r+   c                    [         R                  " SS /US9R                  S[         R                  5      n[         R                  " [         R                  [         R                  /US9n[        R
                  " X#5        [         R                  " SS/US9R                  S[         R                  5      nUR                  S[         R                  SS9  [        R
                  " X#5        g )Nr   r
   r   Tr6   )r   r   r   NAr   r   )r#   any_int_ea_dtyper%   r&   s       r(   test_replace_Int_with_na*TestSeriesReplace.test_replace_Int_with_na  s    At9,<=EEaO99beeRUU^3CD
v0Aq6)9:BB1beeLq"%%.
v0r+   c           	         Sn[         R                  " [        R                  " [        R                  R                  S5      R                  U5      5      [         R                  " SUS9[        S9n[        R                  US S& SUSS	& S
USS& Sn[        R                  " [        US9   UR                  [        R                  SS
/S5      nS S S 5        WS S S:H  R                  5       (       d   eUSS	 S:H  R                  5       (       d   eUSS S:H  R                  5       (       d   e[         R                  " US S 5      R                  5       (       d   e[        R                  " [        US9   UR                  [        R                  SSSS
S05      nS S S 5        US S S:H  R                  5       (       d   eUSS	 S:H  R                  5       (       d   eUSS S:H  R                  5       (       d   e[         R                  " US S 5      R                  5       (       d   e[        R                  " [        US9   UR                  [        R                  SS
// SQ5      nS S S 5        [        R                   " UW5        [        R                  " [        US9   UR                  [        R                  SS
/SSS9nS S S 5        Wb   eUS S S:H  R                  5       (       d   eUSS	 S:H  R                  5       (       d   eUSS S:H  R                  5       (       d   eg ! , (       d  f       GN_= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f)Nr3   r   r8   r9   r
   r;   r<   r5   r   r=   r   r   r>   r?   r   rA   rB   rC   Tr6   )r   r   r   rH   rD   rE   rF   rI   r   r.   r   rJ   rK   r   rL   rM   r   )r#   rN   r$   rR   rQ   rS   rO   s          r(   test_replace2TestSeriesReplace.test_replace2$  s   iiGGBII))!,<<Q?@MM,2

 &&BQAb	Br
 2''SAbffeU3R8B B 2A"!!####1RB##%%%%2b	R$$&&&&BQ %%'''' ''SAbffb%UB?@B B 2A"!!####1RB##%%%%2b	R$$&&&&BQ %%'''' ''SA++rvvue4lCC B
r3' ''SA;;u'=r4;PL B###BQ2""$$$$Ab	R$$&&&&Br
b %%''''9 BA BA BA
 BAs0   ($L$2&L6>&M#M$
L36
M
M
M'r7   TFc                     [         R                  " / SQ5      n[         R                  " / SQ5      nUR                  / SQ/ SQUS9nU(       a  [        R                  " X#5        g [        R                  " XC5        g )Nr^   r   r   r4   r6   r   )r#   r7   r$   r&   r/   s        r(   test_replace_cascade&TestSeriesReplace.test_replace_cascadeO  sS     ii	"99Y'kk)Yk@""31""31r+   c                     [         R                  " SS[        R                  /US9n[         R                  " SS[        R                  /US9nUR	                  SSS.5      n[
        R                  " X45        g )Nonetwor
   12r   r   )r   r   r   r.   r   r   r   )r#   nullable_string_dtyper$   r&   r%   s        r(   +test_replace_with_dictlike_and_string_dtype=TestSeriesReplace.test_replace_with_dictlike_and_string_dtype\  s[    iirvv.6KL99c3/7LMS56
x0r+   c                    [         R                  " [        S5      5      n[        R                  " XR                  0 5      5        [         R                  " / 5      n[        R                  " XR                  U5      5        g )Nabcd)r   r   listr   r   r   )r#   ry   empty_seriess      r(    test_replace_with_empty_dictlike2TestSeriesReplace.test_replace_with_empty_dictlikec  sN    IId6l#
q))B-0yy}
q))L"9:r+   c                     [         R                  " / SQ5      nUR                  S[        R                  5      n[         R                  " / SQ5      n[
        R                  " X25        g Nr^   r   r   r   r   r   r.   r   r   r   s       r(   test_replace_string_with_number1TestSeriesReplace.test_replace_string_with_numberk  @    IIi 3'99Y'
x0r+   c                     [         R                  " SS/5      n[         R                  " SS/5      nUR                  SSS.5      n[        R                  " X#5        g )Nr   r   )r   r   r   )r#   ry   r&   r%   s       r(   (test_replace_replacer_equals_replacement:TestSeriesReplace.test_replace_replacer_equals_replacementr  sI     IIsCj!99c3Z(3/0
x0r+   c                     [         R                  " / SQ5      nUR                  S[        R                  5      n[         R                  " / SQ5      n[
        R                  " X25        g r   r   r   s       r(    test_replace_unicode_with_number2TestSeriesReplace.test_replace_unicode_with_numberz  r   r+   c                    [         R                  " / SQ5      nSn[        R                  " [        US9   UR                  SS/[        R                  5      nS S S 5        [         R                  " S[        R                  S[        R                  SS	/5      n[        R                  " UW5        g ! , (       d  f       N^= f)
N)r   r   r   4r4   r;   r>   r?   r   r   r   r   r4   r;   )	r   r   r   rJ   rK   r   r   r.   r   )r#   ry   rR   r%   r&   s        r(   $test_replace_mixed_types_with_string6TestSeriesReplace.test_replace_mixed_types_with_string  s    II*+1''SAYY3x0F B99aBFFAq9:
x0 BAs   #B//
B=zcan't fill 0 in string)reasonzcategorical, numericAB)
categoriesr   r   c                    [         R                  " U5      nSnSn[        R                  " [        US9   UR                  SSS.5      nS S S 5        [         R                  " U5      R                  S5      nSUR                  R                  ;  a  UR                  R                  S5      n[        R                  " UW5        g ! , (       d  f       N= f)Nr>   #with CategoricalDtype is deprecatedr?   r   r   )r   r   category)r   r   r   rJ   rK   r   r   catr   add_categoriesr   )r#   categoricalnumericr$   rR   r%   r&   s          r(   test_replace_categorical*TestSeriesReplace.test_replace_categorical  s     ii$13''SA[[qq!12F B99W%,,Z8HLL+++  ||2215H
x0 BAs   C
Czdata, data_expr   r   c)r   r   r   r   r   c                    [         R                  " USS9nSn[        R                  " [        US9   UR                  SSSS9  S S S 5        [         R                  " USS9n[        R                  " X55        g ! , (       d  f       N:= f)	Nr   r
   r   r?   r   r   T
to_replacevaluer7   r   r   r   rJ   rK   r   r   )r#   datadata_expr%   rR   r&   s         r(    test_replace_categorical_inplace2TestSeriesReplace.test_replace_categorical_inplace  si    
 4z23''SANNcdNC B99XZ8
v0 BAs   A77
Bc                    [         R                  " SSSS9n[         R                  " U5      nUR                  S5      nUR	                  5       nUR
                  R                  S5      nSUS'   UR
                  R                  5       nUS   S:w  d   eSn[        R                  " [        US	9   UR                  US   S5      nS S S 5        [        R                  " UW5        US   S:w  d   eSn[        R                  " [        US	9   UR                  US   SS
S9nS S S 5        Wb   e[        R                  " XC5        US   nSn[        R                  " [        US	9   UR                  US   US   S
S9nS S S 5        Ub   eUS   US   s=:X  a  U:X  d   e   eg ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       NN= f)N
2016-01-01r   
US/Pacificr:   rv   r   r<   r   r   r?   Tr6   r   r   )r   rI   r   r   rY   r   r   remove_unused_categoriesr   rJ   rK   r   r   )	r#   dtiry   r   r&   rR   r%   rO   first_values	            r(   test_replace_categorical_single1TestSeriesReplace.test_replace_categorical_single  s   mmL!EIIcNHHZ 668<<..u5<<88:tu}}3''SAYYqtU+F B
x0tu}}3''SA99QqT5$9?L B###
x+d3''SA99QqT1Q49>L B###tqt*{*****! BA BA BAs$   .F	F0!G
F-0
F>
Gc                 l   [         R                  " / SQ5      nUR                  S/S/5      n[         R                  " / SQ5      n[        R                  " X#5        [         R                  " / SQ5      nUR                  S/S/5      n[         R                  " / SQ5      n[        R                  " X#5        g )Nr_   r   100000000000000000000)r   r   r   r   r4   )r   r   100000000000000000001r   )r   r   r  r   r   s       r(   "test_replace_with_no_overflowerror4TestSeriesReplace.test_replace_with_no_overflowerror  s     IIo&A3!8 9:99BC
v0IIKL34qc:99<=
v0r+   zser, to_replace, expr^   r   r4   r   )r   r   3r   r  r   )r   r  r   c                     [         R                  " U5      n[         R                  " U5      nUR                  U5      n[        R                  " Xe5        g Nr   )r#   r$   r   rP   seriesr&   r%   s          r(   test_replace_commutative*TestSeriesReplace.test_replace_commutative  s:     399S>
+
v0r+   zser, exp)r   Tr   )xr   r   )r
  Tr   c                     [         R                  " U5      nUR                  SS5      n[         R                  " U5      n[        R                  " XE5        g )Nr   Tr   )r#   r$   rP   r  r%   r&   s         r(   test_replace_no_cast&TestSeriesReplace.test_replace_no_cast  s<     34(99S>
v0r+   c                 ,   [         R                  " / SQ5      nSnSn[        R                  " [        US9   [
        R                  " [        US9   UR                  S 5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr   r   zc zZExpecting 'to_replace' to be either a scalar, array-like, dict or None, got invalid type.*rh   r?   c                 "    U R                  5       $ r  )strip)r
  s    r(   <lambda>CTestSeriesReplace.test_replace_invalid_to_replace.<locals>.<lambda>  s
    r+   )	r   r   ra   rb   	TypeErrorr   rJ   rK   r   )r#   r  rR   r   s       r(   test_replace_invalid_to_replace1TestSeriesReplace.test_replace_invalid_to_replace  sr     +,0 	
) 	 ]]9C0++MF23 G 10FF 10s#   BA4#B4
B	>B
Bframec                     [         R                  " / SQ5      nU(       a  UR                  5       nSn[        R                  " [
        US9   UR                  S/SS9  S S S 5        g ! , (       d  f       g = f)Nr  z4'to_replace' must be 'None' if 'regex' is not a boolr?   r   r<   )r   regex)r   r   to_framera   rb   rc   r   )r#   r  objrR   s       r(   test_replace_nonbool_regex,TestSeriesReplace.test_replace_nonbool_regex  sP    ii(),,.CD]]:S1KKC5K6 211s   A&&
A4c                     [         R                  " / [        R                  S9nU(       a  UR	                  5       nUR                  SSSS9nUb   eUR                  SSSS9n[        R                  " X25        X2Ld   eg )Nr
   r4   r;   Tr6   F)r   r   r   float64r  r   r   assert_equal)r#   r  r  r/   s       r(   test_replace_empty_copy)TestSeriesReplace.test_replace_empty_copy  sl    ii"**-,,.Ckk!Qk-{{kk!Qk.
!~~r+   c                 n   [         R                  " SSSUS/5      nSSS.nSnSn[        R                  " [        US9   UR                  X45        S S S 5        SnSS	S.nS
n[        R                  " [        US9   UR                  X45        S S S 5        g ! , (       d  f       NK= f! , (       d  f       g = f)Nr   r   r   T)r   r   r<   zASeries.replace cannot use dict-like to_replace and non-None valuer?   r=   z<Series.replace cannot use dict-value and non-None to_replace)r   r   ra   rb   rc   r   )r#   fixed_now_tsr$   r   r   rR   s         r(   "test_replace_only_one_dictlike_arg4TestSeriesReplace.test_replace_only_one_dictlike_arg  s     iiAsL$78s^
Q]]:S1KK
* 2 
e$L]]:S1KK
* 21 21 21s   B:B&
B#&
B4c                     U" [         R                  " / SQSS95      nUR                  SS5      n[        R                  " X#5        g )Nr^   Int64r
   r	   )r   r!   r   r   r   )r#   frame_or_seriesr  r%   s       r(   test_replace_extension_other.TestSeriesReplace.test_replace_extension_other.  s3    bhhy@AR$
$r+   r$   c                    UR                  5       nSn[        R                  " [        US9   UR	                  US   SS9nS S S 5        [
        R                  " US   US   /[        USS  5      -   UR                  S9n[        R                  " WU5        S	n[        R                  " [        US9   UR	                  US   SS9nS S S 5        [        R                  " WUR                  5       5        UR                  5       n[        R                  " [        US9   UR	                  US   SS
S9n	S S S 5        W	b   e[        R                  " X5        [        R                  " [        US9   UR	                  US   SS
S9n
S S S 5        W
b   e[        R                  " X%R                  5       5        g ! , (       d  f       GNy= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       Nm= f)Nr   r?   r   pad)r   r   r   r
   z7The 'method' keyword in DataFrame.replace is deprecatedT)r   r7   )r  r   rJ   rK   r   r   r   r   r   r   r"   rY   )r#   r$   r'   msg1r/   r&   r   res_dfser2res2res_df2s              r(   _check_replace_with_method,TestSeriesReplace._check_replace_with_method5  s   \\^E''TB++c!fU+3C C99c!fc!f-SW=SYYO
sH-H''TBZZAuZ5F C
fh&7&7&9:xxz''TB<<Aud<CD C||
t.''TBjjQtjDG C
b"3"3"56' CB CB
 CB
 CBs/   F20GG+G'2
G
G
G$'
G5c                     [         R                  " SS[         R                  S/US9n[         R                  " U5      nU R	                  U5        g )Nr   r   r4   r
   )r   r!   r   r   r3  )r#   any_numeric_ea_dtypearrr$   s       r(   !test_replace_ea_dtype_with_method3TestSeriesReplace.test_replace_ea_dtype_with_methodN  s;    hh1beeQ'/CDiin'',r+   as_categoricalc                     [         R                  R                  [        S5      5      n[         R                  " U5      nU(       a  UR                  S5      nU R                  U5        g )Nr4   r   )r   IntervalIndexfrom_breaksranger   r   r3  )r#   r:  idxr$   s       r(   !test_replace_interval_with_method3TestSeriesReplace.test_replace_interval_with_methodT  sJ     **584iin**Z(C'',r+   	as_periodc                 6   [         R                  " SSSS9nU(       a   UR                  S 5      R                  S5      n[         R                  " U5      n[         R
                  UR                  S'   U(       a  UR                  S5      nU R                  U5        g )Nr   r;   r   r   r   rA   r   )	r   rI   tz_localize	to_periodr   rX   r    r   r3  )r#   rB  r:  r?  r$   s        r(   %test_replace_datetimelike_with_method7TestSeriesReplace.test_replace_datetimelike_with_method_  so     mmL!E//$'11#6Ciinvv**Z(C'',r+   c                     [         R                  " / SQ5      n[        R                  " S5      nUR	                  US0SS9n[         R                  " / SQ5      n[
        R                  " X45        g )Nr   z^a$zTr  )rI  r   r   )r   r   recompiler   r   r   )r#   ry   r  r%   r&   s        r(    test_replace_with_compiled_regex2TestSeriesReplace.test_replace_with_compiled_regexm  sP    IIo&

5!E3<t499_-
v0r+   c           	         [         R                  " SSSSSS[         R                  /SS9nSSSS	S
.nUR                  USS9n[         R                  " SSS	SSS[         R                  /SS9n[        R
                  " X45        g )NAABBCCDDEEr	   stringr
   zCC-REPL)rP  rQ  rT  rR  TrJ  r   r   r   r   r   r   )r#   r$   regex_mappingr%   rP   s        r(   test_pandas_replace_na(TestSeriesReplace.test_pandas_replace_nau  s}    iitT4r255AR	
 ]$7iitYdBFhW
v+r+   z,dtype, input_data, to_replace, expected_databoolr   r   r   )r   r   r(  r  皙?皙@g333333$@g     4@)r[  r\  Float64rU  r   r   r   r   r   g@gffffff@g@g333333%@g4@Mz2020-05r   z2020-06c                     [         R                  " X!S9nUR                  U5      n[         R                  " XAS9n[        R                  " Xg5        g )Nr
   r   )r#   r   
input_datar   expected_datar$   r%   r&   s           r(   test_replace_dtype$TestSeriesReplace.test_replace_dtype  s<    > ii
0Z(99]8
v0r+   c                    [         R                  " SS[        R                  /SS9nUR	                  SSS.5      n[         R                  " SS[        R                  /SS9n[
        R                  " X#5        [         R                  " S[        R                  /SS9nUR	                  SS	5      n[         R                  " S	[        R                  /SS9n[
        R                  " XV5        [         R                  " SS	/SS9nUR	                  S[         R                  5      n[         R                  " [         R                  S	/SS9n	[
        R                  " X5        g )
Nr   r   rU  r
   r   r   r   r   r   )r   r   r   r.   r   r   r   r   )
r#   r$   r/   r&   r0  r1  	expected2ser3res3	expected3s
             r(   test_replace_string_dtype+TestSeriesReplace.test_replace_string_dtype  s    iirvv.h?kk#c2399c3/x@
s- yy#rvvh7||C%IIsBFFm8<	
t/yy#s84||C'IIruucl(;	
t/r+   c                     [         R                  " SS/SS9nUR                  SS/S5      n[         R                  " SS/SS9n[        R                  " X#5        g )NabcdefrU  r
   zany other stringxyzr   r#   r$   r/   r&   s       r(   )test_replace_string_dtype_list_to_replace;TestSeriesReplace.test_replace_string_dtype_list_to_replace  sN    iih7kk5"45u=99eU^8<
s-r+   c                     [         R                  " SS/SS9nUR                  SSSS9n[         R                  " SS/SS9n[        R                  " X#5        g )	Nr   r   rU  r
   .CTrJ  r   ro  s       r(   test_replace_string_dtype_regex1TestSeriesReplace.test_replace_string_dtype_regex  sL    iic
(3kk$4k099c3Zx8
s-r+   c                    [         R                  " / SQ[         R                  " 5       S9nUR                  SS05      R                  UR                  :X  d   eUR                  SS5      R                  UR                  :X  d   eUR                  SS05      R                  UR                  :X  d   eUR                  SS5      R                  UR                  :X  d   eUR                  SS/SS/S9nUR                  UR                  :X  d   e[         R                  " / S	Q[         R
                  " 5       S9nUR                  S
S05      R                  UR                  :X  d   eUR                  S
S5      R                  UR                  :X  d   eUR                  S
S05      R                  UR                  :X  d   eUR                  S
S5      R                  UR                  :X  d   e[        R                  " [        SS9   UR                  S
S05        S S S 5        [        R                  " [        SS9   UR                  S
S5        S S S 5        g ! , (       d  f       NC= f! , (       d  f       g = f)N)r          @gˡE@g@r
   r   	   g      "@rx  g      $@r   r   )r   r   r   r4   r   zInvalid valuer?   g      #@)	r   r   Float64Dtyper   r   
Int64Dtypera   rb   r  )r#   floatsr/   intss       r(   test_replace_nullable_numeric/TestSeriesReplace.test_replace_nullable_numeric  s    19JK~~sAh'--===~~c1%++v||;;;~~sCj)//6<<???~~c3'--===nnc
3+nFyyFLL(((yyR]]_=||QF#))TZZ777||Aq!''4::555||QH%++tzz999||As#))TZZ777 ]]9O<LL!S" =]]9O<LLC  =< =<<<s   I7I$
I!$
I2zcan't fill 1 in stringr  c                    [         R                  " S/5      n[         R                  " S/5      nSn[        R                  " [        US9   UR                  SSUS9nS S S 5        [        R                  " WU5        g ! , (       d  f       N&= f)N0r   r>   r?   )r   r   r  r   )r#   r  r  r&   rR   r%   s         r(   test_replace_regex_dtype_series1TestSeriesReplace.test_replace_regex_dtype_series  sl     C5!99aS>1''SA^^s!5^IF B
vx0 BAs   
A<<
B
c                 *   [         R                  " / SQUS9n[         R                  " / SQUS9n[        [        UR                  UR
                  5      5      nUR                  U5      nUR                  SSSS.5      n[        R                  " XV5        g )N)r   r   r   r   r   r   r   r   r
   )r   r   r   r   r   r   )	r   r   dictzipvaluesr`   r   r   r   )r#   any_int_numpy_dtypelabsmapsmap_dictr%   r&   s          r(    test_replace_different_int_types2TestSeriesReplace.test_replace_different_int_types  so    yy19LMyy*=>DKK45h'<<A! 23
v0r+   r   rx  c                     [         R                  " SU/5      nUR                  US 5      n[         R                  " SS /[        S9n[        R
                  " X45        g )Nr   r
   )r   r   r   r   r   r   )r#   r   r$   r%   r&   s        r(   %test_replace_value_none_dtype_numeric7TestSeriesReplace.test_replace_value_none_dtype_numeric  sH     iiC!S$'99aYf5
v0r+   c                 &   [         R                  R                  S/ SQ05      nU(       a  [        OS n[        R
                  " USS9   US   R                  S/[        R                  /5      US'   S S S 5        [         R                  R                  SS[        R                  S/05      n[        R                  " X$5        [         R                  R                  S/ SQ05      nUS   R                  S /[        R                  /5      US'   [        R                  " X$5        [         R                  R                  S/ SQ05      nUS   R                  [        R                  5      US'   [        R                  " X$5        g ! , (       d  f       GN= f)	NTest)0.5T0.6Downcastingr?   Tr  r  )r  Nr  )r   r   	from_dictrK   r   rJ   r   r   r.   r"   rG   )r#   using_infer_stringr'   warnr&   s        r(    test_replace_change_dtype_series2TestSeriesReplace.test_replace_change_dtype_series  s'   \\##V-A$BC 2}''MBF++TFRVVH=BvJ C<<))6E26653I*JK
b+\\##V-A$BCZ''96

b+\\##V-A$BCZ&&rvv.6

b+ CBs   )F
Fr   r   c                 6   [         R                  " SS[         R                  /US9n[         R                  " SS[         R                  /US9nUR                  SSS9n[        R
                  " XC5        UR                  SSSS9  [        R
                  " X#5        g )Nr   r   r
   r   rz  Tr   rV  )r#   r   r$   r&   r%   s        r(   test_replace_na_in_obj_column/TestSeriesReplace.test_replace_na_in_obj_column  sx     iiAruuU399aBEE]%83
v0q48
s-r+   r   g      ?c                 R   [         R                  " US/5      n[         R                  " U[         R                  /5      nUR                  S[         R                  S9n[        R
                  " XC5        UR                  S[         R                  SS9  [        R
                  " X#5        g )Nr   rz  Tr   rV  )r#   r   r$   r&   r%   s        r(   #test_replace_numeric_column_with_na5TestSeriesReplace.test_replace_numeric_column_with_na  st     iia!99c255\*7
v0qt<
s-r+   c                 <   [         R                  " S/SS9nUR                  5       nUR                  SS5      n[        R
                  " X25        [         R                  " S/SS9nUR                  5       nUR                  SS5      n[        R
                  " X25        g )Nr   r]  r
   Fr   booleanT)r   r   rY   r   r   r   rq   s       r(   test_replace_ea_float_with_bool1TestSeriesReplace.test_replace_ea_float_with_bool#  sx    iiY/88:UC(
v0iiy188:S$'
v0r+    N)I__name__
__module____qualname____firstlineno__r)   r0   rT   r[   re   rj   rr   rz   r   r   r   r   r   r   r   r   r   ra   markparametrizer   r   r   r   r   r   r   xfailr   r   Categoricalr   r   r   r  r  r  r  r  r!  r%  r*  r   r3  r8  r@  rF  rM  rX  IntervalDtyper   IntervalPeriodDtypePeriodrb  ri  rp  ru  r  r  r  r   r.   r  r  r  r  r  __static_attributes__r  r+   r(   r   r      s   18
#9(v?C"1&111':)1V*
1111)(V [[Yu6
2 7
21;1111 [[13<TU[[^^SEsCj9A3?^^S#JC:>AG	
1 V1 [[O_=u~N11+>1 [[A!*I6Cc<oN	
	1	1 [[i.n0MN114  [[Wudm47 57 [[Wudm4
 5
+ %7bii 72- [[-e}=- >- [[[4-8[[-e}=
- > 9
-1, [[6dE]T5ME5>Bq!f"nr2h7q!f"nr2h7c
$T$:T4LIc
$T$:T4LIu~s3'?#sL  )r{{1a0"++a2CDEQ"BKKB$78r{{2r2BKK14EFG	   +r{{34bkk#s6KLMS#&D$(?@r{{46C8MNO	 s#93/093/931OP93/0	'	
:1;:10$..!0 [[13<TU[[Wudm41 5 V1	1 [[UQ$451 61," [[Wx&9:. ;. [[UQH-. ..
1r+   r   )rK  numpyr   ra   pandas._configr   pandasr   pandas._testing_testingr   pandas.core.arraysr   r   r  r+   r(   <module>r     s&    	   5   ,`1 `1r+   