
    m*in}                     P    S SK r S SKrS SKrS SKrS SKJr  S SK	J
r
   " S S5      rg)    N)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/                  S\R@                  " S/SS/S 9S!/4\R@                  " SS/SS/S 9S!S"/4/5      S# 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"S.S/S-./ S0Q4/ S1QS2S3S4S1./ S5Q4/5      S6 5       r%\R,                  R/                  S7/ S-Q/ S8Q4/ S9Q/ S:Q4/5      S; 5       r&S< r'\R,                  R/                  S=SS/5      S> 5       r(\R,                  R/                  S=SS/5      S? 5       r)S@ r*SA r+SB\RX                  4SC jr-SD r.\R,                  R/                  SESS/5      SF 5       r/\R,                  R/                  SGSS/5      \R,                  R/                  SESS/5      SH 5       5       r0SI r1SJ r2\R,                  R/                  SKSLSS/SS0SS/4SMS!S"/SNSOSP.SNSO/4SQS!S"/SNSOSP.SNSO/4SRSSST/SUSVSW.SUSV/4SXSSST/SUSVSW.SUSV/4SYSZS[/S\S2S].S\S2/4\Rf                  " SM5      \4" \Rj                  " S!S"5      \Rj                  " S"S.5      /5      \Rj                  " S!S"5      \Rj                  " SNSO5      0\4" \Rj                  " SNSO5      \Rj                  " S"S.5      /5      4\Rf                  " SR5      \4" \Rj                  " S^S_5      \Rj                  " S`Sa5      /5      \Rj                  " S^S_5      \Rj                  " SbSc5      0\4" \Rj                  " SbSc5      \Rj                  " S`Sa5      /5      4\Rl                  " Sd5      \Rn                  " SeSdSf9/\Rn                  " SeSdSf9\Rn                  " SgSdSf90\Rn                  " SgSdSf9/4/	5      Sh 5       r8Si r9Sj r:Sk r;Sl r<\R,                  R/                  SmSS/5      Sn 5       r=\R,                  R/                  SmSS/5      So 5       r>Sp r?\R,                  R/                  SqS"\@R                  Sr/5      Ss 5       rBSt rC\R,                  R/                  SuSvSQ/5      Sw 5       rD\R,                  R/                  SqSxSy/5      Sz 5       rES{ rFS|rGg})~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        h/var/www/html/land-doc-ocr/venv/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   r@   rA   )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_replace4   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<   r3   )r   r   r   r-   infr   r   r   rF   NaTcopy)r"   r#   filleds      r'   test_replace_nan_with_inf+TestSeriesReplace.test_replace_nan_with_info   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   r3   )r3   r   r   r   r   )r   r   indexr   r   r   r   r-   rF   pytestraises
ValueError)r"   datetime_seriesr#   rQ   r$   s        r'   +test_replace_listlike_value_listlike_target=TestSeriesReplace.test_replace_listlike_value_listlike_targety   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   r3   PSeries.replace without 'value' and with non-dict-like 'to_replace' is deprecatedr>   )
r   r   r   r-   ffillr   rI   rJ   r   r   )r"   r#   r%   rQ   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:   r8   20120101r   20130103)	r   r   rH   rX   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   rW   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:   r8   r   r   r   r3   )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^   rg   r>   r]   )r   r   r   r   r3   Tr5   zVInvalid fill method\. Expecting pad \(ffill\) or backfill \(bfill\)\. Got crash_cymbal4The 'method' keyword in Series.replace is deprecatedcrash_cymbal)r6   method)r   r   r   rI   rJ   r   r   rX   r`   ra   rb   )r"   r#   msg2r$   rx   rN   rQ   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 )NTr5   )rX   r   r   r   )to_repvalr%   scr$   rN   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         @r3   r   )r   r   r   r   r   r3   r   r   r   rl   )r   r   r   r   Tr   Tz1/1/2001z	1/10/2001Dfreq)      ?r   r   )r   r   r   aranger,   rH   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"   rx   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"   rx   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   Tr5   )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)Nr2   r   r7   r8   r	   r:   r;   r4   r   r<   r   r   r=   r>   r   r@   rA   rB   Tr5   )r   r   r   rG   rC   rD   rE   rH   r   r-   r   rI   rJ   r   rK   rL   r   )r"   rM   r#   rQ   rP   rR   rN   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'r6   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   r3   r5   r   )r"   r6   r#   r%   r.   s        r'   test_replace_cascade&TestSeriesReplace.test_replace_cascadeM  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_dtypeZ  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"   rx   empty_seriess      r'    test_replace_with_empty_dictlike2TestSeriesReplace.test_replace_with_empty_dictlikea  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_numberi  @    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"   rx   r%   r$   s       r'   (test_replace_replacer_equals_replacement:TestSeriesReplace.test_replace_replacer_equals_replacementp  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_numberx  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   4r3   r:   r=   r>   r   r   r   r   r3   r:   )	r   r   r   rI   rJ   r   r   r-   r   )r"   rx   rQ   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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   rI   rJ   r   r   catr   add_categoriesr   )r"   categoricalnumericusing_infer_stringr#   rQ   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valuer6   r   r   r   rI   rJ   r   r   )r"   datadata_expr$   rQ   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r9   ru   r   r;   r   r   r>   Tr5   r   r   )r   rH   r   r   rX   r   r   remove_unused_categoriesr   rI   rJ   r   r   )	r"   dtirx   r   r%   rQ   r$   rN   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   r3   )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   r3   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   rO   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#   rO   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.*rg   r>   c                 "    U R                  5       $ r  )strip)r	  s    r'   <lambda>CTestSeriesReplace.test_replace_invalid_to_replace.<locals>.<lambda>  s
    r*   )	r   r   r`   ra   	TypeErrorr   rI   rJ   r   )r"   r  rQ   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_framer`   ra   rb   r   )r"   r  objrQ   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	   r3   r:   Tr5   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   r`   ra   rb   r   )r"   fixed_now_tsr#   r   r   rQ   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   r6   )r  r   rI   rJ   r   r   r   r   r
   r   r!   rX   )r"   r#   r&   msg1r.   r%   r   res_dfser2res2res_df2s              r'   _check_replace_with_method,TestSeriesReplace._check_replace_with_method2  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   r3   r	   )r   r    r   r   r2  )r"   any_numeric_ea_dtypearrr#   s       r'   !test_replace_ea_dtype_with_method3TestSeriesReplace.test_replace_ea_dtype_with_methodK  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 )Nr3   r   )r   IntervalIndexfrom_breaksranger   r   r2  )r"   r9  idxr#   s       r'   !test_replace_interval_with_method3TestSeriesReplace.test_replace_interval_with_methodQ  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   r@   r   )	r   rH   tz_localize	to_periodr   rW   r   r   r2  )r"   rA  r9  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  )rH  r   r   )r   r   recompiler   r   r   )r"   rx   r  r$   r%   s        r'    test_replace_with_compiled_regex2TestSeriesReplace.test_replace_with_compiled_regexj  sP    IIo&

5!E3<t499_-
v0r*   c           
      
   [         R                  " SSSSSS[         R                  S/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S9n[        R
                  " X45        g )NAABBCCDDEEr   stringr	   zCC-REPL)rO  rP  rS  rQ  TrI  r   r   r   r   r   r   )r"   r#   regex_mappingr$   rO   s        r'   test_pandas_replace_na(TestSeriesReplace.test_pandas_replace_nar  s     iitT4r255$GxX	
 ]$7ii4D$BEE4@
 	v+r*   z,dtype, input_data, to_replace, expected_databoolr   r   r   )r   r   r'  r  皙?皙@g333333$@g     4@)rZ  r[  Float64rT  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   rT  r	   r   r   r   r   r   )r   r   r   r-   r   r   r   r   )
r"   r#   r.   r%   r/  r0  	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defrT  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   rT  r	   .CTrI  r   rn  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      "@rw  g      $@r   r   )r   r   r   r3   r   zInvalid valuer>   g      #@)	r   r   Float64Dtyper   r
   
Int64Dtyper`   ra   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r  c                     [         R                  " S/[        S9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   rI   rJ   r   r   r"   r  r  r%   rQ   r$   s         r'   test_replace_regex_dtype_series1TestSeriesReplace.test_replace_regex_dtype_series  sn     C5/99aS>1''SA^^s!5^IF B
vx0 BAs   A??
Bc                    [         R                  " S/SS9n[         R                  " S/SS9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)	Nr  strr	   r   r   r=   r>   r  r   r  s         r'   &test_replace_regex_dtype_series_string8TestSeriesReplace.test_replace_regex_dtype_series_string  so    C5.99aS0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   rw  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                 x   [         R                  " S/ SQ0[        S9nUS   R                  S/[        R
                  /5      US'   [         R                  " SS[        R
                  S/0[        S9n[        R                  " X5        [         R                  " S/ SQ0[        S9nUS   R                  S /[        R
                  /5      US'   [        R                  " X5        [         R                  " S/ SQ0[        S9nUS   R                  [        R
                  5      US'   [        R                  " X5        g )NTest)0.5T0.6r	   Tr  r  )r  Nr  )	r   r   r   r   r   r-   r   r!   rF   )r"   r&   r%   s      r'    test_replace_change_dtype_series2TestSeriesReplace.test_replace_change_dtype_series  s    \\6#78GZ''96
<<%)? @O
b+\\6#78GZ''96

b+\\6#78GZ&&rvv.6

b+r*   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   ry  Tr   rU  )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   ry  Tr   rU  )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   rX   r   r   r   rp   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)H__name__
__module____qualname____firstlineno__r(   r/   rS   rZ   rd   ri   rq   ry   r~   r   r   r   r   r   r   r   r   r`   markparametrizer   r   r   r   r   r   r   r   Categoricalr   r   r   r  r  r  r  r  r   r$  r)  r   r2  r7  r?  rE  rL  rW  IntervalDtyper   IntervalPeriodDtypePeriodra  rh  ro  rt  r~  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 [[^^SEsCj9A3?^^S#JC:>AG	
1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 [[Wudm41 51 [[Wudm41 51	1 [[UQ$451 61, [[Wx&9:. ;. [[UQH-. ..
1r*   r   )rJ  numpyr   r`   pandasr   pandas._testing_testingr   pandas.core.arraysr   r   r  r*   r'   <module>r     s#    	     ,h1 h1r*   