
    dk                     X    d dl Z d dlZd dlZd dlZd dlmZ d dl	m
Z
  G d d          ZdS )    N)IntervalArrayc                   	   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 ej        dgddg          d gf ej        ddgddg          d d!gfg          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;ej*        fd<Z+d= Z,ej                            d>ddg          d?             Z-ej                            d@ddg          ej                            d>ddg          dA                         Z.dB Z/dC Z0ej                            dDdEddgddiddgfdFd d!gdGdHdIdGdHgfdJd d!gdGdHdIdGdHgfdKdLdMgdNdOdPdNdOgfdQdLdMgdNdOdPdNdOgfdRdSdTgdUd+dVdUd+gf ej1        dF           e2 ej3        d d!           ej3        d!d'          g           ej3        d d!           ej3        dGdH          i e2 ej3        dGdH           ej3        d!d'          g          f ej1        dK           e2 ej3        dWdX           ej3        dYdZ          g           ej3        dWdX           ej3        d[d\          i e2 ej3        d[d\           ej3        dYdZ          g          f ej4        d]           ej5        d^d]_          g ej5        d^d]_           ej5        d`d]_          i ej5        d`d]_          gfg	          da             Z6db Z7dc Z8dd Z9de Z:ej                            dfddg          dg             Z;dh Z<ej                            did!e=j>        djg          dk             Z?dl Z@ej                            dmdndJg          do             ZAej                            didpdqg          dr             ZBdsS )t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        d/var/www/html/t/fyr/venv311/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                            |                    }t          j        |dd<   d|dd<   |                    t          j        gdd          }|J |                    d          }t          j	        ||           |                    d	t          j                  }t          j        ||d	k    <   t          j	        ||           t          j        t          j
        t          j                            |                    t          j        |          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          }|J |d d         dk                                    sJ |dd         dk                                    sJ |dd         dk                                    sJ d S )Nd   r         r   r   Tinplacer   r      foobarr   r   r   r7   r8   )r   r   r   randomrandnr+   r   fillnar   r   fabsmakeDateIndexr   allisna)r!   Nr"   return_valueexprsrs2s          r&   test_replacezTestSeriesReplace.test_replace4   sg   i	**++6AaCAbD	 {{BF8R{>>###jjnn
sC((([[bf%%&C3J
r3'''i	 2 233R5Ea5H5HPVWWW&BQBAbD	BrE
 [["&%/442A2"!!#####1R4B##%%%%%2b5	R$$&&&&&BQB  %%''''' [["&"eR;<<2A2"!!#####1R4B##%%%%%2b5	R$$&&&&&BQB  %%''''' kk265%0,,,??
r3''' {{BFE5#92t{LL###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   r5   r6   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_inff   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_targetp   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          }|                                }|                    t          j        g          }t          j        ||           t          j        dt          j        dddg          }|                                }|                    t          j                  }t          j        ||           d S )Nr   r   r
   r0   )r   r   r   r+   ffillr   r   r   r!   r"   r$   r#   s       r&   test_replace_gh5319z%TestSeriesReplace.test_replace_gh5319   s     iBFAq!,--99;;bfX&&
vx000iBFAq!,--99;;RV$$
vx00000r(   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20130101r4   periods20120101r   20130103)	r   r   
date_rangerJ   r*   locr   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   rI   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   r4   r_   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          }|                    g d          }t          j        |t          j        g d                     |                                }|                    g dd          }|J t          j        |t          j        g d                     |                                }d}t          j        t          |          5  |                    g ddd	          }|J 	 d d d            n# 1 swxY w Y   t          j        ||           d S )
NrQ   rP   )r   r   r   r   r0   Tr2   zVInvalid fill method\. Expecting pad \(ffill\) or backfill \(bfill\)\. Got crash_cymbalrN   crash_cymbal)r3   method)	r   r   r   r   r   rJ   rS   rT   rU   )r!   r"   r#   rk   rB   rW   s         r&   test_replace_with_single_listz/TestSeriesReplace.test_replace_with_single_list   sh   i((YYY''
vry'A'ABBBHHJJyyDy99###
q")OOO"<"<=== HHJJ, 	 ]:S111 	( 	(99YYY^9TTL''''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	q#&&&&&s   "DDD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        g d|dd          	                                z   t                    }t          j        ||           d S )Nr4   int64r   c                                                      }                    | |          }|                    | |d          }|J t          j        ||           t          j        ||           d S )NTr2   )rJ   r   r   r   )to_repvalr$   scr#   rB   r"   s         r&   check_replacezATestSeriesReplace.test_replace_mixed_types.<locals>.check_replace   sr    B[[--F::fc4:@@L'''"8V444"8R00000r(   r
   g      @r   )r   r   r         @r0   r|   )r   r   r   r|   r   r0   r   r   r   r^   )r   r   r   r|   Tr   Tz1/1/2001z	1/10/2001Dfreq)      ?r   r   )r   r   r   aranger*   rc   r   r   r   tolistr   r   )	r!   r{   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9]]]RV]]__<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           t	          j        ||           d S )Nr   r   r   Tr2   )r   r   r   NAr   r   )r!   any_int_ea_dtyper#   r$   s       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q"%...
vx00000r(   c                 |   d}t          j        t          j        t          j                            |                    t          j        |          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          }|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   r1   r   r6   r   r   r   r7   r8   r9   Tr2   )r   r   r   r=   r:   r;   r   r>   r   r+   r   r?   r@   r   )r!   rA   r"   rD   rE   rB   s         r&   test_replace2zTestSeriesReplace.test_replace2  s   i	 2 233R5Ea5H5HPVWWW&BQBAbD	BrE
 [["&%/442A2"!!#####1R4B##%%%%%2b5	R$$&&&&&BQB  %%''''' [["&"eR;<<2A2"!!#####1R4B##%%%%%2b5	R$$&&&&&BQB  %%''''' kk265%0,,,??
r3''' {{BFE5#92t{LL###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 )NrP   r   r
   r0   r2   r   )r!   r3   r"   r$   r,   s        r&   test_replace_cascadez&TestSeriesReplace.test_replace_cascade-  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_dictlikeA  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 NrP   r   r   r   r   r   r+   r   r   r   s       r&   test_replace_string_with_numberz1TestSeriesReplace.test_replace_string_with_numberI  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_replacementP  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_numberX  r   r(   c                     t          j        g d          }|                    ddgt          j                  }t          j        dt          j        dt          j        ddg          }t          j        ||           d S )N)r   r   r
   4r0   r4   r   r   r   r
   r0   r4   r   r   s       r&   $test_replace_mixed_types_with_stringz6TestSeriesReplace.test_replace_mixed_types_with_string_  sj    I***++As8RV,,9aBFAq9::
x00000r(   zcategorical, numericAB)
categoriesr   r   c                 &   t          j        |          }|                    ddd          }t          j        |                              d          }d|j        j        vr|j                            d          }t          j        ||           d S )Nr   r   )r   r   category)	r   r   r   r   catr   add_categoriesr   r   )r!   categoricalnumericr"   r#   r$   s         r&   test_replace_categoricalz*TestSeriesReplace.test_replace_categoricalf  s     i$$11--..9W%%,,Z88HL+++  |22155H
x00000r(   c                    t          j        ddd          }t          j        |          }|                    d          }|                                }|j                            d          }d|d<   |j                                        }|d         dk    sJ |                    |d         d          }t          j
        ||           |d         dk    sJ |                    |d         dd	          }|J t          j
        ||           |d
         }|                    |d         |d
         d	          }|J |d
         |d         cxk    r|k    sn J d S )N
2016-01-01r
   
US/Pacificr`   rh   r   r5   r   Tr2   r   r   )r   rc   r   r   rJ   r   r   remove_unused_categoriesr   r   r   )r!   dtirk   cr$   r#   rB   first_values           r&   test_replace_categorical_singlez1TestSeriesReplace.test_replace_categorical_singlex  sa   mL!EEEIcNNHHZ  6688<..u55<88::tu}}}}1Q4''
x000tu}}}}yy1udy;;###
x+++dyy1qtTy::###tqt****{********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 )NrQ   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, exprP   r
   r0   r   )r   r   3r   r   r   )r   r   r   c                     t          j        |          }t          j        |          }|                    |          }t          j        ||           d S Nr   )r!   r"   
to_replacerC   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"   rC   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.*rN   c                 *    |                                  S r   )strip)r   s    r&   <lambda>zCTestSeriesReplace.test_replace_invalid_to_replace.<locals>.<lambda>  s    QWWYY r(   )r   r   rS   rT   	TypeErrorr   )r!   r   rW   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 boolrN   r   r5   )r   regex)r   r   to_framerS   rT   rU   r   )r!   r   objrW   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          }|J |                    ddd          }t          j        ||           ||usJ d S )Nr   r0   r4   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--{{{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   r5   zASeries.replace cannot use dict-like to_replace and non-None valuerN   r6   z<Series.replace cannot use dict-value and non-None to_replace)r   r   rS   rT   rU   r   )r!   fixed_now_tsr"   r   valuerW   s         r&   "test_replace_only_one_dictlike_argz4TestSeriesReplace.test_replace_only_one_dictlike_arg  sW    iAsL$788s^^
Q]: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d                    }|                    dd          }t          j        ||           d S )NrP   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(   r"   c                    |                                 }|                    |d         d          }t          j        |d         |d         gt	          |dd                    z   |j                  }t          j        ||           |                    |d         d          }t          j        ||                                            |	                                }|                    |d         dd          }|J t          j        ||           |                    |d         dd          }|J t          j        ||                                            d S )	Nr   pad)rs   r   r   r   T)rs   r3   )
r   r   r   r   r   r	   r   r   r    rJ   )	r!   r"   r%   r,   r$   res_dfser2res2res_df2s	            r&   _check_replace_with_methodz,TestSeriesReplace._check_replace_with_method  s6   \\^^kk#a&k//9c!fc!f-SW=SYOOO
sH---CF511
fh&7&7&9&9:::xxzz||CF5$|??|||
tX...**SVE4*@@
b("3"3"5"566666r(   c                     t          j        ddt           j        dg|          }t          j        |          }|                     |           d S )Nr   r   r0   r   )r   r   r   r   r   )r!   any_numeric_ea_dtypearrr"   s       r&   !test_replace_ea_dtype_with_methodz3TestSeriesReplace.test_replace_ea_dtype_with_method	  sI    h1beQ'/CDDDinn'',,,,,r(   as_categoricalc                     t           j                            t          d                    }t          j        |          }|r|                    d          }|                     |           d S )Nr0   r   )r   IntervalIndexfrom_breaksranger   r   r   )r!   r   idxr"   s       r&   !test_replace_interval_with_methodz3TestSeriesReplace.test_replace_interval_with_method  s`     **58844inn 	)**Z((C'',,,,,r(   	as_periodc                 0   t          j        ddd          }|r(|                    d                               d          }t          j        |          }t           j        |j        d<   |r|                    d          }|                     |           d S )Nr   r4   r   r   r}   r7   r   )	r   rc   tz_localize	to_periodr   rI   r   r   r   )r!   r  r   r  r"   s        r&   %test_replace_datetimelike_with_methodz7TestSeriesReplace.test_replace_datetimelike_with_method  s     mL!EEE 	7//$''11#66Cinnv 	)**Z((C'',,,,,r(   c                     t          j        g d          }t          j        d          }|                    |did          }t          j        g d          }t          j        ||           d S )N)r   r   r   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        gd          }dddd	d
}|                    |d          }t          j        ddd	dddt           j        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#   rC   s        r&   test_pandas_replace_naz(TestSeriesReplace.test_pandas_replace_na0  s    itT4r25ARRR	
 
 ]$77itYdBFhWWW
vs+++++r(   z,dtype, input_data, to_replace, expected_databoolrv   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$   r   r   	expected2ser3res3	expected3s
             r&   test_replace_string_dtypez+TestSeriesReplace.test_replace_string_dtypea  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_replaces  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_regexz  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      "@r5  g      $@r   r   )r   r   r
   r0   r   zInvalid valuerN   g      #@)	r   r   Float64Dtyper   r	   
Int64DtyperS   rT   r   )r!   floatsr,   intss       r&   test_replace_nullable_numericz/TestSeriesReplace.test_replace_nullable_numeric  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          j        dg          }|                    dd|          }t          j        ||           d S )N0r   )r   r   r   r   )r!   r   r   r$   r#   s        r&   test_replace_regex_dtype_seriesz1TestSeriesReplace.test_replace_regex_dtype_series  sT     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          }t          j        ||           d S )N)r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   )	r   r   dictzipvaluesrR   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4455h''<<A! 2 233
vx00000r(   ry   r5  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!   ry   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          }|d                             dgt          j        g          |d<   t           j                            ddt          j        dgi          }t          j        ||           t           j                            dg di          }|d                             d gt          j        g          |d<   t          j        ||           t           j                            dg di          }|d                             t          j                  |d<   t          j        ||           d S )NTest)0.5T0.6TrM  rN  )rM  NrN  )	r   r   	from_dictr   r   r+   r   r    r<   )r!   r%   r$   s      r&    test_replace_change_dtype_seriesz2TestSeriesReplace.test_replace_change_dtype_series  s*   \##V-A-A-A$BCCZ''996
<))6E2653I*JKK
b(+++\##V-A-A-A$BCCZ''996

b(+++\##V-A-A-A$BCCZ&&rv..6

b(+++++r(   r	   r   c                 D   t          j        ddt           j        g|          }t          j        ddt           j        g|          }|                    dd          }t	          j        ||           |                    ddd           t	          j        ||           d S )Nr   r   r   r   r7  Tr   r   r3   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q4888
sH-----r(   r   g      ?c                 L   t          j        |dg          }t          j        |t           j        g          }|                    dt           j                  }t	          j        ||           |                    dt           j        d           t	          j        ||           d S )Nr   r7  TrR  r  )r!   ry   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qt<<<
sH-----r(   N)C__name__
__module____qualname__r'   r-   rF   rL   rX   r\   re   rl   rp   rt   r   r   r   r   r   r   r   rS   markparametrizer   r   r   r   r   r   r   r   Categoricalr   r   r   r   r   r   r   r   r   r   r   r   r   r  r
  r  r  IntervalDtyper   IntervalPeriodDtypePeriodr#  r)  r/  r3  r<  r?  rH  r   r+   rJ  rP  rS  rU   r(   r&   r   r      s       1 1 18
# 
# 
#0( 0( 0(d? ? ?C C C"1 1 11 1 11 1 11 1 1' ' '*)1 )1 )1V* * *
1 1 11 1 11 1 11 1 1 (  (  (D [Yu66
2 
2 76
21 1 1; ; ;1 1 11 1 11 1 11 1 1 [R^SEsCj999A3?R^S#JC:>>>AG	
 	1 	1 	1+ + +2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
+ + + % % %7bi 7 7 7 7&- - - [-e}==- - >=- [[4-88[-e}==
- 
- >= 98
-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	1 	1 	1 [UQ$4551 1 651, , , [Wx&9::. . ;:. [UQH--. . .-. . .r(   r   )r  numpyr   rS   pandasr   pandas._testing_testingr   pandas.core.arraysr   r   r`  r(   r&   <module>rf     s    				                , , , , , ,L. L. L. L. L. L. L. L. L. L.r(   