o
    ¹id  ã                   @   sJ   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„ dƒZdS )é    N)ÚIntervalArrayc                   @   s<  e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Zd#d$„ Zd%d&„ Zd'd(„ Zd)d*„ Zd+d,„ Zd-d.„ Zej d/ejd0gd0d1gd2d3gfejd0d1gd0d1gd2d3d4gfg¡d5d6„ ƒZd7d8„ Z d9d:„ Z!ej d;g d<¢d4d=d>d<œg d?¢fg d@¢dAdBdCd@œg dD¢fg¡dEdF„ ƒZ"ej dGg d<¢g dH¢fg dI¢g dJ¢fg¡dKdL„ ƒZ#dMdN„ Z$ej dOdPdQg¡dRdS„ ƒZ%ej dOdPdQg¡dTdU„ ƒZ&dVdW„ Z'dXdY„ Z(dZej)fd[d\„Z*d]d^„ Z+ej d_dQdPg¡d`da„ ƒZ,ej dbdQdPg¡ej d_dQdPg¡dcdd„ ƒƒZ-dedf„ Z.dgdh„ Z/ej didjdQdPgdQdPidPdPgfdkd3d4gdldmdnœdldmgfdod3d4gdldmdnœdldmgfdpdqdrgdsdtduœdsdtgfdvdqdrgdsdtduœdsdtgfdwdxdygdzdAd{œdzdAgfe 0dk¡e1e 2d3d4¡e 2d4d=¡gƒe 2d3d4¡e 2dldm¡ie1e 2dldm¡e 2d4d=¡gƒfe 0dp¡e1e 2d|d}¡e 2d~d¡gƒe 2d|d}¡e 2d€d¡ie1e 2d€d¡e 2d~d¡gƒfe 3d‚¡ej4dƒd‚d„gej4dƒd‚d„ej4d…d‚d„iej4d…d‚d„gfg	¡d†d‡„ ƒZ5dˆd‰„ Z6dŠd‹„ Z7dŒd„ Z8dŽd„ Z9ej ddPdQg¡d‘d’„ ƒZ:d“d”„ Z;ej d•d4e<j=d–g¡d—d˜„ ƒZ>d™S )šÚTestSeriesReplacec                 C   sö   t jg d¢td}| dd ¡}t jg d¢td}t ||¡ t  t d¡¡}d|j	d< | dd ¡}t  t d¡t d¡tj
g d¢tdd	œ¡}|j	d d u sPJ ‚t ||¡ t  g d
¢¡}| dd ¡}t  g d¢¡}|j	d d u ssJ ‚t ||¡ d S )N)r   r   Ú ©Údtyper   )r   r   N)é   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ÚilocÚarrayÚassert_frame_equal)ÚselfÚserÚresultÚexpectedÚdf© r"   úc/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/pandas/tests/series/methods/test_replace.pyÚtest_replace_explicit_none   s(   
ýÿz,TestSeriesReplace.test_replace_explicit_nonec                 C   sp   t jd d t  d¡gtd}| tjd i¡}t ||¡ |j	tks"J ‚| tjd ¡}t ||¡ |j	tks6J ‚d S )Nz2021-12-16 17:31r   )
r   r   Ú	Timestampr   r   r   Únanr   r   r   )r   r   Úresr"   r"   r#   Ú!test_replace_noop_doesnt_downcast'   s   z3TestSeriesReplace.test_replace_noop_doesnt_downcastc                 C   sd  d}t  tj |¡¡}tj|dd…< d|dd…< |jtjgddd}|d u s(J ‚| d¡}t 	||¡ | d	tj¡}tj||d	k< t 	||¡ t jt 
tj |¡¡t |¡td
}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  |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  |d d… ¡ ¡ säJ ‚| tjddgg d¢¡}t 	||¡ |jtjddgddd}|d u s	J ‚|d d… dk ¡ sJ ‚|dd… dk ¡ s#J ‚|dd… dk ¡ s0J ‚d S )Néd   r   é   é   r   r   T©Úinplacer	   r   é   ÚfooÚbarr   r   éþÿÿÿéýÿÿÿ©r   r1   r2   )r   r   r   ÚrandomÚrandnr&   r   Úfillnar   r   ÚfabsÚmakeDateIndexr   ÚallÚisna)r   ÚNr   Úreturn_valueÚexpÚrsÚrs2r"   r"   r#   Útest_replace3   s@   
$zTestSeriesReplace.test_replacec              	   C   s”   t  tjdtjg¡}t | tjd¡| d¡¡ t  tjdddtjd t j	g¡}t | tjd¡| d¡¡ | 
¡ }d|d< t | tjd¡|¡ d S )Nr   r/   r0   r*   )r   r   r   r&   Úinfr   r   r   r6   ÚNaTÚcopy)r   r   Úfilledr"   r"   r#   Útest_replace_nan_with_infe   s   z+TestSeriesReplace.test_replace_nan_with_infc                 C   sÎ   t  |j¡}t | tjd¡| d¡¡ d}t	j
t|d | g d¢tjdg¡ W d   ƒ n1 s3w   Y  | ddgtjdg¡}t ||¡ t  g d¢¡}| g d¢g d¢¡}t |t  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   r*   )r*   r   r   r
   r   )r   r   Úindexr   r   r   r   r&   r6   ÚpytestÚraisesÚ
ValueError)r   Údatetime_seriesr   Úmsgr   r"   r"   r#   Ú+test_replace_listlike_value_listlike_targeto   s   ÿz=TestSeriesReplace.test_replace_listlike_value_listlike_targetc                 C   sr   t  dtjdddg¡}| ¡ }| tjg¡}t ||¡ t  dtjdddg¡}| ¡ }| tj¡}t ||¡ d S )Nr   r   r   r*   )r   r   r   r&   Úffillr   r   r   ©r   r   r    r   r"   r"   r#   Útest_replace_gh5319€   s   z%TestSeriesReplace.test_replace_gh5319c                 C   sz   t  t jddd¡}| ¡ }t  d¡|jd< | t  d¡t  d¡i¡}t ||¡ | t  d¡t  d¡¡}t ||¡ d S )NÚ20130101r.   ©ÚperiodsÚ20120101r   Ú20130103)	r   r   Ú
date_rangerC   r%   Úlocr   r   r   rR   r"   r"   r#   Útest_replace_datetime64   s   z)TestSeriesReplace.test_replace_datetime64c                 C   sf   t jddd}t  t jt jdddg¡}| tjt jgt jj¡}t jt jj|gtd}t	 
||¡ d S )Nz
2015/01/01ÚUTC)Útzr   )r   r%   r   rB   r   r   r&   Úminr   r   r   )r   ÚtsÚsr   r    r"   r"   r#   Útest_replace_nat_with_tz—   s
   z*TestSeriesReplace.test_replace_nat_with_tzc                 C   sf   t jddd}t  |¡}| |d |d i¡}t  |d |d |d |d |d g¡}t ||¡ d S )Nr   r.   rU   r
   r   r   r*   )r   Útimedelta_ranger   r   r   r   )r   Útdir   r   r    r"   r"   r#   Útest_replace_timedelta_td64Ÿ   s
   
(z-TestSeriesReplace.test_replace_timedelta_td64c                 C   sØ   t  g d¢¡}| g d¢¡}t |t  g d¢¡¡ | ¡ }|jg d¢dd}|d u s,J ‚t |t  g d¢¡¡ | ¡ }d}tjt|d |jg d¢ddd	}|d u sUJ ‚W d   ƒ n1 s_w   Y  t ||¡ d S )
NrI   rH   )r   r   r   r   r*   Tr,   zVInvalid fill method\. Expecting pad \(ffill\) or backfill \(bfill\)\. Got crash_cymbalrF   Úcrash_cymbal)r-   Úmethod)	r   r   r   r   r   rC   rK   rL   rM   )r   r   r   r`   r<   rO   r"   r"   r#   Útest_replace_with_single_list©   s   ÿþz/TestSeriesReplace.test_replace_with_single_listc              	      s€  t jt d¡dd‰ ‡ fdd„}dgdg}}|||ˆ ƒ ||d |d ˆ ƒ t  g d	¢¡}dgd
g}}||||ƒ t  g d¢¡}ddgd
dg}}||||ƒ t  dddd
t  d¡g¡}ddgd
t  d¡g}}||||ƒ t jg d¢dd}ddgd
dg}}||||ƒ t  t jdddd¡}| t¡ |d |d |d gg d¢¡}t jg d¢|dd …  	¡  td}t
 ||¡ d S )Nr.   Úint64r   c                    sL   ˆ   ¡ }ˆ  | |¡}|j| |dd}|d u sJ ‚t ||¡ t ||¡ d S )NTr,   )rC   r   r   r   )Úto_repÚvalr    Úscr   r<   ©r   r"   r#   Úcheck_replaceÁ   s   zATestSeriesReplace.test_replace_mixed_types.<locals>.check_replacer   g      @r   )r   r
   r   ç      @r*   rn   )r   r
   r   rn   r   r*   r   r
   r   rT   )r   r
   r   rn   Tr   Tz1/1/2001z	1/10/2001ÚD©Úfreq)ç      ð?r   r   )r   r   r   Úaranger%   rY   Úastyper   r   Útolistr   r   )r   rm   ÚtrÚvÚeÚdrr   r    r"   rl   r#   Útest_replace_mixed_types¾   s*   	("z*TestSeriesReplace.test_replace_mixed_typesc                 C   s*   t  g d¢¡}| dd¡}t ||¡ d S )N©TFTÚfunz
in-the-sun©r   r   r   r   r   )r   r`   r   r"   r"   r#   Ú#test_replace_bool_with_string_no_opé   s   z5TestSeriesReplace.test_replace_bool_with_string_no_opc                 C   s8   t  g d¢¡}| dd¡}t  g d¢¡}t ||¡ d S )Nr{   TÚ2u)r   Fr   r}   ©r   r`   r   r    r"   r"   r#   Útest_replace_bool_with_stringî   s   z/TestSeriesReplace.test_replace_bool_with_stringc                 C   s>   t  g d¢¡}| dd¡}t  dgt|ƒ ¡}t ||¡ d S )Nr{   TF)r   r   r   Úlenr   r   r€   r"   r"   r#   Útest_replace_bool_with_boolõ   s   z-TestSeriesReplace.test_replace_bool_with_boolc                 C   s<   t  g d¢¡}| dddœ¡}t  g d¢¡}t ||¡ d S )Nr{   ÚasdbÚyes)ÚasdfT)r…   Fr…   r}   r€   r"   r"   r#   Ú%test_replace_with_dict_with_bool_keysû   s   z7TestSeriesReplace.test_replace_with_dict_with_bool_keysc                 C   s|   t jdd g|d dt j¡}t jt jt jg|d}t ||¡ t jddg|d dt j¡}|jdt jdd t ||¡ d S )Nr   r   r
   Tr,   )r   r   r   ÚNAr   r   )r   Úany_int_ea_dtyper   r    r"   r"   r#   Útest_replace_Int_with_na  s   z*TestSeriesReplace.test_replace_Int_with_nac                 C   sÒ  d}t jt tj |¡¡t |¡td}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 ¡ sIJ ‚|dd	… d
k ¡ sUJ ‚t  |d d… ¡ ¡ sbJ ‚| 
tj	d
ddddi¡}|d d… d
k ¡ szJ ‚|dd… dk ¡ s†J ‚|dd	… dk ¡ s’J ‚t  |d d… ¡ ¡ sŸJ ‚| 
tj	ddgg d¢¡}t ||¡ |j
tj	ddgd
dd}|d u sÃJ ‚|d d… d
k ¡ sÏJ ‚|dd… d
k ¡ sÛJ ‚|dd	… d
k ¡ sçJ ‚d S )Nr)   r   r.   r/   r+   r   r0   r   r   r   r1   r2   r3   Tr,   )r   r   r   r7   r4   r5   r   r8   r   r&   r   r9   r:   r   )r   r;   r   r>   r?   r<   r"   r"   r#   Útest_replace2
  s,   $zTestSeriesReplace.test_replace2c                 C   sL   t jddtjg|d}t jddtjg|d}| dddœ¡}t ||¡ d S )NÚoneÚtwor   Ú1Ú2©rŒ   r   )r   r   r   r&   r   r   r   )r   Únullable_string_dtyper   r    r   r"   r"   r#   Ú+test_replace_with_dictlike_and_string_dtype,  s   z=TestSeriesReplace.test_replace_with_dictlike_and_string_dtypec                 C   sj   t  tdƒ¡}t || i ¡¡ t t¡ t  g ¡}W d   ƒ n1 s%w   Y  t || |¡¡ d S )NÚabcd)r   r   Úlistr   r   r   Úassert_produces_warningÚFutureWarning)r   r`   Úempty_seriesr"   r"   r#   Ú test_replace_with_empty_dictlike3  s   ÿz2TestSeriesReplace.test_replace_with_empty_dictlikec                 C   ó:   t  g d¢¡}| dtj¡}t  g d¢¡}t ||¡ d S ©NrH   r   ©r   r   r   r   r&   r   r   r€   r"   r"   r#   Útest_replace_string_with_number<  ó   z1TestSeriesReplace.test_replace_string_with_numberc                 C   s<   t  ddg¡}t  ddg¡}| dddœ¡}t ||¡ d S )Nr   r   )r   r   r}   )r   r`   r    r   r"   r"   r#   Ú(test_replace_replacer_equals_replacementC  s   z:TestSeriesReplace.test_replace_replacer_equals_replacementc                 C   r™   rš   r›   r€   r"   r"   r#   Ú test_replace_unicode_with_numberK  r   z2TestSeriesReplace.test_replace_unicode_with_numberc                 C   sJ   t  g d¢¡}| ddgtj¡}t  dtjdtjddg¡}t ||¡ d S )N)r
   r   r   Ú4r*   r.   r   r    r
   r   r*   r.   r›   r€   r"   r"   r#   Ú$test_replace_mixed_types_with_stringR  s   z6TestSeriesReplace.test_replace_mixed_types_with_stringzcategorical, numericÚAÚB)Ú
categoriesr
   r   c                 C   sR   t  |¡}| dddœ¡}t  |¡ d¡}d|jjvr!|j d¡}t ||¡ d S )Nr
   r   )r¢   r£   Úcategory)	r   r   r   rt   Úcatr¤   Úadd_categoriesr   r   )r   ÚcategoricalÚnumericr   r   r    r"   r"   r#   Útest_replace_categoricalY  s   
	z*TestSeriesReplace.test_replace_categoricalc                 C   s  t jdddd}t  |¡}| d¡}| ¡ }|j d¡}d|d< |j ¡ }|d dks-J ‚| |d d¡}t	 
||¡ |d dksCJ ‚|j|d ddd	}|d u sSJ ‚t	 
||¡ |d
 }|j|d |d
 dd	}|d u soJ ‚|d
 |d   kr~|ksJ ‚ J ‚d S )Nú
2016-01-01r   ú
US/Pacific©rV   r]   r¥   r/   r   Tr,   r   r
   )r   rY   r   rt   rC   r¦   r§   Úremove_unused_categoriesr   r   r   )r   Údtir`   Úcr    r   r<   Úfirst_valuer"   r"   r#   Útest_replace_categorical_singlek  s$   


(z1TestSeriesReplace.test_replace_categorical_singlec                 C   st   t  g d¢¡}| dgdg¡}t  g d¢¡}t ||¡ t  g d¢¡}| dgdg¡}t  g d¢¡}t ||¡ d S )NrI   r   Ú100000000000000000000)r   r
   r   r³   r*   )r   r³   Ú100000000000000000001r
   )r   r
   r´   r}   r€   r"   r"   r#   Ú"test_replace_with_no_overflowerror„  s   z4TestSeriesReplace.test_replace_with_no_overflowerrorzser, to_replace, exprH   r   r*   )r   r   r*   )rŽ   r   Ú3r   r¶   r    )r   r¶   r    c                 C   s.   t  |¡}t  |¡}| |¡}t ||¡ d S ©Nr}   )r   r   Ú
to_replacer=   Úseriesr    r   r"   r"   r#   Útest_replace_commutative‘  s   


z*TestSeriesReplace.test_replace_commutativezser, exp)r
   Tr   )Úxr   r   )r»   Tr   c                 C   s0   t  |¡}| dd¡}t  |¡}t ||¡ d S )Nr   Tr}   )r   r   r=   r¹   r   r    r"   r"   r#   Útest_replace_no_cast£  s   

z&TestSeriesReplace.test_replace_no_castc                 C   sT   t  g d¢¡}d}tjt|d | dd„ ¡ W d   ƒ d S 1 s#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.*rF   c                 S   s   |   ¡ S r·   )Ústrip)r»   r"   r"   r#   Ú<lambda>¹  s    zCTestSeriesReplace.test_replace_invalid_to_replace.<locals>.<lambda>)r   r   rK   rL   Ú	TypeErrorr   )r   r¹   rO   r"   r"   r#   Útest_replace_invalid_to_replace°  s   ÿ"ÿz1TestSeriesReplace.test_replace_invalid_to_replaceÚframeFTc                 C   sb   t  g d¢¡}|r| ¡ }d}tjt|d |jdgdd W d   ƒ d S 1 s*w   Y  d S )Nr½   z4'to_replace' must be 'None' if 'regex' is not a boolrF   r   r/   )r¸   Úregex)r   r   Úto_framerK   rL   rM   r   )r   rÂ   ÚobjrO   r"   r"   r#   Útest_replace_nonbool_regex»  s   "ÿz,TestSeriesReplace.test_replace_nonbool_regexc                 C   sd   t jg tjd}|r| ¡ }|jdddd}|d u sJ ‚|jdddd}t ||¡ ||us0J ‚d S )Nr   r*   r.   Tr,   F)r   r   r   Úfloat64rÄ   r   r   Úassert_equal)r   rÂ   rÅ   r'   r"   r"   r#   Útest_replace_empty_copyÅ  s   z)TestSeriesReplace.test_replace_empty_copyc                 C   s²   t  ddd|dg¡}dddœ}d}d}tjt|d | ||¡ W d   ƒ n1 s+w   Y  d}dd	dœ}d
}tjt|d | ||¡ W d   ƒ d S 1 sRw   Y  d S )Nr
   r   r¢   T)r   r   r/   zASeries.replace cannot use dict-like to_replace and non-None valuerF   r0   z<Series.replace cannot use dict-value and non-None to_replace)r   r   rK   rL   rM   r   )r   Úfixed_now_tsr   r¸   ÚvaluerO   r"   r"   r#   Ú"test_replace_only_one_dictlike_argÒ  s   
ÿ
"ÿz4TestSeriesReplace.test_replace_only_one_dictlike_argc                 C   s2   |t jg d¢ddƒ}| dd¡}t ||¡ d S )NrH   ÚInt64r   r   )r   r   r   r   rÈ   )r   Úframe_or_seriesrÅ   r   r"   r"   r#   Útest_replace_extension_otherâ  s   z.TestSeriesReplace.test_replace_extension_otherr   c           	      C   sÜ   |  ¡ }|j|d dd}tj|d |d gt|dd … ƒ |jd}t ||¡ |j|d dd}t ||  ¡ ¡ | 	¡ }|j|d ddd}|d u sNJ ‚t ||¡ |j|d ddd}|d u sdJ ‚t ||  ¡ ¡ d S )	Nr
   Úpad)rf   r   r   r   T)rf   r-   )
rÄ   r   r   r   r”   r   r   r   r   rC   )	r   r   r!   r'   r    Úres_dfÚser2Úres2Úres_df2r"   r"   r#   Ú_check_replace_with_methodé  s   ,z,TestSeriesReplace._check_replace_with_methodc                 C   s0   t jddt jdg|d}t  |¡}|  |¡ d S )Nr
   r   r*   r   )r   r   rˆ   r   rÕ   )r   Úany_numeric_ea_dtypeÚarrr   r"   r"   r#   Ú!test_replace_ea_dtype_with_methodü  s   
z3TestSeriesReplace.test_replace_ea_dtype_with_methodÚas_categoricalc                 C   s6   t j tdƒ¡}t  |¡}|r| d¡}|  |¡ d S )Nr*   r¥   )r   ÚIntervalIndexÚfrom_breaksÚranger   rt   rÕ   )r   rÙ   Úidxr   r"   r"   r#   Ú!test_replace_interval_with_method  s
   

z3TestSeriesReplace.test_replace_interval_with_methodÚ	as_periodc                 C   sV   t jdddd}|r| d ¡ d¡}t  |¡}t j|jd< |r$| d¡}|  |¡ d S )Nr«   r.   r¬   r­   ro   r1   r¥   )	r   rY   Útz_localizeÚ	to_periodr   rB   r   rt   rÕ   )r   rß   rÙ   rÝ   r   r"   r"   r#   Ú%test_replace_datetimelike_with_method  s   

z7TestSeriesReplace.test_replace_datetimelike_with_methodc                 C   sH   t  g d¢¡}t d¡}|j|didd}t  g d¢¡}t ||¡ d S )N)r   r   r°   z^a$ÚzT©rÃ   )rã   r   r°   )r   r   ÚreÚcompiler   r   r   )r   r`   rÃ   r   r    r"   r"   r#   Ú test_replace_with_compiled_regex  s
   
z2TestSeriesReplace.test_replace_with_compiled_regexc                 C   sh   t jddddddt jgdd}dddd	d
œ}|j|dd}t jddd	dddt jgdd}t ||¡ 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   r=   r"   r"   r#   Útest_pandas_replace_na#  s   üz(TestSeriesReplace.test_pandas_replace_naz,dtype, input_data, to_replace, expected_dataÚboolrh   r   r   )r
   r   rÍ   rÇ   çš™™™™™ñ?çš™™™™™@g333333$@g     €4@)rñ   rò   ÚFloat64rí   rŒ   r   rŽ   r   rr   gš™™™™™@gffffff@gÍÌÌÌÌÌ@g333333%@gÍÌÌÌÌÌ4@ÚMz2020-05rp   z2020-06c                 C   s6   t j||d}| |¡}t j||d}t ||¡ d S )Nr   r}   )r   r   Ú
input_datar¸   Úexpected_datar   r   r    r"   r"   r#   Útest_replace_dtype0  s   
z$TestSeriesReplace.test_replace_dtypec           
      C   sÌ   t jddtjgdd}| dddœ¡}t jddtjgdd}t ||¡ t jdtjgdd}| dd	¡}t jd	tjgdd}t ||¡ t jdd	gdd}| dt j¡}t jt jd	gdd}	t ||	¡ 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Ú	expected3r"   r"   r#   Útest_replace_string_dtypeT  s   z+TestSeriesReplace.test_replace_string_dtypec                 C   sD   t jddgdd}| ddgd¡}t jddgdd}t ||¡ d S )NÚabcÚdefrí   r   zany other stringÚxyzr}   ©r   r   r'   r    r"   r"   r#   Ú)test_replace_string_dtype_list_to_replacef  ó   z;TestSeriesReplace.test_replace_string_dtype_list_to_replacec                 C   sD   t jddgdd}|jdddd}t jddgdd}t ||¡ d S )	Nr¢   r£   rí   r   Ú.ÚCTrä   r}   r   r"   r"   r#   Útest_replace_string_dtype_regexm  r  z1TestSeriesReplace.test_replace_string_dtype_regexc                 C   s–  t jg d¢t  ¡ d}| ddi¡j|jksJ ‚| dd¡j|jks$J ‚| ddi¡j|jks1J ‚| dd¡j|jks=J ‚|jddgddgd}|j|jksPJ ‚t jg d	¢t  ¡ d}| d
di¡j|jkshJ ‚| d
d¡j|jkstJ ‚| d
di¡j|jksJ ‚| d
d¡j|jksJ ‚tjtdd | d
di¡ W d   ƒ n1 s¦w   Y  tjtdd | d
d¡ W d   ƒ d S 1 sÄw   Y  d S )N)rr   ç       @gË¡E¶óý@gš™™™™™@r   rr   é	   g      "@r  g      $@)r¸   rË   )r
   r   r   r*   r
   zInvalid valuerF   g      #@)	r   r   ÚFloat64Dtyper   r   Ú
Int64DtyperK   rL   rÀ   )r   Úfloatsr'   Úintsr"   r"   r#   Útest_replace_nullable_numerict  s$   ÿ"ÿz/TestSeriesReplace.test_replace_nullable_numericrÃ   c                 C   s8   t  dg¡}t  dg¡}|jdd|d}t ||¡ d S )NÚ0r
   )r¸   rË   rÃ   r}   )r   rÃ   r¹   r    r   r"   r"   r#   Útest_replace_regex_dtype_seriesŒ  s   z1TestSeriesReplace.test_replace_regex_dtype_seriesc                 C   sh   t jg d¢|d}t jg d¢|d}dd„ t|j|jƒD ƒ}| |¡}| ddddœ¡}t ||¡ d S )	N)r
   r
   r
   r   r   r   r   r   r   )r   r   r
   c                 S   s   i | ]\}}||“qS r"   r"   )Ú.0ÚoldÚnewr"   r"   r#   Ú
<dictcomp>™  s    zFTestSeriesReplace.test_replace_different_int_types.<locals>.<dictcomp>r   r
   r   )r   r   ÚzipÚvaluesrJ   r   r   r   )r   Úany_int_numpy_dtypeÚlabsÚmapsÚmap_dictr   r    r"   r"   r#   Ú test_replace_different_int_types”  s   
z2TestSeriesReplace.test_replace_different_int_typesrj   r  c                 C   s<   t  d|g¡}| |d ¡}t jdd gtd}t ||¡ d S )Nr
   r   )r   r   r   r   r   r   )r   rj   r   r   r    r"   r"   r#   Ú%test_replace_value_none_dtype_numericŸ  s   z7TestSeriesReplace.test_replace_value_none_dtype_numericN)?Ú__name__Ú
__module__Ú__qualname__r$   r(   r@   rE   rP   rS   r[   ra   rd   rg   rz   r~   r   rƒ   r‡   rŠ   r‹   r’   r˜   rœ   rž   rŸ   r¡   rK   ÚmarkÚparametrizer   ÚCategoricalrª   r²   rµ   rº   r¼   rÁ   rÆ   rÉ   rÌ   rÏ   r   rÕ   rØ   rÞ   râ   rç   rï   ÚIntervalDtyper   ÚIntervalÚPeriodDtypeÚPeriodr÷   rü   r  r  r  r  r  r   r&   r  r"   r"   r"   r#   r      s¾    2


+	"	þþ
þþ
 ÿ


	


üüüíþ

r   )rå   Únumpyr   rK   Úpandasr   Úpandas._testingÚ_testingr   Úpandas.core.arraysr   r   r"   r"   r"   r#   Ú<module>   s    