
    Pi
m                         d dl Z d dlZd dlZd dlmc mZ d dlZ	d dl
mZ d dlmZ  G d d          Z ej        d          d             ZdS )    N)IntervalArrayc                   D   e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zej                            dddg          d             Zd Zd Zd Zd Zd Zd Zej                            ddgdgfddgdd gfg          d!             Zd" Zd# Z d$ Z!ej                            d%g d&d d'd(d&g d)fg d*d+d,d-d*g d.fg          d/             Z"ej                            d0g d&g d1fg d2g d3fg          d4             Z#d5 Z$ej                            d6ddg          d7             Z%ej                            d6ddg          d8             Z&d9 Z'd: Z(d; Z)d< Z*d= Z+ej                            d>d?ddgddiddgfd@dd gdAdBdCdAdBgfdDdd gdAdBdCdAdBgfdEdFdGgdHdIdJdHdIgfdKdFdGgdHdIdJdHdIgfdLdMdNgdOd+dPdOd+gf e,j-        d@           e. e,j/        dd            e,j/        d d'          g           e,j/        dd            e,j/        dAdB          i e. e,j/        dAdB           e,j/        d d'          g          f e,j-        dE           e. e,j/        dQdR           e,j/        dSdT          g           e,j/        dQdR           e,j/        dUdV          i e. e,j/        dUdV           e,j/        dSdT          g          f e,j0        dW           e,j1        dXdWY          g e,j1        dXdWY           e,j1        dZdWY          i e,j1        dZdWY          gfg	          d[             Z2d\ Z3d] Z4d^ Z5d_ Z6ej                            d`ddg          da             Z7ej                            d`ddg          db             Z8dc Z9ej                            ddd e:j;        deg          df             Z<dg Z=ej                            dhdidDg          dj             Z>ej                            dddkdlg          dm             Z?dn Z@do ZAdp ZBdqS )rTestSeriesReplacec                 R   t          j        g dt                    }|                    dd           }t          j        g dt                    }t	          j        ||           t          j        t          j        d                    	                    dt          i          }d|j
        d<   |                    dd           }t          j        t          j        d          t          j        d          t          j        g d	t                    d
          }|j
        d         J t	          j        ||           t          j        g d          }|                    dd           }t          j        g d          }|j
        d         J t	          j        ||           d S )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        |/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/series/methods/test_replace.pytest_replace_explicit_nonez,TestSeriesReplace.test_replace_explicit_none   s   i


&111R&&9\\\888
vx000 \"(6**++22Av;??B%%<8A;;8A;;8,,,F;;; 
 
 }T"***
fh/// i88899S$''9@@@AA}R (((
vx00000    c                    t          j        d d t          j        d          gt                    }|                    t
          j        d i          }t          j        ||           |j	        t          k    sJ |                    t
          j        d           }t          j        ||           |j	        t          k    sJ d S )Nz2021-12-16 17:31r   )
r   r   	Timestampr   r   r   nanr   r   r	   )r!   r"   ress      r&   !test_replace_noop_doesnt_downcastz3TestSeriesReplace.test_replace_noop_doesnt_downcast*   s    itR\2D%E%EFfUUUkk264.))
sC(((yF"""" kk"&$''
sC(((yF""""""r(   c                    d}t          j        t          j                            d                              |                    }t          j        |dd<   d|dd<   |                    t          j        gdd	          }||u sJ |                    d          }t          j
        ||           |                    d
t          j                  }t          j        ||d
k    <   t          j
        ||           t          j        t          j        t          j                            d                              |                    t          j        d|          t                    }t          j        |d d<   d|dd<   d|dd<   |                    t          j        ddgd          }|d d         dk                                    sJ |dd         dk                                    sJ |dd         dk                                    sJ t          j        |d d                                                   sJ |                    t          j        dddddi          }|d d         dk                                    sJ |dd         dk                                    sJ |dd         dk                                    sJ t          j        |d d                                                   sJ |                    t          j        ddgg d          }t          j
        ||           |                    t          j        ddgdd	          }||u sJ |d d         dk                                    sJ |dd         dk                                    sJ |dd         dk                                    sJ d S )N2   r   r         r   r   Tinplacer   
2020-01-01periodsr      foobarr   r   r   r:   r;   )r   r   r   randomdefault_rngstandard_normalr+   r   fillnar   r   fabs
date_ranger   allisna)r!   Nr"   r#   exprsrs2s          r&   test_replacezTestSeriesReplace.test_replace6   s   i	--a00@@CCDD6AaCAbD	 bfXr488}}}}jjnn
sC((([[bf%%&C3J
r3'''iGBI))!,,<<Q??@@M,222
 
 

 &BQBAbD	BrE
 [["&%/442A2"!!#####1R4B##%%%%%2b5	R$$&&&&&BQB  %%''''' [["&"eR;<<2A2"!!#####1R4B##%%%%%2b5	R$$&&&&&BQB  %%''''' kk265%0,,,??
r3''' bfeU3RFF}}}}BQB2""$$$$$AbD	R$$&&&&&BrE
b %%'''''''r(   c           	      ~   t          j        t          j        dt          j        g          }t          j        |                    t          j        d          |                    d                     t          j        t          j        dddt          j        d t           j	        g          }t          j        |                    t          j        d          |                    d                     |
                                }d|d<   t          j        |                    t          j        d          |           d S )Nr   r8   r9   r0   )r   r   r   r+   infr   r   r   r@   NaTcopy)r!   r"   filleds      r&   test_replace_nan_with_infz+TestSeriesReplace.test_replace_nan_with_infm   s    iBF+,,
s{{26155szz!}}EEEiE5"&$GHH
s{{26155szz!}}EEEq	
s{{26155v>>>>>r(   c                    t          j        |j                  }t          j        |                    t          j        d          |                    d                     d}t          j
        t          |          5  |                    g dt          j        dg           d d d            n# 1 swxY w Y   |                    ddgt          j        dg          }t          j        ||           t          j        g d          }|                    g dg d          }t          j        |t          j        g d                     d S )	Nr   z:Replacement lists must match in length\. Expecting 3 got 2matchr   r   r
   r   r   r   r   r   r
   r0   )r0   r
   r   r   r   )r   r   indexr   r   r   r   r+   r@   pytestraises
ValueError)r!   datetime_seriesr"   msgr#   s        r&   +test_replace_listlike_value_listlike_targetz=TestSeriesReplace.test_replace_listlike_value_listlike_targetw   sX   i-..
s{{26155szz!}}EEE L]:S111 	0 	0KK			BFA;///	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 aVbfa[11
vs+++i((___ooo>>
vry'A'ABBBBBs   =%B..B25B2c                    t          j        dt          j        dddg          }d}t	          j        t          |          5  |                    t          j        g           d d d            n# 1 swxY w Y   t	          j        t          |          5  |                    t          j                   d d d            d S # 1 swxY w Y   d S )Nr   r   r
   r0   ZSeries.replace must specify either 'value', a dict-like 'to_replace', or dict-like 'regex'rQ   )r   r   r   r+   rV   rW   rX   r   )r!   r"   rZ   s      r&   test_replace_gh5319z%TestSeriesReplace.test_replace_gh5319   s;    iBFAq!,--= 	 ]:S111 	" 	"KK!!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" ]:S111 	  	 KK	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 s$   !A..A25A2 CCCc                    t          j        t          j        dd                    }|                                }t          j        d          |j        d<   |                    t          j        d          t          j        d          i          }t          j        ||           |                    t          j        d          t          j        d                    }t          j        ||           d S )N20130101r7   r5   20120101r   20130103)	r   r   rB   rM   r*   locr   r   r   r!   r"   r$   r#   s       r&   test_replace_datetime64z)TestSeriesReplace.test_replace_datetime64   s    ij!<<<==88::,z22Qbl:66Z8P8PQRR
vx000R\*55r|J7O7OPP
vx00000r(   c                    t          j        dd          }t          j        t           j        t          j        dd          g          }|                    t
          j        t           j        gt           j        j                  }t          j        t           j        j        |gt                    }t          j
        ||           d S )Nz
2015/01/01UTC)tzr   )r   r*   r   rL   r   r   r+   minr   r   r   )r!   tssr#   r$   s        r&   test_replace_nat_with_tzz*TestSeriesReplace.test_replace_nat_with_tz   s    \,5111Irvr|LUCCCDEEBFBF+R\-=>>9bl.36BBB
x00000r(   c                 8   t          j        dd          }t          j        |          }|                    |d         |d         i          }t          j        |d         |d         |d         |d         |d         g          }t	          j        ||           d S )Nr   r7   r5   r   r
   r   r0   )r   timedelta_ranger   r   r   r   )r!   tdir"   r#   r$   s        r&   test_replace_timedelta_td64z-TestSeriesReplace.test_replace_timedelta_td64   s     A...inn c!fc!f-..9c!fc!fc!fc!fc!fEFF
vx00000r(   c                    t          j        g d          }d}t          j        t          |          5  |                    g d           d d d            n# 1 swxY w Y   |                                }t          j        t          |          5  |                    g dd           d d d            d S # 1 swxY w Y   d S )NrT   r]   rQ   rS   Tr2   )r   r   rV   rW   rX   r   rM   )r!   r"   rZ   rk   s       r&   test_replace_with_single_listz/TestSeriesReplace.test_replace_with_single_list   sC   i((= 	 ]:S111 	# 	#KK			"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# HHJJ]:S111 	/ 	/IIiiiI...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/s#   AAAB99B= B=c           	         t          j        t          j        d          d          fd}dgdg}} |||            ||d         |d                    t          j        g d          }dgd	g}} ||||           t          j        g d
          }ddgd	dg}} ||||           t          j        dddd	t          j        d          g          }ddgd	t          j        d          g}} ||||           t          j        g dd          }ddgd	dg}} ||||           t          j        t          j        ddd                    }|                    t                                        |d         |d         |d         gg d          }t          j        dddg|dd          	                                t                    }t          j        ||           d S )Nr7   int64r   c                                                      }                    | |          }|                    | |d          }||u sJ t          j        ||           t          j        ||           d S )NTr2   )rM   r   r   r   )to_repvalr$   scr#   r"   s        r&   check_replacezATestSeriesReplace.test_replace_mixed_types.<locals>.check_replace   ss    B[[--FZZTZ::FR<<<<"8V444"8R00000r(   r
   g      @r   )r   r   r         @r0   rz   )r   r   r   rz   r   r0   r   r   r   r`   )r   r   r   rz   Tr   Tz1/1/2001z	1/10/2001Dfreq)      ?r   r   r~   )r   r   r   aranger*   rB   r   r   r   tolistr   r   )	r!   ry   trvedrr#   r$   r"   s	           @r&   test_replace_mixed_typesz*TestSeriesReplace.test_replace_mixed_types   s(   i	!G444	1 	1 	1 	1 	1 cUAb!S!!!beQqT3''' I'''((cUAb!Q I)))**Ac
Ab!Q Iq!QR\*%=%=>??Abl:667Ab!Q I***(;;;AdAb!Q Yr}Z3GGGHH6""**BqE2a5"Q%+@---PP9c1c<BqrrFMMOO<FKKK
vx00000r(   c                     t          j        g d          }|                    dd          }t          j        ||           d S )NTFTfunz
in-the-sunr   r   r   r   r   )r!   rk   r#   s      r&   #test_replace_bool_with_string_no_opz5TestSeriesReplace.test_replace_bool_with_string_no_op   sD    I)))**5,//
q&)))))r(   c                     t          j        g d          }|                    dd          }t          j        g d          }t          j        ||           d S )Nr   T2u)r   Fr   r   r!   rk   r#   r$   s       r&   test_replace_bool_with_stringz/TestSeriesReplace.test_replace_bool_with_string   sZ    I)))**4&&900011
x00000r(   c                     t          j        g d          }|                    dd          }t          j        dgt          |          z            }t	          j        ||           d S )Nr   TF)r   r   r   lenr   r   r   s       r&   test_replace_bool_with_boolz-TestSeriesReplace.test_replace_bool_with_bool   s`    I)))**4''9eWs1vv-..
x00000r(   c                     t          j        g d          }|                    ddd          }t          j        g d          }t          j        ||           d S )Nr   asdbyes)asdfT)r   Fr   r   r   s       r&   %test_replace_with_dict_with_bool_keysz7TestSeriesReplace.test_replace_with_dict_with_bool_keys   s`    I)))**F%8899922233
vx00000r(   c                    t          j        dd g|                              dt           j                  }t          j        t           j        t           j        g|          }t	          j        ||           t          j        ddg|                              dt           j                  }|                    dt           j        d          }||u sJ t	          j        ||           d S )Nr   r   r   Tr2   )r   r   r   NAr   r   )r!   any_int_ea_dtyper#   r$   result2s        r&   test_replace_Int_with_naz*TestSeriesReplace.test_replace_Int_with_na  s    At9,<===EEaOO9beRU^3CDDD
vx000Aq6)9:::BB1beLL..BE4.88&    
vx00000r(   c                    d}t          j        t          j        t          j                            d                              |                    t          j        d|          t                    }t          j	        |d d<   d|dd	<   d
|dd<   |
                    t          j	        dd
gd          }|d d         dk                                    sJ |dd	         dk                                    sJ |dd         dk                                    sJ t          j        |d d                                                   sJ |
                    t          j	        dddd
di          }|d d         dk                                    sJ |dd	         dk                                    sJ |dd         dk                                    sJ t          j        |d d                                                   sJ |
                    t          j	        dd
gg d          }t          j        ||           |
                    t          j	        dd
gdd          }||u sJ |d d         dk                                    sJ |dd	         dk                                    sJ |dd         dk                                    sJ d S )Nr/   r   r4   r5   r   r7   r8   r1   r   r9   r   r   r   r:   r;   r<   Tr2   )r   r   r   rA   r=   r>   r?   rB   r   r+   r   rC   rD   r   r   )r!   rE   r"   rG   rH   r#   s         r&   test_replace2zTestSeriesReplace.test_replace2  s   iGBI))!,,<<Q??@@M,222
 
 

 &BQBAbD	BrE
 [["&%/442A2"!!#####1R4B##%%%%%2b5	R$$&&&&&BQB  %%''''' [["&"eR;<<2A2"!!#####1R4B##%%%%%2b5	R$$&&&&&BQB  %%''''' kk265%0,,,??
r3''' bfeU3RFF}}}}BQB2""$$$$$AbD	R$$&&&&&BrE
b %%'''''''r(   r3   TFc                     t          j        g d          }t          j        g d          }|                    g dg d|          }|rt          j        ||           d S t          j        ||           d S )NrS   r   r
   r0   r2   r   )r!   r3   r"   r$   r,   s        r&   test_replace_cascadez&TestSeriesReplace.test_replace_cascade2  s     i			""9YYY''kk)))YYYk@@ 	2"311111"311111r(   c                     t          j        ddt          j        g|          }t          j        ddt          j        g|          }|                    ddd          }t          j        ||           d S )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_dtypez=TestSeriesReplace.test_replace_with_dictlike_and_string_dtype?  sp    irv.6KLLL9c3/7LMMMS5566
x00000r(   c                    t          j        t          d                    }t          j        ||                    i                      t          j        g           }t          j        ||                    |                     d S )Nabcd)r   r   listr   r   r   )r!   rk   empty_seriess      r&    test_replace_with_empty_dictlikez2TestSeriesReplace.test_replace_with_empty_dictlikeF  sf    Id6ll##
q!))B--000y}}
q!))L"9"9:::::r(   c                     t          j        g d          }|                    dt          j                  }t          j        g d          }t          j        ||           d S NrS   r   r   r   r   r   r+   r   r   r   s       r&   test_replace_string_with_numberz1TestSeriesReplace.test_replace_string_with_numberN  V    Iiii  3''9YYY''
x00000r(   c                     t          j        ddg          }t          j        ddg          }|                    ddd          }t          j        ||           d S )Nr   r   )r   r   r   )r!   rk   r$   r#   s       r&   (test_replace_replacer_equals_replacementz:TestSeriesReplace.test_replace_replacer_equals_replacementU  s\     IsCj!!9c3Z((3//00
x00000r(   c                     t          j        g d          }|                    dt          j                  }t          j        g d          }t          j        ||           d S r   r   r   s       r&    test_replace_unicode_with_numberz2TestSeriesReplace.test_replace_unicode_with_number]  r   r(   c                 
   t          j        g d          }|                    ddgt          j                  }t          j        dt          j        dt          j        ddgt
                    }t          j        ||           d S )	N)r   r   r
   4r0   r7   r   r   r   r
   r0   r7   r   )r   r   r   r   r+   r   r   r   r   s       r&   $test_replace_mixed_types_with_stringz6TestSeriesReplace.test_replace_mixed_types_with_stringd  so    I***++As8RV,,9aBFAq9HHH
x00000r(   zcategorical, numericAr   Br   c                 `   t          j        t          j        |ddg                    }|j                            ddd          }t          j        |                              d          }d|j        j        vr|j                            d          }t          j	        ||d	           d S )
Nr   r   
categoriesr   r   )r   r   categoryF)check_categorical)
r   r   Categoricalcatrename_categoriesr   r   add_categoriesr   r   )r!   categoricalnumericr"   r#   r$   s         r&   test_replace_categoricalz*TestSeriesReplace.test_replace_categoricalk  s     i{SzJJJKK**+;+;<<9W%%,,Z88HL+++  |22155H
x5IIIIIIr(   c                     g d}g d}t          j        |d          }|                    ddd          }||u sJ t          j        t          j        ||	                    }t	          j        ||           d S )
Nr   r   c)r   r   r   r   r   r   r   T
to_replacevaluer3   r   )r   r   r   r   r   r   )r!   datadata_expr"   r#   r$   s         r&    test_replace_categorical_inplacez2TestSeriesReplace.test_replace_categorical_inplace}  s    "??iJ///3EE}}}}9R^HFFFGG
sH-----r(   c                    t          j        ddd          }t          j        |          }|                    d          }|                                }|j                            d          }d|d<   |j                                        }|d         dk    sJ |j                            |j	        d         di          }t          j        ||           |d         dk    sJ d S )Nz
2016-01-01r
   z
US/Pacific)r6   rh   r   r8   r   )r   rB   r   r   rM   r   r   remove_unused_categoriesr   valuesr   r   )r!   dtirk   r   r$   r#   s         r&   test_replace_categorical_singlez1TestSeriesReplace.test_replace_categorical_single  s    mL!EEEIcNNHHZ  6688<..u55<88::tu}}}}((!(1+u)=>>
x000tu}}}}}}r(   c                 j   t          j        g d          }|                    dgdg          }t          j        g d          }t          j        ||           t          j        g d          }|                    dgdg          }t          j        g d          }t          j        ||           d S )NrT   r
   100000000000000000000)r   r   r   r   r0   )r   r   100000000000000000001r   )r   r   r   r   r   s       r&   "test_replace_with_no_overflowerrorz4TestSeriesReplace.test_replace_with_no_overflowerror  s     Iooo&&A3!8 9::9BBBCC
vx000IKKKLL34qc::9<<<==
vx00000r(   zser, to_replace, exprS   r
   r0   r   )r   r   3r   r   r   )r   r   r   c                     t          j        |          }t          j        |          }|                    |          }t          j        ||           d S Nr   )r!   r"   r   rF   seriesr$   r#   s          r&   test_replace_commutativez*TestSeriesReplace.test_replace_commutative  sH     39S>>
++
vx00000r(   zser, exp)r   Tr
   )xr   r
   )r   Tr
   c                     t          j        |          }|                    dd          }t          j        |          }t          j        ||           d S )Nr   Tr   )r!   r"   rF   r   r#   r$   s         r&   test_replace_no_castz&TestSeriesReplace.test_replace_no_cast  sJ     34((9S>>
vx00000r(   c                     t          j        g d          }d}t          j        t          |          5  |                    d            d d d            d S # 1 swxY w Y   d S )Nr   r   zc zZExpecting 'to_replace' to be either a scalar, array-like, dict or None, got invalid type.*rQ   c                 *    |                                  S r   )strip)r   s    r&   <lambda>zCTestSeriesReplace.test_replace_invalid_to_replace.<locals>.<lambda>  s    QWWYY r(   )r   r   rV   rW   	TypeErrorr   )r!   r   rZ   s      r&   test_replace_invalid_to_replacez1TestSeriesReplace.test_replace_invalid_to_replace  s     +++,,0 	 ]9C000 	0 	0NN..///	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0s   AAAframec                     t          j        g d          }|r|                                }d}t          j        t
          |          5  |                    dgd           d d d            d S # 1 swxY w Y   d S )Nr   z4'to_replace' must be 'None' if 'regex' is not a boolrQ   r   r8   )r   regex)r   r   to_framerV   rW   rX   r   )r!   r   objrZ   s       r&   test_replace_nonbool_regexz,TestSeriesReplace.test_replace_nonbool_regex  s    i((()) 	!,,..CD]:S111 	7 	7KKC5K666	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7s   
A00A47A4c                    t          j        g t          j                  }|r|                                }|                    ddd          }||u sJ |                    ddd          }t          j        ||           ||usJ d S )Nr   r0   r7   Tr2   F)r   r   r   float64r   r   r   assert_equal)r!   r   r   r,   s       r&   test_replace_empty_copyz)TestSeriesReplace.test_replace_empty_copy  s    i"*--- 	!,,..Ckk!Qk--czzzzkk!Qk..
S!!!#~~~~~~r(   c                    t          j        ddd|dg          }ddd}d}d}t          j        t          |          5  |                    ||           d d d            n# 1 swxY w Y   d}dd	d}d
}t          j        t          |          5  |                    ||           d d d            d S # 1 swxY w Y   d S )Nr   r   r   T)r   r   r8   zISeries.replace cannot specify both a dict-like 'to_replace' and a 'value'rQ   r9   z<Series.replace cannot use dict-value and non-None to_replacer   r   rV   rW   rX   r   )r!   fixed_now_tsr"   r   r   rZ   s         r&   "test_replace_only_one_dictlike_argz4TestSeriesReplace.test_replace_only_one_dictlike_arg  s\    iAsL$788s^^
W 	 ]:S111 	+ 	+KK
E***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 
e$$L]:S111 	+ 	+KK
E***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+s#   A!!A%(A%B44B8;B8c                    t          j        g d          }t          j        dg          }t          j        dg          }d}t          j        t          |          5  |                    ||           d d d            d S # 1 swxY w Y   d S )N)r   r   r
   r0   r7   r   K   z;to_replace and value cannot be dict-like for Series.replacerQ   r   )r!   rk   r   r   rZ   s        r&   %test_replace_dict_like_with_dict_likez7TestSeriesReplace.test_replace_dict_like_with_dict_like  s    Iooo&&Ys^^
	2$K]:S111 	) 	)IIj%(((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)s   BB	Bc                      |t          j        g dd                    }|                    dd          }t          j        ||           d S )NrS   Int64r   r   )r   r   r   r   r   )r!   frame_or_seriesr   r#   s       r&   test_replace_extension_otherz.TestSeriesReplace.test_replace_extension_other   sO    obhyyy@@@AAR$$
V$$$$$r(   c                     t          j        g d          }t          j        d          }|                    |did          }t          j        g d          }t          j        ||           d S )Nr   z^a$zTr   )r   r   r   )r   r   recompiler   r   r   )r!   rk   r   r#   r$   s        r&    test_replace_with_compiled_regexz2TestSeriesReplace.test_replace_with_compiled_regex  si    Iooo&&
5!!E3<t449___--
vx00000r(   c           
         t          j        ddddddt           j        dgd          }dddd	d
}|                    |d          }t          j        ddd	dddt           j        dgd          }t	          j        ||           d S )NAABBCCDDEEr   stringr   zCC-REPL)r  r  r
  r  Tr  r   r   r   r   r   r   )r!   r"   regex_mappingr#   rF   s        r&   test_pandas_replace_naz(TestSeriesReplace.test_pandas_replace_na  s     itT4r25$GxXXX	
 
 ]$77i4D$BE4@
 
 
 	vs+++++r(   z,dtype, input_data, to_replace, expected_databoolrt   r   r   )r   r   r   r   皙?皙@g333333$@g     4@)r  r  Float64r  r   r   r   r   r~   g@gffffff@g@g333333%@g4@Mz2020-05r|   z2020-06c                     t          j        ||          }|                    |          }t          j        ||          }t          j        ||           d S )Nr   r   )r!   r	   
input_datar   expected_datar"   r#   r$   s           r&   test_replace_dtypez$TestSeriesReplace.test_replace_dtype  sV    > i
%000Z((9]%888
vx00000r(   c                    t          j        ddt          j        gd          }|                    ddd          }t          j        ddt          j        gd          }t          j        ||           t          j        dt          j        gd          }|                    dd	          }t          j        d	t          j        gd          }t          j        ||           t          j        dd	gd          }|                    dt           j                  }t          j        t           j        d	gd          }	t          j        ||	           d S )
Nr   r   r  r   r   r   r   r   r   )r   r   r   r+   r   r   r   r   )
r!   r"   r,   r$   ser2res2	expected2ser3res3	expected3s
             r&   test_replace_string_dtypez+TestSeriesReplace.test_replace_string_dtypeC  s$   irv.h???kk#c22339c3/x@@@
sH--- y#rvh777||C%%IsBFm8<<<	
tY///y#s8444||C''Irucl(;;;	
tY/////r(   c                     t          j        ddgd          }|                    ddgd          }t          j        ddgd          }t          j        ||           d S )Nabcdefr  r   zany other stringxyzr   r!   r"   r,   r$   s       r&   )test_replace_string_dtype_list_to_replacez;TestSeriesReplace.test_replace_string_dtype_list_to_replaceU  sd    ih777kk5"45u==9eU^8<<<
sH-----r(   c                     t          j        ddgd          }|                    ddd          }t          j        ddgd          }t          j        ||           d S )	Nr   r   r  r   .CTr  r   r$  s       r&   test_replace_string_dtype_regexz1TestSeriesReplace.test_replace_string_dtype_regex\  sb    ic
(333kk$4k009c3Zx888
sH-----r(   c                    t          j        g dt          j                              }|                    ddi          j        |j        k    sJ |                    dd          j        |j        k    sJ |                    ddi          j        |j        k    sJ |                    dd          j        |j        k    sJ |                    ddgddg          }|j        |j        k    sJ t          j        g d	t          j                              }|                    d
di          j        |j        k    sJ |                    d
d          j        |j        k    sJ |                    d
di          j        |j        k    sJ |                    d
d          j        |j        k    sJ t          j        t          d          5  |                    d
di           d d d            n# 1 swxY w Y   t          j        t          d          5  |                    d
d           d d d            d S # 1 swxY w Y   d S )N)r~          @gˡE@g@r   r~   	   g      "@r+  g      $@r   r   )r   r   r
   r0   r   zInvalid valuerQ   g      #@)	r   r   Float64Dtyper   r	   
Int64DtyperV   rW   r   )r!   floatsr,   intss       r&   test_replace_nullable_numericz/TestSeriesReplace.test_replace_nullable_numericc  s    1119J9JKKK~~sAh''-====~~c1%%+v|;;;;~~sCj))/6<????~~c3''-====nnc
3+nFFyFL((((yR]__===||QF##)TZ7777||Aq!!'4:5555||QH%%+tz9999||As##)TZ7777 ]9O<<< 	# 	#LL!S"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#]9O<<< 	! 	!LLC   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!s$   G33G7:G7H==IIr   c                     t          j        dgt                    }t          j        dgt                    }|                    dd|          }t	          j        ||           d S )N0r   r   r   r   r   r   r   r   r   r   r   r!   r   r   r$   r#   s        r&   test_replace_regex_dtype_seriesz1TestSeriesReplace.test_replace_regex_dtype_series{  s`     C5///9aS///3auEE
vx00000r(   c                     t          j        dgd          }t          j        dgt                    }|                    dd|          }t	          j        ||           d S )Nr4  strr   r   r5  r6  r7  s        r&   &test_replace_regex_dtype_series_stringz8TestSeriesReplace.test_replace_regex_dtype_series_string  s^    C5...9aS///3auEE
vx00000r(   c                 >   t          j        g d|          }t          j        g d|          }t          t          |j        |j        d                    }|                    |          }|                    dddd          }t          j        ||           d S )	N)r   r   r   r   r   r   r   r   r   )r   r   r   T)strictr   r   r   )	r   r   dictzipr   rU   r   r   r   )r!   any_int_numpy_dtypelabsmapsmap_dictr#   r$   s          r&    test_replace_different_int_typesz2TestSeriesReplace.test_replace_different_int_types  s    y1119LMMMy*=>>>DKDAAABBh''<<A! 2 233
vx00000r(   rw   r+  c                     t          j        d|g          }|                    |d           }t          j        dd gt                    }t	          j        ||           d S )Nr   r   )r   r   r   r   r   r   )r!   rw   r"   r#   r$   s        r&   %test_replace_value_none_dtype_numericz7TestSeriesReplace.test_replace_value_none_dtype_numeric  s[     iC!!S$''9aYf555
vx00000r(   c                    t          j        dg dit                    }|d                             dgt          j        g          |d<   t          j        ddt          j        dgit                    }t          j        ||           t          j        dg dit                    }|d                             d gt          j        g          |d<   t          j        ||           t          j        dg dit                    }|d                             t          j                  |d<   t          j        ||           d S )NTest)0.5T0.6r   TrI  rJ  )rI  NrJ  )	r   r   r   r   r   r+   r   r    r@   )r!   r%   r$   s      r&    test_replace_change_dtype_seriesz2TestSeriesReplace.test_replace_change_dtype_series  s&   \6#7#7#78GGGZ''996
<%)? @OOO
b(+++\6#7#7#78GGGZ''996

b(+++\6#7#7#78GGGZ&&rv..6

b(+++++r(   r	   r   c                 P   t          j        ddt           j        g|          }t          j        ddt           j        g|          }|                    dd          }t	          j        ||           |                    ddd          }||u sJ t	          j        ||           d S )Nr   r   r   r   r-  Tr   r  )r!   r	   r"   r$   r#   s        r&   test_replace_na_in_obj_columnz/TestSeriesReplace.test_replace_na_in_obj_column  s     iAruU3339aBE]%88833
vx000DAA}}}}
sH-----r(   r   g      ?c                 X   t          j        |dg          }t          j        |t           j        g          }|                    dt           j                  }t	          j        ||           |                    dt           j        d          }||u sJ t	          j        ||           d S )Nr   r-  Tr   r  )r!   rw   r"   r$   r#   s        r&   #test_replace_numeric_column_with_naz5TestSeriesReplace.test_replace_numeric_column_with_na  s     ia!!9c25\**77
vx000EE}}}}
sH-----r(   c                 ^   t          j        dgd          }|                                }|                    dd          }t	          j        ||           t          j        dgd          }|                                }|                    dd          }t	          j        ||           d S )Nr   r  r   Fr~   booleanT)r   r   rM   r   r   r   rd   s       r&   test_replace_ea_float_with_boolz1TestSeriesReplace.test_replace_ea_float_with_bool  s    iY///88::UC((
vx000iy11188::S$''
vx00000r(   c                 
   t          j        t           j        t           j        g          }|                    ddid          }t          j        t           j        t           j        g          }t	          j        ||           d S )Nz^#$Tr  r  r!   r%   r#   r$   s       r&   test_replace_all_NAz%TestSeriesReplace.test_replace_all_NA  sb    Yru~&&UCL559beRU^,,
vx00000r(   c                     t          j        t          j        ddg          }|                    t          j        d i          }t          j        g d          }t          j        ||           d S )Nr   r8   )Nr   r8   r   rU  s       r&   "test_replace_mixed_types_with_nonez4TestSeriesReplace.test_replace_mixed_types_with_none  s`    Y5)**RVTN++9---..
vx00000r(   N)C__name__
__module____qualname__r'   r-   rI   rO   r[   r^   re   rl   rp   rr   r   r   r   r   r   r   r   rV   markparametrizer   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   IntervalDtyper   IntervalPeriodDtypePeriodr  r  r%  r)  r2  r8  r;  rD  r   r+   rF  rK  rM  rO  rR  rV  rX   r(   r&   r   r      s       1 1 18
# 
# 
#5( 5( 5(n? ? ?C C C"     1 1 11 1 11 1 1/ / /)1 )1 )1V* * *
1 1 11 1 11 1 11 1 1$( $( $(L [Yu66
2 
2 76
21 1 1; ; ;1 1 11 1 11 1 11 1 1 [UQCL3Z!Q 	
 	J 	J 	J. . .   1 1 1 [YYA!**III6__Cc<<oooN	
 	1 	1 	1 [iii.nnn0MN 1 1 1	0 	0 	0 [Wudm447 7 547 [Wudm44
 
 54
+ + +$) ) )% % %1 1 1, , ,  [6dE]T5ME5>Bq!f"nnr2h7q!f"nnr2h7c
$T$:$:T4LIc
$T$:$:T4LIu~s3'?'?#sL  )){r{1a00+"+a2C2CDEEQ""KBKB$7$78{r{2r22KBK14E4EFGG	 ! ++{r{344kbk#s6K6KLMMS#&&D$(?(?@{r{466C8M8MNOO	 s##93///093///931O1O1OP93///0	'	
 :1 1; :10 0 0$. . .. . .! ! !0 [Wudm441 1 541 [Wudm441 1 541	1 	1 	1 [UQ$4551 1 651, , , [Wx&9::	. 	. ;:	. [UQH--	. 	. .-	.
1 
1 
11 1 11 1 1 1 1r(   r   pyarrowc                      t          j        g dd          } t          j        g dd          }t          j        |                               ddd          }t	          j        ||           d S )Nr   zstring[pyarrow]r   )dr   r   r   re  )r   r   )r   Indexr   r   r   r   )idxr$   r#   s      r&   test_replace_from_indexrh    sr     (???*;
<
<
<Cy0ABBBHYs^^###C$8$899F68,,,,,r(   )r  numpyr   rV   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   pandas._testing_testingr   pandas.core.arraysr   r   
skip_if_norh  rb  r(   r&   <module>rs     s    				      ) ) ) ) ) ) ) ) )           , , , , , ,O1 O1 O1 O1 O1 O1 O1 O1d y- - - - -r(   