
    Oh9}                     P    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y)    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*                  j-                  dddg      d        Zd Zd Zd Zd Zd Zd Zej*                  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 ej*                  j-                  d#g d$g d%fd&gd'gfg      d(        Z!d) Z"d* Z#ej*                  j-                  d+g d,d!d-d.d,g d/fg d0d1d2d3d0g d4fg      d5        Z$ej*                  j-                  d6g d,g d7fg d8g d9fg      d:        Z%d; Z&ej*                  j-                  d<ddg      d=        Z'ej*                  j-                  d<ddg      d>        Z(d? Z)d@ Z*dAejV                  fdBZ,dC Z-ej*                  j-                  dDddg      dE        Z.ej*                  j-                  dFddg      ej*                  j-                  dDddg      dG               Z/dH Z0dI Z1ej*                  j-                  dJdKddgddiddgfdLd d!gdMdNdOdMdNgfdPd d!gdMdNdOdMdNgfdQdRdSgdTdUdVdTdUgfdWdRdSgdTdUdVdTdUgfdXdYdZgd[d1d\d[d1gf ejd                  dL       e3 ejh                  d d!       ejh                  d!d-      g       ejh                  d d!       ejh                  dMdN      i e3 ejh                  dMdN       ejh                  d!d-      g      f ejd                  dQ       e3 ejh                  d]d^       ejh                  d_d`      g       ejh                  d]d^       ejh                  dadb      i e3 ejh                  dadb       ejh                  d_d`      g      f ejj                  dc       ejl                  dddce      g ejl                  dddce       ejl                  dfdce      i ejl                  dfdce      gfg	      dg        Z7dh Z8di Z9dj Z:dk Z;ej*                  j-                  dlddg      dm        Z<ej*                  j-                  dlddg      dn        Z=do Z>ej*                  j-                  dpd!e?j                  dqg      dr        ZAds ZBej*                  j-                  dtdudPg      dv        ZCej*                  j-                  dpdwdxg      dy        ZDdz ZEy{)|TestSeriesReplacec                 T   t        j                  g dt              }|j                  dd       }t        j                  g dt              }t	        j
                  ||       t        j                  t        j                  d            j                  dt        i      }d|j                  d<   |j                  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      }|j                  dd       }t        j                  g d      }|j                  d   J t	        j
                  ||       y )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        p/var/www/html/diagnosisapp-backend/venv/lib/python3.12/site-packages/pandas/tests/series/methods/test_replace.pytest_replace_explicit_nonez,TestSeriesReplace.test_replace_explicit_none   s;   ii
&1R&99\8
vx0 \\"((6*+22Av;?B%<<88A;88A;88,F;
 }}T"***
fh/ ii89S$'99@A}}R (((
vx0    c                    t        j                  d d t        j                  d      gt              }|j	                  t
        j                  d i      }t        j                  ||       |j                  t        k(  sJ |j	                  t
        j                  d       }t        j                  ||       |j                  t        k(  sJ y )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    iitR\\2D%EFfUkk2664.)
sC(yyF""" kk"&&$'
sC(yyF"""r(   c           	      8   d}t        j                  t        j                  j	                  d      j                  |            }t        j                  |dd d|dd |j                  t        j                  gdd	      }|J |j                  d      }t        j                  ||       |j                  d
t        j                        }t        j                  ||d
k(  <   t        j                  ||       t        j                  t        j                  t        j                  j	                  d      j                  |            t        j                  d|      t              }t        j                  |d d d|dd d|dd d}t        j                  t        |      5  |j                  t        j                  ddgd      }d d d        |d d dk(  j!                         sJ |dd dk(  j!                         sJ |dd dk(  j!                         sJ t        j"                  |d d       j!                         sJ t        j                  t        |      5  |j                  t        j                  dddddi      }d d d        |d d dk(  j!                         sJ |dd dk(  j!                         sJ |dd dk(  j!                         sJ t        j"                  |d d       j!                         sJ t        j                  t        |      5  |j                  t        j                  ddgg d      }d d d        t        j                  |       t        j                  t        |      5  |j                  t        j                  ddgdd	      }d d d        |J |d d dk(  j!                         sJ |dd dk(  j!                         sJ |dd dk(  j!                         sJ y # 1 sw Y   (xY w# 1 sw Y   |xY w# 1 sw Y   xY w# 1 sw Y   |xY w)N2   r   r         r   r   Tinplacer   
2020-01-01periodsr      foobarr   r   !Downcasting behavior in `replace`matchr   r=   r>   )r   r   r   randomdefault_rngstandard_normalr+   r   fillnar   r   fabs
date_ranger   assert_produces_warningFutureWarningallisna)r!   Nr"   return_valueexprsmsgrs2s           r&   test_replacezTestSeriesReplace.test_replace4   s   ii		--a0@@CD66AaAb	 {{BFF8R{>###jjn
sC([[bff%&&C3J
r3'iiGGBII))!,<<Q?@MM,2

 &&BQAb	Br
 2''SA 	9bffeU3R8B	9 2A"!!###1RB##%%%2b	R$$&&&BQ %%''' ''SA 	Abffb%UB?@B	A 2A"!!###1RB##%%%2b	R$$&&&BQ %%''' ''SA 	D++rvvue4lCC	D
r3' ''SA 	Q;;u'=r4;PL	Q###BQ2""$$$Ab	R$$&&&Br
b %%''';	9 	9	A 	A	D 	D
	Q 	Qs0    $O*&O7&P/&P*O47PPPc           	         t        j                  t        j                  dt        j                  g      }t        j                  |j                  t        j                  d      |j                  d             t        j                  t        j                  dddt        j                  d t         j                  g      }t        j                  |j                  t        j                  d      |j                  d             |j                         }d|d<   t        j                  |j                  t        j                  d      |       y )Nr   r8   r9   r0   )r   r   r   r+   infr   r   r   rC   NaTcopy)r!   r"   filleds      r&   test_replace_nan_with_infz+TestSeriesReplace.test_replace_nan_with_info   s    iiBFF+,
s{{26615szz!}EiiE5"&&$GH
s{{26615szz!}Eq	
s{{26615v>r(   c                    t        j                  |j                        }t        j                  |j                  t        j                  d      |j                  d             d}t        j                  t        |      5  |j                  g dt        j                  dg       d d d        |j                  ddgt        j                  dg      }t        j                  ||       t        j                  g d      }|j                  g dg d      }t        j                  |t        j                  g d             y # 1 sw Y   xY w)	Nr   z:Replacement lists must match in length\. Expecting 3 got 2r;   r   r   r
   r   r   r   r   r   r
   r0   )r0   r
   r   r   r   )r   r   indexr   r   r   r   r+   rC   pytestraises
ValueError)r!   datetime_seriesr"   rN   r#   s        r&   +test_replace_listlike_value_listlike_targetz=TestSeriesReplace.test_replace_listlike_value_listlike_targety   s    ii--.
s{{26615szz!}E L]]:S1 	0KK	BFFA;/	0 aVbffa[1
vs+ii(_o>
vryy'AB	0 	0s    %E  E	c                 ~   t        j                  dt        j                  dddg      }|j	                         }d}t        j                  t        |      5  |j                  t        j                  g      }d d d        t        j                  |       t        j                  dt        j                  dddg      }|j	                         }t        j                  t        |      5  |j                  t        j                        }d d d        t        j                  ||       y # 1 sw Y   xY w# 1 sw Y   ,xY w)Nr   r   r
   r0   PSeries.replace without 'value' and with non-dict-like 'to_replace' is deprecatedr;   )
r   r   r   r+   ffillr   rF   rG   r   r   )r!   r"   r$   rN   r#   s        r&   test_replace_gh5319z%TestSeriesReplace.test_replace_gh5319   s     iiBFFAq!,-99;) 	 ''SA 	+[["&&*F	+
vx0iiBFFAq!,-99;''SA 	)[[(F	)
vx0	+ 	+	) 	)s   !D'( D3'D03D<c                    t        j                  t        j                  dd            }|j                         }t        j                  d      |j
                  d<   |j                  t        j                  d      t        j                  d      i      }t        j                  ||       |j                  t        j                  d      t        j                  d            }t        j                  ||       y )N20130101r7   r5   20120101r   20130103)	r   r   rE   rT   r*   locr   r   r   r!   r"   r$   r#   s       r&   test_replace_datetime64z)TestSeriesReplace.test_replace_datetime64   s    iij!<=88:,,z2Qbll:6Z8PQR
vx0R\\*5r||J7OP
vx0r(   c                    t        j                  dd      }t        j                  t         j                  t        j                  dd      g      }|j	                  t
        j                  t         j                  gt         j                  j                        }t        j                  t         j                  j                  |gt              }t        j                  ||       y )Nz
2015/01/01UTC)tzr   )r   r*   r   rS   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IIrvvr||LUCDEBFFBFF+R\\-=-=>99bll..36B
x0r(   c                    t        j                  dd      }t        j                  |      }|j                  |d   |d   i      }t        j                  |d   |d   |d   |d   |d   g      }t	        j
                  ||       y )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.iin c!fc!f-.99c!fc!fc!fc!fc!fEF
vx0r(   c                 f   t        j                  g d      }d}t        j                  t        |      5  |j                  g d      }d d d        t        j                  t        j                  g d             |j                         }t        j                  t        |      5  |j                  g dd      }d d d        J t        j                  |t        j                  g d             |j                         }d}d	}t        j                  t        |      5  t        j                  t        |      5  |j                  g ddd
      }d d d        |J 	 d d d        t        j                  ||       y # 1 sw Y   ;xY w# 1 sw Y   xY w# 1 sw Y   FxY w# 1 sw Y   ExY w)NrY   ra   r;   rX   )r   r   r   r   r0   Tr2   zVInvalid fill method\. Expecting pad \(ffill\) or backfill \(bfill\)\. Got crash_cymbal4The 'method' keyword in Series.replace is deprecatedcrash_cymbal)r3   method)r   r   r   rF   rG   r   r   rT   r[   r\   r]   )r!   r"   msg2r#   rp   rK   rN   msg3s           r&   test_replace_with_single_listz/TestSeriesReplace.test_replace_with_single_list   sl   ii() 	 ''TB 	,[[+F	,
vryy'ABHHJ''TB 	>99Y9=L	>###
q"))O"<= HHJ, 	 F]]:S1 	(++MF Y yyDyXY'''	( 	q#&+	, 	,
	> 	>Y Y	( 	(s;   F'F#F'?FF'FFF$	 F''F0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            }|j                  t              j                  |d   |d   |d   gg d      }t        j                  g d|dd  j                         z   t              }t        j                  ||       y )Nr7   int64r   c                     j                         }j                  | |      }|j                  | |d      }|J t        j                  ||       t        j                  ||       y )NTr2   )rT   r   r   r   )to_repvalr$   scr#   rK   r"   s         r&   check_replacezATestSeriesReplace.test_replace_mixed_types.<locals>.check_replace   s^    B[[-F::fc4:@L'''""8V4""8R0r(   r
   g      @r   )r   r   r         @r0   r   )r   r   r   r   r   r0   r   r   r   re   )r   r   r   r   Tr   Tz1/1/2001z	1/10/2001Dfreq)      ?r   r   )r   r   r   aranger*   rE   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   ii		!G4	1 cUAb!S!beQqT3' II'(cUAb!Q II)*Ac
Ab!Q IIq!QR\\*%=>?Abll:67Ab!Q II*(;AdAb!Q YYr}}Z3GH6"**BqE2a5"Q%+@-P99]RV]]_<FK
vx0r(   c                     t        j                  g d      }|j                  dd      }t        j                  ||       y )NTFTfunz
in-the-sunr   r   r   r   r   )r!   rp   r#   s      r&   #test_replace_bool_with_string_no_opz5TestSeriesReplace.test_replace_bool_with_string_no_op  s1    II)*5,/
q&)r(   c                     t        j                  g d      }|j                  dd      }t        j                  g d      }t        j                  ||       y )Nr   T2u)r   Fr   r   r!   rp   r#   r$   s       r&   test_replace_bool_with_stringz/TestSeriesReplace.test_replace_bool_with_string  s@    II)*4&9901
x0r(   c                     t        j                  g d      }|j                  dd      }t        j                  dgt        |      z        }t	        j
                  ||       y )Nr   TF)r   r   r   lenr   r   r   s       r&   test_replace_bool_with_boolz-TestSeriesReplace.test_replace_bool_with_bool  sJ    II)*4'99eWs1v-.
x0r(   c                     t        j                  g d      }|j                  ddd      }t        j                  g d      }t        j                  ||       y )Nr   asdbyes)asdfT)r   Fr   r   r   s       r&   %test_replace_with_dict_with_bool_keysz7TestSeriesReplace.test_replace_with_dict_with_bool_keys  sC    II)*F%899923
vx0r(   c                    t        j                  dd g|      j                  dt         j                        }t        j                  t         j                  t         j                  g|      }t	        j
                  ||       t        j                  ddg|      j                  dt         j                        }|j                  dt         j                  d       t	        j
                  ||       y )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99beeRUU^3CD
vx0Aq6)9:BB1beeLq"%%.
vx0r(   c           	      R   d}t        j                  t        j                  t        j                  j                  d      j                  |            t        j                  d|      t              }t        j                  |d d d|dd	 d
|dd d}t        j                  t        |      5  |j                  t        j                  dd
gd      }d d d        d d dk(  j                         sJ |dd	 dk(  j                         sJ |dd dk(  j                         sJ t        j                  |d d       j                         sJ t        j                  t        |      5  |j                  t        j                  dddd
di      }d d d        |d d dk(  j                         sJ |dd	 dk(  j                         sJ |dd dk(  j                         sJ t        j                  |d d       j                         sJ t        j                  t        |      5  |j                  t        j                  dd
gg d      }d d d        t        j                   |       t        j                  t        |      5  |j                  t        j                  dd
gdd      }d d d        J |d d dk(  j                         sJ |dd	 dk(  j                         sJ |dd dk(  j                         sJ y # 1 sw Y   (xY w# 1 sw Y   |xY w# 1 sw Y   xY w# 1 sw Y   |xY w)Nr/   r   r4   r5   r   r7   r8   r1   r   r9   r   r   r:   r;   r   r=   r>   r?   Tr2   )r   r   r   rD   r@   rA   rB   rE   r   r+   r   rF   rG   r   rH   rI   r   )r!   rJ   r"   rN   rM   rO   rK   s          r&   test_replace2zTestSeriesReplace.test_replace2"  s   iiGGBII))!,<<Q?@MM,2

 &&BQAb	Br
 2''SA 	9bffeU3R8B	9 2A"!!###1RB##%%%2b	R$$&&&BQ %%''' ''SA 	Abffb%UB?@B	A 2A"!!###1RB##%%%2b	R$$&&&BQ %%''' ''SA 	D++rvvue4lCC	D
r3' ''SA 	Q;;u'=r4;PL	Q###BQ2""$$$Ab	R$$&&&Br
b %%'''9	9 	9	A 	A	D 	D
	Q 	Qs0   -$K7$&L&L<&L7LLLL&r3   TFc                     t        j                  g d      }t        j                  g d      }|j                  g dg d|      }|rt        j                  ||       y t        j                  ||       y )NrX   r   r
   r0   r2   r   )r!   r3   r"   r$   r,   s        r&   test_replace_cascadez&TestSeriesReplace.test_replace_cascadeM  sW     ii	"99Y'kk)Yk@""31""31r(   c                     t        j                  ddt        j                  g|      }t        j                  ddt        j                  g|      }|j	                  ddd      }t        j                  ||       y )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_dtypeZ  s]    iirvv.6KL99c3/7LMS56
x0r(   c                     t        j                  t        d            }t        j                  ||j                  i              t        j                  g       }t        j                  ||j                  |             y )Nabcd)r   r   listr   r   r   )r!   rp   empty_seriess      r&    test_replace_with_empty_dictlikez2TestSeriesReplace.test_replace_with_empty_dictlikea  sR    IId6l#
q!))B-0yy}
q!))L"9:r(   c                     t        j                  g d      }|j                  dt        j                        }t        j                  g d      }t        j                  ||       y NrX   r   r   r   r   r   r+   r   r   r   s       r&   test_replace_string_with_numberz1TestSeriesReplace.test_replace_string_with_numberi  B    IIi 3'99Y'
x0r(   c                     t        j                  ddg      }t        j                  ddg      }|j                  ddd      }t        j                  ||       y )Nr   r   )r   r   r   )r!   rp   r$   r#   s       r&   (test_replace_replacer_equals_replacementz:TestSeriesReplace.test_replace_replacer_equals_replacementp  sK     IIsCj!99c3Z(3/0
x0r(   c                     t        j                  g d      }|j                  dt        j                        }t        j                  g d      }t        j                  ||       y r   r   r   s       r&    test_replace_unicode_with_numberz2TestSeriesReplace.test_replace_unicode_with_numberx  r   r(   c                 t   t        j                  g d      }d}t        j                  t        |      5  |j                  ddgt        j                        }d d d        t        j                  dt        j                  dt        j                  dd	g      }t        j                  |       y # 1 sw Y   WxY w)
N)r   r   r
   4r0   r7   r:   r;   r   r   r   r
   r0   r7   )	r   r   r   rF   rG   r   r   r+   r   )r!   rp   rN   r#   r$   s        r&   $test_replace_mixed_types_with_stringz6TestSeriesReplace.test_replace_mixed_types_with_string  s    II*+1''SA 	1YY3x0F	199aBFFAq9:
x0	1 	1s   #B..B7zcategorical, numericAB)
categoriesr   r   c                    t        j                  |      }d}d}t        j                  t        |      5  |j                  ddd      }d d d        t        j                  |      j                  d      }d|j                  j                  vr|j                  j                  d      }t        j                  |       y # 1 sw Y   wxY w)Nr:   #with CategoricalDtype is deprecatedr;   r   r   )r   r   category)r   r   r   rF   rG   r   r   catr   add_categoriesr   )r!   categoricalnumericusing_infer_stringr"   rN   r#   r$   s           r&   test_replace_categoricalz*TestSeriesReplace.test_replace_categorical  s     ii$13''SA 	3[[qq!12F	399W%,,Z8HLL+++  ||2215H
x0	3 	3s   C  C	zdata, data_expr   r   c)r   r   r   r   r   c                    t        j                  |d      }d}t        j                  t        |      5  |j                  ddd       d d d        t        j                  |d      }t        j                  ||       y # 1 sw Y   7xY w)	Nr   r   r   r;   r   r   T
to_replacevaluer3   r   r   r   rF   rG   r   r   )r!   datadata_expr#   rN   r$   s         r&    test_replace_categorical_inplacez2TestSeriesReplace.test_replace_categorical_inplace  st    
 4z23''SA 	DNNcdNC	D99XZ8
vx0	D 	Ds   B  B	c                    t        j                  ddd      }t        j                  |      }|j                  d      }|j	                         }|j
                  j                  d      }d|d<   |j
                  j                         }|d   dk7  sJ d}t        j                  t        |	      5  |j                  |d   d      }d d d        t        j                  |       |d   dk7  sJ d}t        j                  t        |	      5  |j                  |d   dd
      }d d d        J t        j                  ||       |d   }d}t        j                  t        |	      5  |j                  |d   |d   d
      }d d d        |J |d   |d   cxk(  r|k(  sJ  J y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   <xY w)N
2016-01-01r
   
US/Pacificr6   rm   r   r8   r   r   r;   Tr2   r   r   )r   rE   r   r   rT   r   r   remove_unused_categoriesr   rF   rG   r   r   )	r!   dtirp   r   r$   rN   r#   rK   first_values	            r&   test_replace_categorical_singlez1TestSeriesReplace.test_replace_categorical_single  s   mmL!EIIcNHHZ 668<<..u5<<88:tu}}3''SA 	,YYqtU+F	,
x0tu}}3''SA 	@99QqT5$9?L	@###
x+d3''SA 	?99QqT1Q49>L	?###tqt*{*****!	, 	,	@ 	@	? 	?s$   0F%F1'F=%F.1F:=Gc                 d   t        j                  g d      }|j                  dgdg      }t        j                  g d      }t        j                  ||       t        j                  g d      }|j                  dgdg      }t        j                  g d      }t        j                  ||       y )NrY   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     IIo&A3!8 9:99BC
vx0IIKL34qc:99<=
vx0r(   zser, to_replace, exprX   r
   r0   r   )r   r   3r   r   r   )r   r   r   c                     t        j                  |      }t        j                  |      }|j                  |      }t        j                  ||       y Nr   )r!   r"   r   rL   seriesr$   r#   s          r&   test_replace_commutativez*TestSeriesReplace.test_replace_commutative  s<     399S>
+
vx0r(   zser, exp)r   Tr
   )xr   r
   )r   Tr
   c                     t        j                  |      }|j                  dd      }t        j                  |      }t        j                  ||       y )Nr   Tr   )r!   r"   rL   r   r#   r$   s         r&   test_replace_no_castz&TestSeriesReplace.test_replace_no_cast  s>     34(99S>
vx0r(   c                    t        j                  g d      }d}d}t        j                  t        |      5  t        j                  t        |      5  |j                  d        d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nr   r   zc zZExpecting 'to_replace' to be either a scalar, array-like, dict or None, got invalid type.*ra   r;   c                 "    | j                         S r   )strip)r   s    r&   <lambda>zCTestSeriesReplace.test_replace_invalid_to_replace.<locals>.<lambda>  s     r(   )	r   r   r[   r\   	TypeErrorr   rF   rG   r   )r!   r   rN   rz   s       r&   test_replace_invalid_to_replacez1TestSeriesReplace.test_replace_invalid_to_replace  s     +,0 	
) 	 ]]9C0 	4++MF 4234	4 	44 4	4 	4s#   BA7&B7B 	<BBframec                     t        j                  g d      }|r|j                         }d}t        j                  t
        |      5  |j                  dgd       d d d        y # 1 sw Y   y xY w)Nr   z4'to_replace' must be 'None' if 'regex' is not a boolr;   r   r8   )r   regex)r   r   to_framer[   r\   r]   r   )r!   r   objrN   s       r&   test_replace_nonbool_regexz,TestSeriesReplace.test_replace_nonbool_regex  sY    ii(),,.CD]]:S1 	7KKC5K6	7 	7 	7s   A%%A.c                    t        j                  g t        j                        }|r|j	                         }|j                  ddd      }|J |j                  ddd      }t        j                  ||       ||usJ y )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  sp    ii"**-,,.Ckk!Qk-{{kk!Qk.
S!#~~r(   c                 d   t        j                  ddd|dg      }ddd}d}d}t        j                  t        |      5  |j                  ||       d d d        d}dd	d}d
}t        j                  t        |      5  |j                  ||       d d d        y # 1 sw Y   IxY w# 1 sw Y   y xY w)Nr   r   r   T)r   r   r8   zASeries.replace cannot use dict-like to_replace and non-None valuer;   r9   z<Series.replace cannot use dict-value and non-None to_replace)r   r   r[   r\   r]   r   )r!   fixed_now_tsr"   r   r   rN   s         r&   "test_replace_only_one_dictlike_argz4TestSeriesReplace.test_replace_only_one_dictlike_arg  s     iiAsL$78s^
Q]]:S1 	+KK
E*	+ 
e$L]]:S1 	+KK
E*	+ 	+	+ 	+	+ 	+s   B>B&B#&B/c                      |t        j                  g dd            }|j                  dd      }t        j                  ||       y )NrX   Int64r   r   )r   r   r   r   r   )r!   frame_or_seriesr   r#   s       r&   test_replace_extension_otherz.TestSeriesReplace.test_replace_extension_other+  s5    bhhy@AR$
V$r(   r"   c                    |j                         }d}t        j                  t        |      5  |j	                  |d   d      }d d d        t        j                  |d   |d   gt        |dd        z   |j                        }t        j                  |       d	}t        j                  t        |      5  |j	                  |d   d      }d d d        t        j                  |j                                |j                         }t        j                  t        |      5  |j	                  |d   dd
      }	d d d        	J t        j                  ||       t        j                  t        |      5  |j	                  |d   dd
      }
d d d        
J t        j                  ||j                                y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   XxY w)Nrw   r;   r   pad)ry   r   r   r   z7The 'method' keyword in DataFrame.replace is deprecatedT)ry   r3   )r   r   rF   rG   r   r   r   r   r	   r   r    rT   )r!   r"   r%   msg1r,   r$   rz   res_dfser2res2res_df2s              r&   _check_replace_with_methodz,TestSeriesReplace._check_replace_with_method2  s   \\^E''TB 	4++c!fU+3C	499c!fc!f-SW=SYYO
sH-H''TB 	6ZZAuZ5F	6
fh&7&7&9:xxz''TB 	D<<Aud<CD	D||
tX.''TB 	EjjQtjDG	E
b("3"3"56'	4 	4	6 	6
	D 	D
	E 	Es/   G8G&G;G*GGG'*G3c                     t        j                  ddt         j                  dg|      }t        j                  |      }| j	                  |       y )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_methodK  s;    hh1beeQ'/CDiin'',r(   as_categoricalc                     t         j                  j                  t        d            }t        j                  |      }|r|j                  d      }| j                  |       y )Nr0   r   )r   IntervalIndexfrom_breaksranger   r   r  )r!   r  idxr"   s       r&   !test_replace_interval_with_methodz3TestSeriesReplace.test_replace_interval_with_methodQ  sJ     **584iin**Z(C'',r(   	as_periodc                 $   t        j                  ddd      }|r |j                  d       j                  d      }t        j                  |      }t         j
                  |j                  d<   |r|j                  d      }| j                  |       y )Nr   r7   r   r   r   r=   r   )	r   rE   tz_localize	to_periodr   rS   r   r   r  )r!   r  r  r  r"   s        r&   %test_replace_datetimelike_with_methodz7TestSeriesReplace.test_replace_datetimelike_with_method\  so     mmL!E//$'11#6Ciinvv**Z(C'',r(   c                     t        j                  g d      }t        j                  d      }|j	                  |did      }t        j                  g d      }t        j                  ||       y )Nr   z^a$zTr   )r  r   r   )r   r   recompiler   r   r   )r!   rp   r   r#   r$   s        r&    test_replace_with_compiled_regexz2TestSeriesReplace.test_replace_with_compiled_regexj  sR    IIo&

5!E3<t499_-
vx0r(   c           	         t        j                  ddddddt         j                  gd      }dddd	d
}|j                  |d      }t        j                  ddd	dddt         j                  gd      }t	        j
                  ||       y )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#   rL   s        r&   test_pandas_replace_naz(TestSeriesReplace.test_pandas_replace_nar  s    iitT4r255AR	
 ]$7iitYdBFhW
vs+r(   z,dtype, input_data, to_replace, expected_databoolr~   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                  ||      }|j                  |      }t        j                  ||      }t        j                  ||       y )Nr   r   )r!   r	   
input_datar   expected_datar"   r#   r$   s           r&   test_replace_dtypez$TestSeriesReplace.test_replace_dtype  sB    > ii
%0Z(99]%8
vx0r(   c                    t        j                  ddt        j                  gd      }|j	                  ddd      }t        j                  ddt        j                  gd      }t        j                  ||       t        j                  dt        j                  gd      }|j	                  dd	      }t        j                  d	t        j                  gd      }t        j                  ||       t        j                  dd	gd      }|j	                  dt         j                        }t        j                  t         j                  d	gd      }	t        j                  ||	       y )
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_dtype  s    iirvv.h?kk#c2399c3/x@
sH- yy#rvvh7||C%IIsBFFm8<	
tY/yy#s84||C'IIruucl(;	
tY/r(   c                     t        j                  ddgd      }|j                  ddgd      }t        j                  ddgd      }t        j                  ||       y )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_replace  sP    iih7kk5"45u=99eU^8<
sH-r(   c                     t        j                  ddgd      }|j                  ddd      }t        j                  ddgd      }t        j                  ||       y )	Nr   r   r)  r   .CTr  r   r@  s       r&   test_replace_string_dtype_regexz1TestSeriesReplace.test_replace_string_dtype_regex  sN    iic
(3kk$4k099c3Zx8
sH-r(   c                    t        j                  g dt        j                               }|j                  ddi      j                  |j                  k(  sJ |j                  dd      j                  |j                  k(  sJ |j                  ddi      j                  |j                  k(  sJ |j                  dd      j                  |j                  k(  sJ |j                  ddgddg      }|j                  |j                  k(  sJ t        j                  g d	t        j
                               }|j                  d
di      j                  |j                  k(  sJ |j                  d
d      j                  |j                  k(  sJ |j                  d
di      j                  |j                  k(  sJ |j                  d
d      j                  |j                  k(  sJ t        j                  t        d      5  |j                  d
di       d d d        t        j                  t        d      5  |j                  d
d       d d d        y # 1 sw Y   @xY w# 1 sw Y   y xY w)N)r          @gˡE@g@r   r   	   g      "@rG  g      $@r   r   )r   r   r
   r0   r   zInvalid valuer;   g      #@)	r   r   Float64Dtyper   r	   
Int64Dtyper[   r\   r   )r!   floatsr,   intss       r&   test_replace_nullable_numericz/TestSeriesReplace.test_replace_nullable_numeric  s    19JK~~sAh'--===~~c1%++v||;;;~~sCj)//6<<???~~c3'--===nnc
3+nFyyFLL(((yyR]]_=||QF#))TZZ777||Aq!''4::555||QH%++tzz999||As#))TZZ777 ]]9O< 	#LL!S"	#]]9O< 	!LLC 	! 	!	# 	#	! 	!s    I7III(r   c                     t        j                  dgt              }t        j                  dg      }d}t        j                  t
        |      5  |j                  dd|      }d d d        t        j                  |       y # 1 sw Y    xY w)N0r   r   r:   r;   r   r   r   )r   r   r   r   rF   rG   r   r   r!   r   r   r$   rN   r#   s         r&   test_replace_regex_dtype_seriesz1TestSeriesReplace.test_replace_regex_dtype_series  sw     C5/99aS>1''SA 	J^^s!5^IF	J
vx0	J 	Js   BBc                    t        j                  dgd      }t        j                  dgd      }d}t        j                  t        |      5  |j                  dd|      }d d d        t        j                  |       y # 1 sw Y    xY w)	NrP  strr   r   r~   r:   r;   rQ  r   rR  s         r&   &test_replace_regex_dtype_series_stringz8TestSeriesReplace.test_replace_regex_dtype_series_string  sx    C5.99aS01''SA 	J^^s!5^IF	J
vx0	J 	Js   BBc                 2   t        j                  g d|      }t        j                  g d|      }t        t        |j                  |j
                              }|j                  |      }|j                  dddd      }t        j                  ||       y )N)r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   )	r   r   dictzipvaluesrZ   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  sq    yy19LMyy*=>DKK45h'<<A! 23
vx0r(   r   rG  c                     t        j                  d|g      }|j                  |d       }t        j                  dd gt              }t	        j
                  ||       y )Nr   r   )r   r   r   r   r   r   )r!   r   r"   r#   r$   s        r&   %test_replace_value_none_dtype_numericz7TestSeriesReplace.test_replace_value_none_dtype_numeric  sJ     iiC!S$'99aYf5
vx0r(   c                    t        j                  dg dit              }|d   j                  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   j                  d gt        j
                  g      |d<   t        j                  ||       t        j                  dg dit              }|d   j                  t        j
                        |d<   t        j                  ||       y )NTest)0.5T0.6r   Trd  re  )rd  Nre  )	r   r   r   r   r   r+   r   r    rC   )r!   r%   r$   s      r&    test_replace_change_dtype_seriesz2TestSeriesReplace.test_replace_change_dtype_series  s    \\6#78GZ''96
<<%)? @O
b(+\\6#78GZ''96

b(+\\6#78GZ&&rvv.6

b(+r(   r	   r   c                 J   t        j                  ddt         j                  g|      }t        j                  ddt         j                  g|      }|j                  dd      }t	        j
                  ||       |j                  ddd       t	        j
                  ||       y )Nr   r   r   r   rI  Tr   r*  )r!   r	   r"   r$   r#   s        r&   test_replace_na_in_obj_columnz/TestSeriesReplace.test_replace_na_in_obj_column  s|     iiAruuU399aBEE]%83
vx0q48
sH-r(   r   g      ?c                 Z   t        j                  |dg      }t        j                  |t         j                  g      }|j                  dt         j                        }t	        j
                  ||       |j                  dt         j                  d       t	        j
                  ||       y )Nr   rI  Tr   r*  )r!   r   r"   r$   r#   s        r&   #test_replace_numeric_column_with_naz5TestSeriesReplace.test_replace_numeric_column_with_na  sx     iia!99c255\*7
vx0qt<
sH-r(   c                 D   t        j                  dgd      }|j                         }|j                  dd      }t	        j
                  ||       t        j                  dgd      }|j                         }|j                  dd      }t	        j
                  ||       y )Nr   r0  r   Fr   booleanT)r   r   rT   r   r   r   ri   s       r&   test_replace_ea_float_with_boolz1TestSeriesReplace.test_replace_ea_float_with_bool&  s|    iiY/88:UC(
vx0iiy188:S$'
vx0r(   N)F__name__
__module____qualname__r'   r-   rP   rV   r_   rc   rj   rq   ru   r|   r   r   r   r   r   r   r   r[   markparametrizer   r   r   r   r   r   r   r   Categoricalr   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r  r"  r,  IntervalDtyper   IntervalPeriodDtypePeriodr5  r;  rA  rE  rN  rS  rV  r_  r   r+   ra  rf  rh  rj  rm   r(   r&   r   r      s   18
#9(v?C"1&111':)1V*
1111)(V [[Yu6
2 7
21;1111 [[R^^SEsCj9A3?R^^S#JC:>AG	
11 [[O_=u~N11+>1 [[A!*I6Cc<oN	
	1	1 [[i.n0MN114  [[Wudm47 57 [[Wudm4
 5
+ %7bii 72- [[-e}=- >- [[[4-8[[-e}=
- > 9
-1, [[6dE]T5ME5>Bq!f"nr2h7q!f"nr2h7c
$T$:T4LIc
$T$:T4LIu~s3'?#sL   ){r{{1a0+"++a2CDEQ"KBKKB$78{r{{2r2KBKK14EFG	 !  +{r{{34kbkk#s6KLMS#&D$(?@{r{{46C8MNO	 s#93/093/931OP93/0	'	
:1;:10$..!0 [[Wudm41 51 [[Wudm41 51	1 [[UQ$451 61, [[Wx&9:. ;. [[UQH-. ..
1r(   r   )r   numpyr   r[   pandasr   pandas._testing_testingr   pandas.core.arraysr   r   rx  r(   r&   <module>r~     s#    	     ,e1 e1r(   