+
    xȇig                        ^ RI Ht ^ RIHt ^ RIt^ RIt^ RIt^ RIHu H	t
 ^ RIt^ RIHtHtHtHtHt ^ RIHt ]P*                  R R l4       t]P*                  R R l4       t ! R	 R
4      t ! R R4      tR# )    )annotations)datetimeN)	DataFrameIndexSeries	Timestamp
date_rangec                   V ^8  d   QhRR/# )   returnzdict[str, list[int | str]] )formats   "w/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/frame/methods/test_replace.py__annotate__r      s     4 4* 4    c                 D    R \        \        ^4      4      R\        R4      /# )abab..)listranger   r   r   mix_abr      s    eAhd6l33r   c                   V ^8  d   QhRR/# )r   r   zdict[str, list[float | str]]r   )r   s   "r   r   r      s     R R- Rr   c            	     l    R \        \        ^4      4      R\        R4      RR R\        P                  R./# )r   r   r   cd)r   r   npnanr   r   r   mix_abcr      s.    eAhd6lC#sBFFC9PQQr   c                  b   ] tR t^ tR t]P                  P                  RRR.]P                  R.RRR]P                  ]P                  .RR.^,          R.,           R	. RO/3R
R.RR.R. ROR. ROR	. RO/3R
R.RR.R. ROR. ROR	. RO/3.4      ]P                  P                  RRR.4      ]P                  P                  RRR.4      R 4       4       4       t
R tR tR tR tR tR tR tR tR tR tR t]P                  P                  RR ]P                  R!R /R!R R ]P                  /.4      R" 4       t]P                  P                  R#. RO4      R$ 4       t]P                  P                  R%R&R'.RR	RR(/R)R*.3. ROR+]P2                  /R(]P2                  ]P2                  .3.4      R, 4       tR- tR. tR/ tR0 tR1 tR2 t R3 t!R4 t"R5 t#R6 t$R7 t%]P                  P                  R8. RO4      R; 4       t&R< t'R= t(R> t)R? t*R@ t+RA t,RB t-RC t.]P                  P                  RD]/! RE. RO/4      ^^ ]/! RE. RO/4      3]/! RE. RO/]P`                  RF7      ^^ ]/! RE. RO/]P`                  RF7      3]/! RE. RO/]Pb                  RF7      ^^ ]/! RE. RO/]Pb                  RF7      3]/! RG. RO/4      RR]/! RG. RO/4      3]/! RH. RO/4      RI^ ]/! RH. RO/4      3]/! RJ]2! ]3! RK^^4      ]3! RK^^4      ]3! RK^^4      .4      /4      ]3! RK^^4      ]3! RK^^4      ]/! RJ]2! ]3! RK^^4      .^,          4      /4      3]/! RL]3! RM^^4      .RNRO./4      RORP]/! RL]3! RM^^4      .RNRP./4      3]/! RQ]4! RR^RSRTRU7      RV^ ]P                  ^./4      ]5! RWRSRX7      ]5! RYRSRX7      ]/! RQ]Pl                  ! ]5! RRRSRX7      ]5! RYRSRX7      ]5! RZRSRX7      .4      Po                  RT4      RV^ ]P                  ^./4      3]/! ^R[.^R\..4      R[^]/! ^R].^R\..4      3]/! ^R[.^R\..4      ^^]/! ^R].^R\..4      3]/! ^R[.^R\..4      R[R]]/! ^R].^R\..4      3]/! ^R[.^R\..4      ^R]]/! ^R].^R\..4      3.4      R^ 4       t8R_ t9R` t:Ra t;Rb t<Rc t=Rd t>Re t?Rf t@Rg tARh tBRi tCRj tDRk tERl tFRm tGRn tHRo tIRp tJ]P                  P                  RqRr. RORs. RO/^^^^^^/Rr. RORs. RO/3Rr. RORs. RO/RtRuRuRvRvRw/Rr. RORs. RO/3.4      Rx 4       tK]P                  P                  Ry]5! Rz4      ]P                  ! ^4      ]Pb                  ! ^4      ]P                  ! ^4      ]P                  ! ^4      .4      R{ 4       tOR| tPR} tQ]P                  P                  R8. RO4      ]P                  P                  R~]P                  ]P2                  .4      R 4       4       tR]P                  P                  R]P                  ^.4      R 4       tS]P                  P                  R~]P                  ! R4      ]P                  ! ^ ^4      .4      R 4       tV]P                  P                  RR^R^/^^.^^..3R^R^/^^.^^..3.4      R 4       tWR tXR tYR tZR t[R t\R t]]P                  P                  R^.R[.^ .^ .3^.^.^ .^ .3R[.R[.^ .R.3R[.^.^ .R.3.4      ]P                  P                  R]^]_]P                  .4      R 4       4       ta]P                  P                  R^]P                  R\.4      R 4       tbR tc]P                  P                  R8R:]P                  ! R]eP                  ! R4      R7      .4      R 4       tg]P                  P                  R8R9]P                  ! R]eP                  ! R4      R7      .4      R 4       thRtiR# )TestDataFrameReplacec                	   \         P                  VP                  VP                  R ,          R3&   \         P                  VP                  VP                  RR R3&   VP	                  4       pVP                  \         P                  ^ RR7      pWCJ g   Q h\        P                  ! W1P                  ^ 4      4       Tp\         P                  VP                  RVP                  P                  R4      3&   \         P                  VP                  R	R1VP                  P                  R4      3&   VP                  \         P                  ^ 4      pVP	                  4       pVR,          P                  \        4      VR&   VP                  ^ R7      p\        P                  ! WF4       VP	                  4       pVP                  \         P                  .^ .RR7      pWCJ g   Q h\        P                  ! W1P                  ^ 4      4       R# )
N   NANTinplacer$      Nfoovalue)r   r   locindexcopyreplacetmassert_frame_equalfillnailoccolumnsget_locastypeobject)selfdatetime_framefloat_string_frametsframeresultmfexpecteds   &&&    r   test_replace_inplace)TestDataFrameReplace.test_replace_inplace!   s   <>FF>//3S89=?VV>//4c9: %%'D9   
g'<'<Q'?@  3566bjj((//013bjj((--.#++BFFA6%**,"5/008???+
f/ %%'"&&A3=   
g'<'<Q'?@r   zto_replace,values,expected\s*\.\s*ze|f|gcrapr   r   hr   
\s*(\.)\s*z(e|f|g)\1\1\1_craper'   TFuse_value_regex_argsc           
     	   \        R \        R4      R\        R4      R\        R4      /4      pV'       d   VP                  W!VR7      pMVP                  WRVR7      pV'       d   WvJ g   Q h\        V4      p\        P                  ! Ws4       R	# )
r   r   r   efghr   helo)r,   regexr'   TrO   r'   N)r   r   r2   r3   r4   )r;   
to_replacevaluesrA   r'   rK   dfr?   s   &&&&&&  r   test_regex_replace_list_obj0TestDataFrameReplace.test_regex_replace_list_obj:   sv    T T&\3Vc4<PQZZfZPFZZ
$ZPF<<X&
f/r   c           	     	0   \        V4      pR R.p\        P                  R.pR\        \	        ^4      4      R\        R4      R\        R4      /p\        V4      pVP                  W4RR7      p\        RVR,          RRR\        P                  \        P                  .R. RO/4      p\        P                  ! Wx4       R	R
.pRR.pVP                  W4RR7      p\        RVR,          R. RO/4      p\        P                  ! Wx4       . ROp. ROpVP                  W4RR7      p\        RVR,          R. RO/4      p\        P                  ! Wx4       . ROp. ROpVP                  W4R7      p\        RVR,          R. RO/4      p\        P                  ! Wx4       R# )rD   r   rE   r   r   r   haloTrO   rG   (a|b)rH   rI   rO   r,   NrF   rE   loa_crapb_crap..ra   rG   r   z(b)rH   rE   rI   rE   r`   ra   ra   )r   r   r   r   r   r2   r3   r4   )	r;   r   dfmixto_replace_resrR   mix2dfmix2resexpecs	   &&       r   test_regex_replace_list_mixed2TestDataFrameReplace.test_regex_replace_list_mixedq   sy   &! &t,&&&!T%(^S$v,T&\J4nn^4n@T#Yfc2662662,
 	c) (2:&mmN$m?3sS2RST
c) 7/mmN$m?3sS2PQR
c)6/mm.m?3sS2PQR
c)r   c           	     	z   \        V4      pR R.p\        P                  R.pVP                  4       pVP	                  W4RRR7      pWeJ g   Q h\        RVR,          RRR\        P                  \        P                  ./4      p\
        P                  ! WW4       RR.pRR	.pVP                  4       pVP	                  W4RRR7      pWeJ g   Q h\        RVR,          R. RO/4      p\
        P                  ! WW4       . ROp. ROpVP                  4       pVP	                  W4RRR7      pWeJ g   Q h\        RVR,          R. RO/4      p\
        P                  ! WW4       . ROp. ROpVP                  4       pVP	                  W4RR
7      pWeJ g   Q h\        RVR,          R. RO/4      p\
        P                  ! WW4       R# )rD   r   rE   Tr'   rO   r   rG   rY   rH   rI   rO   r,   r'   Nr^   rb   rc   rd   )r   r   r   r1   r2   r3   r4   )r;   r   re   rf   rR   ri   r?   rj   s   &&      r   %test_regex_replace_list_mixed_inplace:TestDataFrameReplace.test_regex_replace_list_mixed_inplace   s   &! &t,&&&!jjl^TN}}3sS632OPQ
c) (2:&jjl^TN}}3sS2RST
c) 7/jjl^TN}}3sS2PQR
c)6/jjl>N}}3sS2PQR
c)r   c           	     	   \        V4      pVP                  R R/R \        P                  /RR7      pVP	                  4       pVP                  R R/R \        P                  /RRR7      pWTJ g   Q h\        RVR,          R RR \        P                  \        P                  .RVR,          /4      p\
        P                  ! W64       \
        P                  ! WF4       VP                  R R/R R/RR7      pVP	                  4       pVP                  R R/R R/RRR7      pWTJ g   Q h\        RVR,          R . RORVR,          /4      p\
        P                  ! W64       \
        P                  ! WF4       VP                  R R/R R/R	7      pVP	                  4       pVP                  R R/R R/RR
7      pWTJ g   Q h\        RVR,          R . RORVR,          /4      p\
        P                  ! W64       \
        P                  ! WF4       \        RVR,          R \        P                  R RR.RVR,          /4      pVP                  RR \        P                  /RR7      pVP	                  4       pVP                  RR \        P                  /RRR7      pWTJ g   Q h\
        P                  ! W64       \
        P                  ! WF4       VP                  RR \        P                  /RR7      pVP	                  4       pVP                  RR \        P                  /RR
7      pWTJ g   Q h\        RVR,          R \        P                  R RR.RVR,          /4      p\
        P                  ! W64       \
        P                  ! WF4       R# )r   rD   TrX   rn   r   r   rG   z\1tyrZ   ro   .rP   N)r   r   .tyrt   r   r2   r   r   r1   r3   r4   )r;   r   re   ri   res2r?   rj   s   &&     r   test_regex_replace_dict_mixed2TestDataFrameReplace.test_regex_replace_dict_mixed   s*   '" mmS+.bffTmJzz|+bfft4  
 ~~'#,c3%?gclS
 	c)
d* mmS-03.mMzz|- 3.$d  
 ~~'#,%=sGCLQ
 	c)
d*mm3"6sGnmMzz|&sGnd  
 ~~'#,%=sGCLQ
 	c)
d* '#,bffc3%<c73<P
 mmC#rvvdm;zz|cC=dK~~
c)
d*mmC#rvvdm;zz|CRVV}dK~~'#,bffc3%<c73<P
 	c)
d*r   c           	     	   \        V4      pVP                  R R\        P                  //RR7      pVP	                  4       pVP	                  4       pVP                  R R\        P                  //RRR7      pWdJ g   Q hVP                  R R\        P                  //R7      pVP                  R R\        P                  //RR7      pWeJ g   Q h\        RVR,          R RR \        P                  \        P                  .RVR,          /4      p\
        P                  ! W84       \
        P                  ! WH4       \
        P                  ! Wx4       \
        P                  ! WX4       R# )	r   rD   TrX   rn   rP   r   r   Nru   )	r;   r   re   ri   rv   res4r?   res3rj   s	   &&       r   test_regex_replace_dict_nested3TestDataFrameReplace.test_regex_replace_dict_nested  s$   '"mmS;"78mEzz|zz|s["&&$9:DPTU~~}}C+rvv)>#?}@S;*?$@$O~~'#,c3%?gclS
 	c)
d*
d*
d*r   c                	    Tp\        R . RO/VR7      pVP                  RR/RR7      p\        R . RO/VR7      p\        P                  ! WV4       R# )	firstdtyper   rs   TrX   N)abcbcacab)z.bczbc.zc.br   r2   r3   r4   )r;   any_string_dtypeusing_infer_stringr   rS   r?   rA   s   &&&    r   2test_regex_replace_dict_nested_non_first_characterGTestDataFrameReplace.test_regex_replace_dict_nested_non_first_character  sQ     !!67uES#Jd3g'<=UK
f/r   c                	    \        R \        . RO\        R7      R^/4      p\        R \        . RO\        R7      R^/4      pVP                  R R^ R^//4      p\        P
                  ! W24       R# )TypeQTr   tmpN)r   r   r   r   r   )r      r   r   r   )r   r   r:   r2   r3   r4   r;   rS   rA   r?   s   &   r   %test_regex_replace_dict_nested_gh4115:TestDataFrameReplace.test_regex_replace_dict_nested_gh4115$  sg    V5VDeQO
 ff_F&KUTUVWVc1c1%567
f/r   c                	   \        V4      p\        R VR ,          R\        \        P                  .^,          RR7      R\        P                  \        P                  \        P                  R./4      pVP	                  RR.\        P                  RR	7      pVP                  4       pVP                  4       pVP	                  RR.\        P                  RRR
7      pWuJ g   Q hVP	                  RR.\        P                  RR7      pWvJ g   Q h\        P                  ! WC4       \        P                  ! WS4       \        P                  ! Wc4       R# )r   r   strr   r   r   rD   za|bTrX   rP   ro   Nr   r   r   r   r2   r1   r3   r4   )r;   r   rS   rj   ri   rv   r{   r?   s   &&      r   !test_regex_replace_list_to_scalar6TestDataFrameReplace.test_regex_replace_list_to_scalar,  s   wWS\VRVVHqL6bffbffbffc2
 jj+u-rvvTjBwwywwy{E2BFF$PTU~~[%$8PTU~~
c)
d*
d*r   c           	     	   \        V4      pVP                  R ^ RR7      pVP                  4       pVP                  R ^ RRR7      pWTJ g   Q hVP                  4       pVP                  R ^ RR7      pWVJ g   Q h\        RVR,          R. R	ORVR,          /4      pVR,          P                  \        4      VR&   \
        P                  ! W74       \
        P                  ! WG4       \
        P                  ! Wg4       R# )
rD   TrX   rn   ro   r   r   r   N)r   r   r   r   )r   r2   r1   r9   r:   r3   r4   r;   r   rS   ri   rv   r?   r{   rj   s   &&      r   !test_regex_replace_str_to_numeric6TestDataFrameReplace.test_regex_replace_str_to_numericA  s    wjjatj4wwyk1d$G~~wwyKq$G~~3c3CS'RU,WX3Z&&v.c

c)
d*
d*r   c                	   \        V4      pVP                  R R.^ RR7      pVP                  4       pVP                  R R.^ RRR7      pWTJ g   Q hVP                  4       pVP                  R R.^ RR7      pWVJ g   Q h\        RVR,          R. R
ORR^ \        P                  R./4      p\
        P                  ! W74       \
        P                  ! WG4       \
        P                  ! Wg4       R	# )rD   r   TrX   rP   ro   r   r   r   N)r   r   r   r   )r   r2   r1   r   r   r3   r4   r   s   &&      r   (test_regex_replace_regex_list_to_numeric=TestDataFrameReplace.test_regex_replace_regex_list_to_numericQ  s    wjj+s+Qdj;wwy{C0!4N~~wwy[#$6aN~~'#,^S32663:OP
 	c)
d*
d*r   c           	     	>   \        V4      p\        R R/4      p\        R \        P                  /4      pVP	                  W4RR7      pVP                  4       pVP	                  W4RRR7      pWvJ g   Q hVP                  4       pVP	                  W4RR7      pWxJ g   Q h\        RVR,          R RR \        P                  \        P                  .RVR,          /4      p	\        P                  ! WY4       \        P                  ! Wi4       \        P                  ! W4       R# )	r   rD   TrX   rn   ro   r   r   Nr   )
r;   r   rS   s1s2ri   rv   r?   r{   rj   s
   &&        r   $test_regex_replace_series_of_regexes9TestDataFrameReplace.test_regex_replace_series_of_regexesa  s    wS+&'S"&&M"jjtj,wwybd$?~~wwyB$?~~'#,c3%?gclS
 	c)
d*
d*r   c           	     	   \        V4      p\        R . RORVR,          RVR,          /4      pVP                  ^ R 4      p\        P                  ! WC4       VP                  P
                  \        P                  8X  g   Q hR# )r   r   r   N)r   r   r      )r   r2   r3   r4   r   r   r   object_)r;   r   rS   rj   ri   s   &&   r   /test_regex_replace_numeric_to_object_conversionDTestDataFrameReplace.test_regex_replace_numeric_to_object_conversions  sd    w3WS\3PSUVjjC 
c)uu{{bjj(((r   rQ    ,c           	     	    \        R . ROR. ROR. R	O/4      pVP                  VR7      p\        R . R
ORR\        P                  R.R. R	O/4      p\        P
                  ! W44       R# )col1r   col2r   col3rX   N)z1,000r   3)r   r   r   r   r   r   )1000r   r   r   r2   r   r   r3   r4   )r;   rQ   rS   r?   rA   s   &&   r   +test_joint_simple_replace_and_regex_replace@TestDataFrameReplace.test_joint_simple_replace_and_regex_replacez  so    
 +
 *-*bffc*
 	f/r   metacharc                	    \        R VR./4      pVP                  R VR//4      p\        R RR./4      p\        P                  ! W44       R# )r   elseparenNr   )r;   r   rS   r?   rA   s   &&   r   test_replace_regex_metachar0TestDataFrameReplace.test_replace_regex_metachar  sP    h/01S8W"567cGV#456
f/r   zdata,to_replace,expectedxaxxbxr   xcxxdx^\s*$c                	    TpV! WR 7      p	V	P                  VRR7      p
V! W8R 7      p\        P                  ! W4       R# )r   TrX   Nr2   r3   assert_equal)r;   datarQ   rA   frame_or_seriesr   r   requestr   objr?   s   &&&&&&&&   r   test_regex_replace_string_types4TestDataFrameReplace.test_regex_replace_string_types  s;    $ !d0Zt4"89
)r   c                	   \         P                  VP                  VP                  R ,          R3&   \         P                  VP                  VP                  R
R R3&   VP	                  \         P                  R4      p\
        P                  ! W!P                  R4      4       \
        P                  ! VP	                  R\         P                  4      V4       \         P                  VP                  VP                  R ,          R3&   \         P                  VP                  VP                  R
R R3&   RVP                  VP                  R ,          R3&   \        RR.R7      p\
        P                  ! W3P	                  ^^4      4       \        R\        P                  ! R4      3R\        P                  ! R	4      3.4      pVP	                  R\         P                  4      p\        \         P                  \        P                  ! R4      3R\        P                  ! R	4      3.4      p\
        P                  ! WE4       R# )r#   r%   NBr   r   r0   -2015010120150102r-       ח)r   r   r/   r0   r2   r3   r4   r5   r   pdto_datetime)r;   r<   zero_filledrS   df1expected_dfs   &&    r   test_replace!TestDataFrameReplace.test_replace  s   <>FF>//3S89=?VV>//4c9:$,,RVVT:
k+@+@+FG
k11$?P<>FF>//3S89=?VV>//4c9:<@>//3S89 c3Z(
b**Q"23 2>>*-.bnnZ6P0QR
 jjbff%ffbnnZ01C
9S3TU
 	c/r   c           	     	   R \        R4      R\        R4      R\        R4      /p\        V4      pRR.p\        P                  R.pVP	                  W44      p\        R R R\        P                  \        P                  .R. ROR. RO/4      p\
        P                  ! WV4       RR	.pR
R.pVP	                  W44      p\        R . ROR. ROR. RO/4      p\
        P                  ! WV4       R# )r   r   r   rM   r   rN   rs   rJ   rE   fra   NrE   r   grF   r[   r   r   ra   ra   )rJ   rE   r   rF   )rF   rJ   r\   r]   )r   r   r   r   r2   r3   r4   )r;   r   dfobjrf   rR   ri   rj   s   &      r   test_replace_list&TestDataFrameReplace.test_replace_list  s    DL#tF|S$v,G# &&&!mmN3c3/,,
 	c) !mmN3+,)
 	c)r   c                	   \        R R.. \        P                  ^..4      p\        RV/4      p\        P
                  ! W14      pTpVP                  . \        P                  4      p\        P                  ! WT4       Rp\        P                  ! \        VP                  ^ R7      R7      ;_uu_ 4        VP                  \        P                  . /4       RRR4       \        P                  ! \        VP                  ^R7      R7      ;_uu_ 4        VP                  \        P                  RR./4       RRR4       R#   + '       g   i     Lr; i  + '       g   i     R# ; i)	r   r   colzwNumPy boolean array indexing assignment cannot assign {size} input values to the 1 output values where the mask is true)sizematchNdummyalt)r   r   r   r   r3   get_objr2   r   pytestraises
ValueErrorr   )r;   r   serr   rA   r?   msgs   &&     r   test_replace_with_empty_list1TestDataFrameReplace.test_replace_with_empty_list  s    sCj"bffqc23%jj.R(
)I 	 ]]:SZZQZ-?@@KK% A]]:SZZQZ-?@@KK'5!123 A@ A@@@@s   2"D>$E>E	E"	c           	     	b   \        R RRR^/RRRR^ //4      pVP                  ^ R RRR/4      p\        R RRR^/RRRRR//4      p\        P                  ! W#4       VP                  ^ VP	                  4       4      p\        P                  ! W#4       \        R RRR^/RRRR^ //4      p\        R RRR/4      pVP                  VR RRR/4      p\        R RRR^/RRRRR//4      p\        P                  ! W#4       VP                  WAP	                  4       4      p\        P                  ! W#4       R# )	zeror           r   one       @      ?      ?N)r   r2   r3   r4   meanr   )r;   rS   r?   rA   ss   &    r   test_replace_series_dict-TestDataFrameReplace.test_replace_series_dict  sA   c3 2ECc1;MNOAUC89fsCa&8%#sCQTAUVW
f/Arwwy)
f/ c3 2ECc1;MNOFC,-AUC89fsCa&8%#sCQTAUVW
f/Awwy)
f/r   c                	    \        . RO. RO.VR7      pR ^R^R^/pVP                  V4      pVP                  \        8H  P	                  4       '       g   Q hR# )r*   barbahr   N)r*   r   r   )r   r*   r   )r   r2   dtypesr:   all)r;   r   rS   mreps   &&   r   test_replace_convert)TestDataFrameReplace.test_replace_convert  sW    "$9:BR
 Aua*jjm

f$))++++r   c                	Z   Tp\         P                  VP                  R VP                  P	                  R4      3&   \         P                  VP                  RR1VP                  P	                  R4      3&   VP                  \         P                  R4      pVP                  4       pVR,          P                  \        4      VR&   VP                  RR7      p\        P                  ! W44       VP                  4       pVR,          P                  \        4      VR&   \        P                  ! VP                  R\         P                  4      V4       VP                  \         P                  R4      pVP                  4       pVR,          P                  \        4      VR&   VP                  RR7      p\        P                  ! W44       VP                  4       pVR,          P                  \        4      VR&   \        P                  ! VP                  R\         P                  4      V4       R# )r(   r*   Nr%   r+   r.   ir   )r   r   r6   r7   r8   r2   r1   r9   r:   r5   r3   r4   )r;   r=   r@   r?   rA   	expected2s   &&    r   test_replace_mixed'TestDataFrameReplace.test_replace_mixed  s   3566bjj((//013bjj((--.#++BFFC8%**,"5/008???-
f/&++-	$U+226:	%
fnnS"&&99E#++BFFD9%**,"5/008???.
f/&++-	$U+226:	%
fnnT266:IFr   c           
     	\   \        R \        RR.RR7      R\        ^ ^.RR7      /4      p\        R \        RR.RR7      R\        R^.RR7      /4      pVP                  ^ R4      p\        P                  ! W24       VP                  ^ RRR	7      pW1J g   Q h\        P                  ! W4       R
# )r%   r   r   float64r   r   int64r   Tr&   Nr   r   r2   r3   r4   r   s   &   r   &test_replace_mixed_int_block_upcasting;TestDataFrameReplace.test_replace_mixed_int_block_upcasting1  s    VS#Ji8VQF'2
 VS#Ji8VS!HI6
 As#
f/AsD1||
b+r   c                	6   \        R \        RR.RR7      R\        ^ ^.RR7      R\        ^^.RR7      /4      p\        R \        RR.RR7      R\        R^.RR7      R\        ^^.RR7      /4      pVP                  ^ R4      p\        P                  ! W24       R	# )
r%   r   r   r  r   r   r  Cr   Nr	  r   s   &   r   &test_replace_mixed_int_block_splitting;TestDataFrameReplace.test_replace_mixed_int_block_splittingF  s    VS#Ji8VQF'2VQF'2
 VS#Ji8VS!HI6VQF'2
 As#
f/r   c           
     	   \        R \        RR.RR7      R\        ^ ^.RR7      /4      p\        R \        ^R.RR7      R\        ^ ^.RR7      /4      pVP                  ^R4      p\        P                  ! W24       \        R \        RR	.RR7      R\        ^ R.RR7      /4      pVP                  ^^.RR	.4      p\        P                  ! W24       R
# )r%   r   r   r  r   r   r  r*   r:   r   Nr	  r   s   &   r   test_replace_mixed2(TestDataFrameReplace.test_replace_mixed2Y  s    VS#Ji8VQF'2
 VQJh7VQF'2
 Au%
f/VUEN(;VQJh7
 QFUEN3
f/r   c           
     	   \        R \        ^^ .RR7      R\        ^ ^.RR7      /4      pVP                  ^VP                  4       P	                  4       4      pVP                  4       P                  R4      pVP                  4       pVP                  ^ ,          VP                  R&   VP                  ^,          VP                  R&   \        P                  ! W#4       R# )r%   r  r   r   r  Nr   r   r   r   )
r   r   r2   r   to_dictr1   r9   r6   r3   r4   )r;   rS   r?   rA   r   s   &    r   test_replace_mixed3(TestDataFrameReplace.test_replace_mixed3s  s    &!Qw/faV76ST
 Arwwy0023779##I.GGIffQidffQid
f/r   c                	   \        R ^^^\        P                  .R. RO/4      pVR ,          P                  R4      VR &   VP	                  R\
        P                  4      p\        P                  ! VR ,          VR ,          4       R# )r   r   Int64r   N)somestringsherehe)	r   r   NAr9   r2   r   r   r3   assert_series_equalr;   rS   ri   s   &  r   1test_replace_nullable_int_with_string_doesnt_castFTestDataFrameReplace.test_replace_nullable_int_with_string_doesnt_cast  se    aAruu-s4UVWS'..)3jjRVV$
s3xC1r   r   r  Float64c                	    \        . ROVR7      p\        R. RORV/4      pVP                  RR4      p\        R. R	ORV/4      p\        P                  ! WE4       R# )
r   r   r%   r   xXN)r   r   r   )r%   r   r&  )r%   r   r'  r   r   r2   r3   r4   )r;   r   nullable_serrS   r?   rA   s   &&    r   !test_replace_with_nullable_column6TestDataFrameReplace.test_replace_with_nullable_column  sT     iu5_c<@AC%c?CFG
f/r   c                	   \        R \        ^^4      /4      p\        R . RO/4      pVP                  R ^R^R//4      p\        P                  ! W#4       VP                  ^R^R/4      p\        P                  ! W#4       R# )r   r   r   Nr   r   r   r   r   r   r2   r3   r4   r   s   &   r   test_replace_simple_nested_dict4TestDataFrameReplace.test_replace_simple_nested_dict  sx    uQ{+,e%567UQQ$456
h/ QQ,-
h/r   c           	     	
   \        R \        ^^4      /4      p\        R . RO/4      pVP                  RR^R^R/4      p\        P                  ! W#4       VP                  R RR^R^R//4      p\        P                  ! W#4       R# )r   r   r   r   Nr-  r.  r   s   &   r   6test_replace_simple_nested_dict_with_nonexistent_valueKTestDataFrameReplace.test_replace_simple_nested_dict_with_nonexistent_value  s~    uQ{+,e%567Raa56
h/URaa$=>?
h/r   c                	    \        R ^*\        P                  ./RR7      pVP                  \        P                  R/4      p\        R ^*R./\        R7      p\
        P                  ! W#4       R# )r,   r  r   N)r   r   r  r2   r:   r3   r4   r;   rS   r?   rA   s   &   r   test_replace_NA_with_None.TestDataFrameReplace.test_replace_NA_with_None  sT    "bee-W=RUUDM*gDz2&A
f/r   c                	    \        \        P                  \        P                  .4      pVP                  \        P                  R \        P
                  R /4      p\        R R .4      p\        P                  ! W#4       R # N)r   r   NaTr2   r   r   r3   r4   r6  s   &   r   test_replace_NAT_with_None/TestDataFrameReplace.test_replace_NAT_with_None  sT    '(RVVT266489dD\*
f/r   c                	    \        . RORR7      p\        R\        . R	ORR7      RV/4      pVP                  ^R/4      p\        R\        . R
ORR7      RV/4      p\        P                  ! W44       R# )r   categoryr   idr  r   Nr:   )r   r   r   r   )r$      r   r   )      @g      @Nr   r(  )r;   
cat_seriesrS   r?   rA   s   &    r   (test_replace_with_None_keeps_categorical=TestDataFrameReplace.test_replace_with_None_keeps_categorical  st    0
C
f\;z
 QI&f2(Cz
 	f/r   c                	    \        R R.RR./4      pTP                  VP                   Uu/ uF  q"RR/bK	  	  upRR7      p\        R R.RR./4      p\        P                  ! W44       R# u upi )	tickerz#1234#nameNz^#$TrX   z$1234#)r   r2   r7   r3   r4   )r;   rS   r   r?   rA   s   &    r   test_replace_all_NA(TestDataFrameReplace.test_replace_all_NA  sp    8*ftf=>"**E*35#,.*ETRh
FTFCD
f/ Fs   A*c                	   VP                   R,          pVP                   R,          p\        P                  VP                   R&   ^VP                   R&   VP                  \        P                  ^ /R7      pVP                  P                  \        P                  ^ /R7      P                  p\
        P                  ! WE4       VP                  \        P                  ^ ^R/R7      pVP                  4       p^ VP                   R&   RVP                   R&   Tp\
        P                  ! WT4       W!P                   R&   W1P                   R&   R# )r   rQ   Nr  r   r   r   )r6   r   r   r2   r   r3   r4   r1   )r;   r<   
orig_valueorig2r?   rA   r>   s   &&     r   test_replace_value_is_none/TestDataFrameReplace.test_replace_value_is_none  s   #((.
##D)$&FFD!$%D!''BFFA;'?!##++{+CEE
f/''BFFAq$3G'H %%'T!T
h/$.D!$)D!r   c                	$   VP                  4       P                  \        P                  4      p\        P                  VP
                  VP                  R ,          R3&   \        P                  VP
                  VP                  RR R3&   VP                  \        P                  R4      p\        P                  ! W2P                  R4      4       \        P                  ! VP                  R\        P                  4      V4       \        P                  VP
                  VP                  R ,          R3&   \        P                  VP
                  VP                  RR R3&   \        P                  VP
                  VP                  R ,          R3&   R# )r#   r%   Nr   r-   r   )r1   r9   r   float32r   r/   r0   r2   r3   r4   r5   )r;   r<   r>   r   s   &&  r   test_replace_for_new_dtypes0TestDataFrameReplace.test_replace_for_new_dtypes  s    %%'..rzz:.0ffGMM"%s*+/1vvGMM"#&+,oobffd3
k>>$+?@
k11$?I.0ffGMM"%s*+/1vvGMM"#&+,.0ffGMM"%s*+r   z"frame, to_replace, value, expectedintsr   boolscomplex              ?
datetime64i  dti  r   r*   r   r%   20130101
US/Easternnsperiodstzunitr   20130102rb  2013010420130103r   r   rB  c                	T    VP                  W#4      p\        P                  ! WT4       R # r:  )r2   r3   r4   )r;   framerQ   r,   rA   r?   s   &&&&& r   test_replace_dtypes(TestDataFrameReplace.test_replace_dtypes  s!    N z1
f/r   c           
     	   R \         P                  R^ RR/pR ^ RRRR/p\        R \         P                  ^ \         P                  .R. ROR. RO/4      pVP	                  W4      pVP                  4        UUu/ uF#  w  rVWVP	                  W,          W%,          4      bK%  	  ppp\        P                  ! V\        V4      4       VP	                  . RO. RO4      p\        R \         P                  ^\         P                  .R. ROR. RO/4      p\        P                  ! W4       R ^ RRRR/p\        R \         P                  ^ \         P                  .R. ROR. RO/4      pVP	                  \         P                  V4      pVP                  4        UUu/ uF+  w  rVWVP	                  \         P                  W%,          4      bK-  	  ppp\        P                  ! V\        V4      4       \         P                  ^ R.p. ROpVP	                  W4      pVP                  4       p\        W4       F  w  rVP	                  WRR7      pWJ d   K  Q h	  \        P                  ! W4       Rp\        P                  ! \        VR7      ;_uu_ 4        VP	                  WR	,          4       R
R
R
4       R
# u uppi u uppi   + '       g   i     R
# ; i)r%   r   r  r   missingTr&   z:Replacement lists must match in length\. Expecting 3 got 2r   :r   NNNr2  r   r   r$   r   asdffd)r$   r   r   )r2  rm  )r   r   r   infr2   itemsr3   r4   r1   zipr   r   r   )r;   to_reprR   rS   filledkvrA   r?   r   r,   r   s   &           r   #test_replace_input_formats_listlike8TestDataFrameReplace.test_replace_input_formats_listlikeY  sA   rvvsAsB/q#r3	22661bff%sIs<NO
 F+CE88:N:41AyyFI66:N
fi&9:Iy12661bff%sIs<NO
 	f/ q#r3	22661bff%sIs<NO
 BFFF+@B
K
Ayy33
K
fi&9: &&!R$F+779f-JC%%c$%?F%%% . 	f/K]]:S11JJvbz* 21; O L 211s   7)J+1J1J77K	c           	     	$   \        R \        P                  ^ \        P                  .R. R	OR. R
O/4      pR \        P                  R^ RR/pVP	                  V^ 4      pVP                  4        UUu/ uF  w  rEWEP	                  W$,          ^ 4      bK  	  ppp\        P                  ! V\        V4      4       Rp\        P                  ! \        VR7      ;_uu_ 4        VP	                  V\        P                  ^ R.4       RRR4       \        P                  ^ R.pVP	                  VR4      pVP                  4       pV F  p	VP	                  V	RRR7      pWJ d   K  Q h	  \        P                  ! W4       R# u uppi   + '       g   i     L; i)r%   r   r  r   z.value argument must be scalar, dict, or Seriesr   NTr&   rn  ro  r2  )r   r   r   rs  r2   rt  r3   r4   r   r   	TypeErrorr1   )
r;   rS   rv  rw  rx  ry  rA   r   r?   r   s
   &         r   !test_replace_input_formats_scalar6TestDataFrameReplace.test_replace_input_formats_scalar  s@   2661bff%sIs<NO

 rvvsAsB/FA&;=88:F:41AyyA..:F
fi&9:>]]9C00JJv2/ 1 &&!RFB'779C%%c2t%<F%%%  	f/ G 10s   0#E9$E??F	c                	    R # r:  r   )r;   s   &r   test_replace_limit'TestDataFrameReplace.test_replace_limit  s    r   c                	    \        ^ R^R^R^R^R/VR7      pR^R^R^R^R^/p\        ^ ^^^^^^^^^/\        R7      pVP                  V4      p\        P                  ! WT4       R# r   zStrongly AgreeAgreeNeutralDisagreezStrongly Disagreer   Nr   r:   r2   r3   r   r;   r   answerweightsrA   r?   s   &&    r   test_replace_dict_no_regex/TestDataFrameReplace.test_replace_dict_no_regex  s    #79:& #	
 Qqa
 1aAq!Q1a8G(
v0r   c                	    \        ^ R^R^R^R^R/VR7      p\        R^R^R^R^R^/4      p\        ^ ^^^^^^^^^/\        R7      pVP                  V4      p\        P                  ! WT4       R# r  r  r  s   &&    r   test_replace_series_no_regex1TestDataFrameReplace.test_replace_series_no_regex  s    #79:& #	
 A1 !#Q
 1aAq!Q1a8G(
v0r   c                	   \        R \        P                  ^./4      pVP                  \        P                  ^ ^R/R7      pVP                  ^\        P                  3R^ .R7      pVP                  ^\        P                  .R^ .R7      p\        R ^ R./4      p\        P
                  ! W#4       \        P
                  ! W44       \        P
                  ! WE4       R# )r%   rM  rQ   r,   Nr   )r   r   r   r2   r3   r4   )r;   rS   res1rv   r{   rA   s   &     r   6test_replace_dict_tuple_list_ordering_remains_the_sameKTestDataFrameReplace.test_replace_dict_tuple_list_ordering_remains_the_same  s    bffa[)*zzbffaD%9z:zza[q	zBzza[q	zBcAt9-.
d)
d)
d-r   c                	    \        R . ROR. ROR. ROR. R	O/4      pVP                  R^/4      p\        P                  ! W4       R# )
folT_oppT_DirT_Enhz\DN)r   r   r   r   )0vrr  r  )r  r  r  bt)vor  r  r  r   r!  s   &  r   )test_replace_doesnt_replace_without_regex>TestDataFrameReplace.test_replace_doesnt_replace_without_regex  sJ    |...	
 jj%$
b&r   c                	    \        R RR.R\        R4      /4      pVP                  RR 4      p\        R R R.RVP                  /4      p\        P
                  ! W#4       R# )r   TFr   abN)r   r   r2   r   r3   r4   r6  s   &   r   test_replace_bool_with_string2TestDataFrameReplace.test_replace_bool_with_string  sV    dE]Cd<=D#&cC<bdd;<
f/r   c                	    \        \        P                  P                  ^4      P                  R4      R8  4      pVP	                  RR4      p\
        P                  ! W4       R# )r   r   rp  fdsaNr   r   )r   r   randomdefault_rngr2   r3   r4   r;   rS   r?   s   &  r   (test_replace_pure_bool_with_string_no_op=TestDataFrameReplace.test_replace_pure_bool_with_string_no_op  sI    ryy,,Q/66v>DEFF+
b)r   c                	   \        \        P                  P                  ^4      P                  R4      R8  4      pVP	                  RR4      p\        \        P
                  ! R\        R7      4      p\        P                  ! W#4       R# )r   r   FTr   Nr  )	r   r   r  r  r2   onesboolr3   r4   r6  s   &   r   test_replace_bool_with_bool0TestDataFrameReplace.test_replace_bool_with_bool  s^    ryy,,Q/66v>DEE4(RWWV489
f/r   c                	    \        ^ RR.^RR./4      pVP                  RRRR/4      p\        ^ RR.^RR./4      p\        P                  ! W#4       R# )r   TFrp  asdbyesNr   r6  s   &   r   %test_replace_with_dict_with_bool_keys:TestDataFrameReplace.test_replace_with_dict_with_bool_keys  s]    D%=!eT];<VVT59:a%UENCD
f/r   c                	    \        R ^^.R^^./4      pVP                  RR/4      p\        P                  ! W!4       VR ,          P                  RR/4      p\        P                  ! W!R ,          4       R# )Y0Y1replace_stringtestN)r   r2   r3   r4   r   r  s   &  r   !test_replace_dict_strings_vs_ints6TestDataFrameReplace.test_replace_dict_strings_vs_ints  sk    q!fdQF34-v67
f)D!!#3V"<=
v$x0r   c                	    \        R RR./4      pVP                  \        P                  \        P                  ) .\        P                  4      pTp\
        P                  ! W#4       R# )r   TN)r   r2   r   rs  r   r3   r4   )r;   rS   rrJ   s   &   r   test_replace_truthy(TestDataFrameReplace.test_replace_truthy  sK    dD\*+JJ("&&1
a#r   c                	V   \        R \        \        ^^4      4      /4      pVP                  R \	        \        \        ^^4      \        ^^4      4      4      /4      pVP                  \	        \        \        ^^4      \        ^^4      4      4      4      p\        P                  ! W#4       R# )r   N)r   r   r   r2   dictru  r3   r4   r6  s   &   r   -test_nested_dict_overlapping_keys_replace_intBTestDataFrameReplace.test_nested_dict_overlapping_keys_replace_int	  s}     T%1+./0S$s5A;a'D"EFG::d3uQ{E!QK#@AB
f/r   c           	     	   \         P                  ! ^^4      pVP                  \        4      p\         P                  ! ^^4      P                  \        4      p\	        RV/4      pVP                  \        \        W#4      4      4      pVP                  R\        \        W#4      4      /4      p\        P                  ! WV4       R# )r   r   N)
r   aranger9   r   r   r2   r  ru  r3   r4   )r;   r   astrbstrrS   r?   rA   s   &      r   -test_nested_dict_overlapping_keys_replace_strBTestDataFrameReplace.test_nested_dict_overlapping_keys_replace_str  s    IIaOxx}yyA%%c*T{#DT12::sDT$9:;
f/r   c                	J   \        R . RO/4      pVP                  R RRRR//4      p\        R . RO/\        R7      p\        P                  ! W#4       \        R . R	O/4      pVP                  R ^ R^R//4      p\        R . RO/\        R7      p\        P                  ! W#4       R# )
r   TFYNr   NTFT)r  r  r  )r   r   r   r   r2   r:   r3   r4   )r;   rS   ri   expects   &   r   test_replace_swapping_bug.TestDataFrameReplace.test_replace_swapping_bug  s    012jj#c5#678C1@
c*Y'(jj#33/01C1@
c*r   c           
     	   \        R \        R^RRR7      R^ \        P                  ^./4      pVP	                  \        P                  ^4      p\        R \        R^RRR7      R\        . RORR7      /4      p\        P                  ! W#4       VP                  ^4      p\        P                  ! W#4       VP	                  ^ \        P                  4      p\        R \        R^RRR7      R\        P                  \        P                  ^./4      p\        P                  ! W#4       VP	                  \        RRR	7      \        R
RR	7      4      p\        R \        RRR	7      \        R
RR	7      \        RRR	7      .R^ \        P                  ^./4      pVR ,          P                  P                  R4      VR &   \        P                  ! W#4       VP                  4       p\        P                  VP                  R&   VP	                  R \        P                  /\        R
RR	7      4      p\        P                  ! W#4       VP                  4       p\        P                  VP                  R&   VP	                  R \        P                  /\        R
RR	7      4      p\        R \        RRR	7      \        R
RR	7      P!                  R4      \        RRR	7      .R^ \        P                  ^./4      pVR ,          P                  P                  R4      VR &   \        P                  ! W#4       VP                  4       p\        P                  VP                  R&   VP	                  R \        P                  /\        R
4      4      p\        R \        RRR	7      \        R
4      \        RRR	7      .R^ \        P                  ^./4      p\        P                  ! W#4       R# )r%   r]  r^  r_  r`  r   r  r   rd  re  rf  rg  z
US/PacificNr   r   r   rN  )r   r	   r   r   r2   r   r3   r4   r5   r   r\  as_unitr1   r6   r   r;  
tz_convertr6  s   &   r   test_replace_datetimetz,TestDataFrameReplace.test_replace_datetimetz'  s"    Z
A,TRa^
 BFFA&Z
A,TRVIY7
 	f/1
f/Arvv&Z
A,TRbffbffa(
 	f/j\2j\2
 j\:j\:j\:
 a^	
 !((006
f/FFDbffy/UV
f/ FFDbffy/UVj\:j\:EElSj\:
 a^	
 !((006
f/FFDbffy/DEj\:j)j\:
 a^	
 	f/r   c           
     	|   \        V4      p\        P                  ! W"P                  / 4      4       \        P                  ! W"P                  \	        . \
        R 7      4      4       \        P                  ! W"P                  R/ /4      4       \        P                  ! W"P                  \	        R/ /4      4      4       R# )r   r   N)r   r3   r4   r2   r   r:   )r;   r   rS   s   && r    test_replace_with_empty_dictlike5TestDataFrameReplace.test_replace_with_empty_dictlike{  s{    w
b**R.1
b**VBf-E"FG
b**c2Y"78
b**VS"I->"?@r   zdf, to_replace, expr   r   4567c                	    \        V4      p\        V4      pVP                  V4      p\        P                  ! WT4       R # r:  r   )r;   rS   rQ   exprA   r?   s   &&&&  r   test_replace_commutative-TestDataFrameReplace.test_replace_commutative  s2    ( r]S>J'
f/r   replacer20170827c                	    \        R .\        R7      pVP                  R VRV/4      p\        V.\        R7      p\        P                  ! W44       R# )r   r   r   N)r   r:   r2   r3   r4   )r;   r  rS   r?   rA   s   &&   r   test_replace_replacer_dtype0TestDataFrameReplace.test_replace_replacer_dtype  sE     uF+S(C:;hZv6
f/r   c                	    \        R . RO/RR7      pVP                  ^^
4      p\        R . RO/RR7      p\        P                  ! W#4       R# )grpr  r   N)r   r   r   rA  r$   )
   r   r   rA  r$   r   r6  s   &   r   !test_replace_after_convert_dtypes6TestDataFrameReplace.test_replace_after_convert_dtypes  sC    /w?Ar"e%56gF
f/r   c                	    \        R . ROR. RO/4      pRp\        P                  ! \        VR7      ;_uu_ 4        VP	                  R 4       RRR4       R#   + '       g   i     R# ; i)r   twozZExpecting 'to_replace' to be either a scalar, array-like, dict or None, got invalid type.*r   c                "    V P                  4       # r:  )stripr&  s   &r   <lambda>FTestDataFrameReplace.test_replace_invalid_to_replace.<locals>.<lambda>  s
    r   N)r   zb r   )zd ze zf )r   r   r   r}  r2   )r;   rS   r   s   &  r   test_replace_invalid_to_replace4TestDataFrameReplace.test_replace_invalid_to_replace  sR     /8JKL0 	 ]]9C00JJ*+ 1000s   AA(	r,   c                	    \        \        P                  ! ^4      VR7      pVP                  R\        P                  ) \        P                  .VR7      p\
        P                  ! WC4       R# )r   r   Nr  )r   r   eyer2   rs  r3   r4   )r;   r   r,   rS   r?   s   &&&  r   "test_replace_no_replacement_dtypes7TestDataFrameReplace.test_replace_no_replacement_dtypes  sI     rvvay.rvvgrvv'>eL
f)r   replacementc           
     	   \        R . ROR. ROR. RO/4      p\        R4      Vn        \        R . ROR. RORV^^	./4      p\        R4      Vn        VR,          P                  ^V4      VR&   \        P
                  ! W#4       R# )r%   A1r   AABNr   r   r   rA  r$      )      	   )r   r   r7   r2   r3   r4   )r;   r  r?   rA   s   &&  r   #test_replace_with_duplicate_columns8TestDataFrameReplace.test_replace_with_duplicate_columns  s}     CD)S)LMe)T9cKA3FG
  ;Sk))![9s
f/r   z2020-01c                	    \        R V.^,          /4      p\        P                  ! W14      pVP                  4       pVP	                  RR4      p\        P
                  ! WE4       R# )Perr   r   N)r   r3   r   r1   r2   r   )r;   r   r,   r   rA   r?   s   &&&   r   test_replace_ea_ignore_float1TestDataFrameReplace.test_replace_ea_ignore_float  sN     !,-jj.88:S#&
)r   zreplace_dict, final_datac                	b   \        ^^.^^..RR.RR7      p\        P                  ! V4      p\        P                  ! VR,          ^^.R7      p\        P                  ! VR,          ^^.R7      p\        RVRV/4      pVP                  V^4      p\        P                  ! Wv4       Rp\        P                  ! \        VR7      ;_uu_ 4        \        P                  ! W64       RRR4       VP                  V^R	R
7      pWsJ g   Q h\        P                  ! W64       R#   + '       g   i     LC; i)r   r   r   r?  )r7   r   )
categoriesz:DataFrame.iloc\[:, 0\] \(column name=\"a\"\) are differentr   NTr&   )NNNr   )r  r   )r   r   arrayr   Categoricalr2   r3   r4   r   r   AssertionError)	r;   replace_dict
final_datarS   r   r   rA   r?   r   s	   &&&      r   "test_categorical_replace_with_dict7TestDataFrameReplace.test_categorical_replace_with_dict  s     AA'#s:NXXj)
NN:d+A?NN:d+A?c1c1-.L!,
f/N]]>55!!"/ 6 L!T:||
b+ 65s   DD.	c                   R. ROR. ROR. ROR. ROR. RO/p\        VR7      P                  RRRR/4      pVR,          P                  P                  . RORR	7      VR&   VR,          P                  P                  . RORR	7      VR&   R. ROR. ROR. ROR. ROR. RO/p\        VR7      P                  RRRR/4      pVR,          P                  P                  . RORR	7      VR&   VR,          P                  P                  . RORR	7      VR&   VP	                  R
 4      pVP	                  R 4      pVP	                  R 4      pVP                  RRRRRR/4      p\
        P                  ! WT4       R# )z\
Test for #23305: to ensure category dtypes are maintained
after replace with direct values
r   r   r   col4col5r   r?  T)orderedc                Z    V P                  R 4      P                  P                  RR/4      # )r?  r   zr9   catrename_categoriesr  s   &r   r  GTestDataFrameReplace.test_replace_value_category_type.<locals>.<lambda>(  s"    ahhz*..@@#sLr   c                Z    V P                  R 4      P                  P                  RR/4      # )r?  obj1obj9r  r  s   &r   r  r   +  #    ahhz*..@@&&AQRr   c                Z    V P                  R 4      P                  P                  RR/4      # )r?  cat2catXr  r  s   &r   r  r   .  r$  r   r  r  r   N)r   r   r   rA  )r   r   r   r   )g      ?g      @g      @g      @)cat1r&  cat3cat4)r"  obj2obj3obj4)r   r   r   r  )r(  r'  r)  r*  )r#  r+  r,  r-  )r   r9   r  reorder_categoriesapplyr3   r4   r;   
input_dictinput_dfexpected_dictrA   r?   s   &     r    test_replace_value_category_type5TestDataFrameReplace.test_replace_value_category_type  s    L((44

 *-44Z4
 $F+//BB $ C 
 $F+//BB,d C 
 L((44
 -077Z4
 $F+//BB $ C 
 $F+//BB,d C 

 >>L
 >>R
 R
 FERS
f/r   c                   RR.RR.RR./p\        VR7      P                  RRRRRR/4      pRR	.RR
.RR./p\        VR7      P                  RRRRRR/4      pVP                  R 4      p\        P                  ! WT4       R# )zN
Test to ensure category dtypes are maintained
after replace with dict values
r   r   r   r"  r   r(  r  r?  r  r#  r'  c                D    V P                   P                  R RRRRR/4      # )r   r  r"  r#  r(  r'  )r  r  r  s   &r   r  FTestDataFrameReplace.test_replace_dict_category_type.<locals>.<lambda>K  s#    aee--c6666:r   N)r   r9   r/  r3   r4   r0  s   &     r   test_replace_dict_category_type4TestDataFrameReplace.test_replace_dict_category_type4  s     seVfXvxH
*-44ZVZH

  #&6(K-077ZVZH

 
 	f/r   c                	    \        . RO4      p\        P                  ! R4      pVP                  VR/RR7      p\        . RO4      p\        P
                  ! W44       R# )r   z^a$r  TrX   Nr   )r  r   r   )r   recompiler2   r3   r4   )r;   rS   rO   r?   rA   s   &    r    test_replace_with_compiled_regex5TestDataFrameReplace.test_replace_with_compiled_regexR  sH    '

5!UCL5_-
f/r   c                	"   \        R \        P                  ! ^ ^4      \        P                  ! ^ ^4      ./4      pVP                  R \        P                  ! ^ ^4      R//4      p\        R RR./\        R7      p\
        P                  ! W#4       R# )r   r&  r   N)r   r   Intervalr2   r:   r3   r4   r6  s   &   r   test_replace_intervals+TestDataFrameReplace.test_replace_intervalsZ  sr    bkk!Q/Q1BCDES2;;q!#4c":;<cC:.f=
f/r   c                	    R R^R^R^ //p\        R \        P                  ! ^4      /4      pVP                  V4      p\        R \        P                  ! ^4      /4      p\        P
                  ! W44       R# )positiveu   正面u   中立u   负面N)r   r   r  r2   r3   r4   )r;   columns_values_mapr   r?   rA   s   &    r   test_replace_unicode)TestDataFrameReplace.test_replace_unicodea  se    (8Q!Xq*QRRWWQZ01/0j"''!*56
f/r   c                	    V! R .4      P                  R4      pVP                  4       pVP                  R\        P                  /4      p\
        P                  ! W#4       R# )r]   z|SN)r9   r1   r2   r   r   r3   r   )r;   r   r   rA   s   &&  r   test_replace_bytes'TestDataFrameReplace.test_replace_bytesi  sF    se$++D188:kk4.)
&r   z!data, to_replace, value, expectedr   boxc                	    V! V4      pV! V4      pVP                  V! V4      V4      p\        P                  ! W4       R # r:  r   )	r;   r   rQ   r,   rA   rL  r   r   r?   s	   &&&&&&&  r   !test_replace_list_with_mixed_type6TestDataFrameReplace.test_replace_list_with_mixed_typep  s8     d#"8,S_e4
)r   valc                	   \        R ^V./4      pVP                  VR4      p\        R ^R./\        R7      p\        P                  ! W44       \        R ^V./4      pVP                  VR/4      p\        P                  ! W44       R# )r   Nr   r  )r;   rP  rS   r?   rA   s   &&   r   %test_replace_value_none_dtype_numeric:TestDataFrameReplace.test_replace_value_none_dtype_numeric  s{     aX'C&cAt9-V<
f/aX'S$K(
f/r   c                	    \        R R\        P                  ./4      p\        R R\        P                  ./^ ^.R7      pVP                  RR4      p\        P
                  ! W#4       R# )r   nilzanything elser   N)r   r   r  r2   r3   r4   )r;   r   rA   r?   s   &   r   test_replace_with_nil_na-TestDataFrameReplace.test_replace_with_nil_na  sU    ubeen-.cORUU#;<QFKUO4
h/r   zfloat64[pyarrow]pyarrow)marksc           
     	   \        ^ ^\        P                  ^.^\        ^ \        P
                  ^.VR7      /4      pVP                  \        P
                  \        P                  4      pV'       d   TpMk\        ^ ^\        P                  ^.^\        ^ \        P                  ^.VR7      /4      p\        P                  ! VP                  R,          4      '       g   Q h\        P                  ! WE4       R# )r   r   Nr  )r   r   r   r   r   r  r2   isnanr/   r3   r4   )r;   r   using_nan_is_narS   r?   rA   s   &&&   r   &test_replace_na_to_nan_nullable_floats;TestDataFrameReplace.test_replace_na_to_nan_nullable_floats  s     Arvvq>1fa]%.PQRBEE266*H QNAvq"&&!nE'JKH 88HLL.////
f/r   zint64[pyarrow]c                	    \        . ROVR7      pVP                  \        P                  R4      pV'       d   \        . ROVR7      pMTp\        P
                  ! WE4       R# )r   Nr   )r   r   Nr2  )r   r   r2  )r   r2   r   r   r3   r   )r;   r   r\  r   r?   rA   s   &&&   r   test_replace_nan_nullable_ints3TestDataFrameReplace.test_replace_nan_nullable_ints  sF     \/RVVR(j6HH
v0r   r   Nr[   r   )e_crapf_crapg_craprF   )rF   rb  r\   r]   r   )z[]z()z\dz\wz\s)r   r   r   )booleanr  r$  r   )r   r   r   r  )TTT)rZ                 @              @)y                rf  rg  r  )r$   r  r  )r  r  r  )r  r  r  )floatr  r  r  re  )j__name__
__module____qualname____firstlineno__rB   r   markparametrizer   r   rT   rk   rp   rw   r|   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r  r
  r  r  r  r"  r*  r/  r3  r7  r<  rD  rJ  rQ  rU  r   int32int16r   r   r	   r   DatetimeIndexr  rj  rz  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  int8rT  r  r  r  r  r  r  PeriodrA  r
  r  r4  r9  r>  rB  rG  rJ  r   tupler  rN  rR  rV  paramtd
skip_if_nor]  r`  __static_attributes__r   r   r   r!   r!       s	   A2 [[$
 h' #sBFFBFF3&A-0 
+*%/<2 %'"/001!	
$J [[Yu6[[3dE]C0 D 7K$N0 '*R&*PC+J+&00+*+ + +$) [[BFFC,sBBFF.CD00& [[Z)JK0 L0 [["U^c3S1E5>BXruu-RUUBEE/BC	
**$06*>4&0(,G.,*0&04
02 [[W&EF0 G0	00000&0*(5 [[,	*+Q9fi=P3QR69-RXX>69-RXX>	 69-RXX>69-RXX>	 7$7897$678	 9l349l34	 $e (q" 5 (q" 5 (q" 5'
 q"%q"%<q"0E/F/J)KLM$ 4(4R"8!955'JK4(4R"8!955'JK	 Z&l a^	 *6*6R-- )* F )* F )* F "'$-a^	4 As8aX./As8aX./	 As8aX./As8aX./	 As8aX./As8aX./	 As8aX./As8aX./	yb	
eL0MeL0&+P001,10	.
'0*
001$00	+R0hA [[ FI6Aq!Q"FI6 FO<c3S#.FO<	
	0	0 [[j!GGAJHHQKJJqMJJqM	
	0	00	, [[W&WX[[Wrvvruuo6* 7 Y* [[]RVVQK80 90 [[Wryy';R[[A=N&OP* Q* [["3
aVaV,	-aa0@Aq6Aq6BR/ST,	,(80t0<000' [[+S3%!qc"S1#sQC USEA3&UQC!se$		
 [[UT5"(($;<* =* [[UQ$45	0 6	00 [[LL+2==3KL	
00  [[LL)y1IJ	
11r   r!   c                  f   ] tR tRt]P
                  P                  RR]! R4      R]! R4      /R]! R4      R]! ]! ^4      4      /.4      ]P
                  P                  RR]	P                  3R.4      ]P
                  P                  R	R
R.4      ]P
                  P                  RR
R.4      ]P
                  P                  RR
R.4      R 4       4       4       4       4       t]P
                  P                  RRR
.4      ]P
                  P                  R^R.4      R 4       4       tR tR tR tRtR# )TestDataFrameReplaceRegexi  r   r   r   r   rM   zto_replace,valuerD   compile_regexTFregex_kwargr'   c                	   \        V4      pVP                  4       pV'       d   \        P                  ! V4      pV'       d   Tp	R pMRp	VP	                  W#WiR7      p
V'       d
   WJ g   Q hTp
V\
        P                  J d   \
        P                  pMRpWP                  VR,          R8H  R3&   \        P                  ! W4       R # )NTrn   z...r   rs   )
r   r1   r<  r=  r2   r   r   r/   r3   r4   )r;   r   rQ   r,   r{  r|  r'   rS   rA   rO   r?   expected_replace_vals   &&&&&&&     r   test_regex_replace_scalar3TestDataFrameReplaceRegex.test_regex_replace_scalar  s      t_779J/JEJEJwL<<FBFF?#%66 #( 2FXc]c)3./
f/r   rO   r,   1c                	   \        R R.RR./4      pV^8X  d   \        MRp\        R V.RV./VR7      pVP                  RW!R7      p\        P                  ! We4       \        R R.RR./4      pV'       d   \        R V.RR./VR7      pM\        R \        V.VR7      RR./4      pVP                  RW!R7      p	\        P                  ! W4       R# )r%   r  r   Nr   )rQ   r,   rO   r  )r   r:   r2   r3   r4   r   )
r;   rO   r,   r   r   expected_df1
result_df1df2expected_df2
result_df2s
   &&&       r   test_replace_regex_dtype_frame8TestDataFrameReplaceRegex.test_replace_regex_dtype_frame  s     seS3%01  1*$ #weW!=UK[[Cu[J

j7seS3%01$cE7C#%?uML$c65'+Gse%TUL[[Cu[J

j7r   c                	    \        R . ROR. RO/4      pVP                  ^ ^^\        P                  /4      p\        R ^\        P                  ^.R\        P                  ^^./4      p\        P
                  ! W#4       R# )r%   r   Nr  )r   r   r   r   r6  s   &   r   +test_replace_with_value_also_being_replacedETestDataFrameReplaceRegex.test_replace_with_value_also_being_replaced  se    YY78Q1bff-.cArvvq>3AGH
f/r   c                	    \        R . R	OR. R
O/RR7      pVP                  4       pVP                  RR.RR.R7      p\        P                  ! W24       R# )r   Nr   r?  r   rs   def_r  )r   r  Nthree)r   Nr  r  )r   r1   r2   r3   r4   r   s   &   r   'test_replace_categorical_no_replacementATestDataFrameReplaceRegex.test_replace_categorical_no_replacement	  sW    22 
 779U|C;G
f/r   c                	   \        R R .RR/4      pV'       d(   \        VP                  P                  4      ^8X  g   Q hM&\        VP                  P                  4      ^8X  g   Q hVP	                  RRRRR7       V'       d)   \        VP                  P                  4      ^8X  g   Q hR# \        VP                  P                  4      ^8X  g   Q hR# )r   r   r   r   T)rQ   r,   r'   rO   N)r   len_mgrblocksr2   )r;   r   rS   s   && r   test_replace_object_splitting7TestDataFrameReplaceRegex.test_replace_object_splitting  s    cUC-.rww~~&!+++rww~~&!+++


hb$d
Krww~~&!+++rww~~&!+++r   r   N)rG   z\1\1\1)ri  rj  rk  rl  r   rm  rn  r   r   r   r   r  r  r  r  r  rx  r   r   r   rz  rz    s2   [[$v,T&\2$v,T%(^4	
 [[k26624NO [[_tUm<[[]T5M:[[Yu60 7 ; =0: [[Wudm4[[Wq#h/8 0 58&00,r   rz  )
__future__r   r   r<  numpyr   r   pandas.util._test_decoratorsutil_test_decoratorsrv  pandasr   r   r   r   r   r	   pandas._testing_testingr3   fixturer   r   r!   rz  r   r   r   <module>r     sw    "  	   ) )    4 4 R R_1 _1D-`, `,r   