U
    ¾mœdÒk  ã                   @   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ej d#d$d%g¡d&d'„ ƒZd(d)„ Zd*d+„ Zd,d-„ Zd.d/„ Zd0d1„ Zd2d3„ Zej d4ejd5gd5d6gd7�d8gfejd5d6gd5d6gd7�d8d9gfg¡d:d;„ ƒZ d<d=„ Z!d>d?„ Z"ej d@d8d9dAgd9dAdBdCœd9dAdBgfdDdEdFgdEdFdGdHœdEdFdGgfg¡dIdJ„ ƒZ#ej dKd8d9dAgd8d$dAgfdLd9dAgdLd$dAgfg¡dMdN„ ƒZ$dOdP„ Z%ej dQd%d$g¡dRdS„ ƒZ&ej dQd%d$g¡dTdU„ ƒZ'dVdW„ Z(dXdY„ Z)ej*dZœd[d\„Z+d]d^„ Z,ej d_d$d%g¡d`da„ ƒZ-ej dbd$d%g¡ej d_d$d%g¡dcdd„ ƒƒZ.dedf„ Z/dgdh„ Z0ej didjd$d%gd$d%id%d%gfdkd8d9gdldmdnœdldmgfdod8d9gdldmdnœdldmgfdpdqdrgdsdtduœdsdtgfdvdqdrgdsdtduœdsdtgfdwdxdygdDdEdzœdDdEgfe 1dk¡e2e 3d8d9¡e 3d9dA¡gƒe 3d8d9¡e 3dldm¡ie2e 3dldm¡e 3d9dA¡gƒfe 1dp¡e2e 3d{d|¡e 3d}d~¡gƒe 3d{d|¡e 3dd€¡ie2e 3dd€¡e 3d}d~¡gƒfe 4d�¡ej5d‚d�dƒ�gej5d‚d�dƒ�ej5d„d�dƒ�iej5d„d�dƒ�gfg	¡d…d†„ ƒZ6d‡dˆ„ Z7d‰dŠ„ Z8d‹dŒ„ Z9d�dŽ„ Z:ej d�d%d$g¡d�d‘„ ƒZ;d’d“„ Z<ej d”d9e=j>d•g¡d–d—„ ƒZ?d˜d™„ Z@ej dšd›dog¡dœd�„ ƒZAej d”dždŸg¡d d¡„ ƒZBd¢S )£ÚTestSeriesReplacec              	   C   s  t jdddgtd�}| dd ¡}t jddd gtd�}t ||¡ t  t d¡¡ 	dti¡}d|j
d< | dd ¡}t  t d¡t d¡tjddd gtd�d	œ¡}|j
d d ks°t‚t ||¡ t  d
ddddddg¡}| dd ¡}t  d
ddd d dd g¡}|j
d d k�st‚t ||¡ d S )Nr   Ú ©Údtype)é   r   é   )r   r   r   ç        )r   é   r   é
   é   é   ÚaÚbéÿÿÿÿ)ÚpdÚSeriesÚobjectÚreplaceÚtmÚassert_series_equalÚ	DataFrameÚnpZzerosÚastypeÚilocÚarrayÚAssertionErrorÚassert_frame_equal)ÚselfÚserÚresultÚexpectedÚdf© r#   úa/home/sam/Atlas/atlas_env/lib/python3.8/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sDt
‚| tjd ¡}t ||¡ |j	tkslt
‚d S )Nz2021-12-16 17:31r   )r   r   Ú	Timestampr   r   r   Únanr   r   r   r   )r   r   Úresr#   r#   r$   Ú!test_replace_noop_doesnt_downcast(   s    z3TestSeriesReplace.test_replace_noop_doesnt_downcastc                 C   sv  d}t  tj |¡¡}tj|dd…< d|dd…< |jtjgddd�}|d ksPt‚| 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t‚|dd… dk ¡ �s t‚|dd… dk ¡ �s:t‚t  |d d… ¡ ¡ �sVt‚| tjdddddi¡}|d d… dk ¡ �sˆt‚|dd… dk ¡ �s¢t‚|dd… dk ¡ �s¼t‚t  |d d… ¡ ¡ �sØt‚| tjddgdddg¡}t	 
||¡ |jtjddgddd�}|d k�s$t‚|d d… dk ¡ �s>t‚|dd… dk ¡ �sXt‚|dd… dk ¡ �srt‚d S )Néd   r   é   é   r   r   T©Úinplacer	   r   é   ÚfooÚbarr   r   éþÿÿÿéýÿÿÿ)r   r   r   ÚrandomÚrandnr'   r   r   Úfillnar   r   ÚfabsÚmakeDateIndexr   ÚallÚisna)r   ÚNr   Úreturn_valueÚexpÚrsÚrs2r#   r#   r$   Útest_replace4   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   r0   r1   r+   )r   r   r   r'   Úinfr   r   r   r6   ÚNaTÚcopy)r   r   Zfilledr#   r#   r$   Útest_replace_nan_with_inff   s    z+TestSeriesReplace.test_replace_nan_with_infc              
   C   sÔ   t  |j¡}t | tjd¡| d¡¡ d}t	j
t|d�� | dddgtjdg¡ W 5 Q R X | ddgtjdg¡}t ||¡ t  dddddg¡}| dddddgdddddg¡}t |t  dddddg¡¡ d S )Nr   z:Replacement lists must match in length\. Expecting 3 got 2©Úmatchr
   r   r   r+   )r   r   Úindexr   r   r   r   r'   r6   ÚpytestÚraisesÚ
ValueError)r   Zdatetime_seriesr   Úmsgr    r#   r#   r$   Ú+test_replace_listlike_value_listlike_targetp   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'   Z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/   ©ÚperiodsZ20120101r   Z20130103)	r   r   Ú
date_rangerC   r&   Úlocr   r   r   rM   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/   rP   r
   r   r   r+   )r   Ztimedelta_ranger   r   r   r   )r   Ztdir   r    r!   r#   r#   r$   Útest_replace_timedelta_td64    s
    
(z-TestSeriesReplace.test_replace_timedelta_td64c              
   C   sÜ   t  dddddg¡}| dddg¡}t |t  dddddg¡¡ | ¡ }|jdddgdd�}|d ksht‚t |t  dddddg¡¡ | ¡ }d}tjt	|d	��( |jdddgdd
d�}|d ksÂt‚W 5 Q R X t ||¡ d S )Nr   r
   r   r   r+   Tr-   zVInvalid fill method\. Expecting pad \(ffill\) or backfill \(bfill\)\. Got crash_cymbalrE   Zcrash_cymbal)r.   Úmethod)
r   r   r   r   r   rC   r   rH   rI   rJ   )r   r   r    rY   r<   rK   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  dd	d
ddg¡}dgdg }}||||ƒ t  dd	d
ddg¡}ddgddg }}||||ƒ t  dd	d
dt  d¡g¡}ddgdt  d¡g }}||||ƒ t jdd	d
ddgdd�}ddgddg }}||||ƒ t  t jdddd�¡}| t¡ |d |d	 |d
 gdd
dg¡}t jdd
dg|dd …  	¡  td�}t
 ||¡ d S )Nr/   Úint64r   c                    sL   ˆ   ¡ }ˆ  | |¡}|j| |dd�}|d ks0t‚t ||¡ t ||¡ d S )NTr-   )rC   r   r   r   r   )Zto_repÚvalr!   Úscr    r<   ©r   r#   r$   Úcheck_replaceÂ   s    zATestSeriesReplace.test_replace_mixed_types.<locals>.check_replacer   g      @r   r
   r   g      @r+   r   rO   Tr   z1/1/2001z	1/10/2001ÚD©Úfreqç      ð?)r   r   r   Zaranger&   rR   r   r   r   Útolistr   r   )r   rb   ÚtrÚvÚeZdrr    r!   r#   ra   r$   Útest_replace_mixed_types¿   s*    	*$z*TestSeriesReplace.test_replace_mixed_typesc                 C   s,   t  dddg¡}| dd¡}t ||¡ d S )NTFZfunz
in-the-sun©r   r   r   r   r   )r   rY   r    r#   r#   r$   Ú#test_replace_bool_with_string_no_opê   s    z5TestSeriesReplace.test_replace_bool_with_string_no_opc                 C   s<   t  dddg¡}| dd¡}t  dddg¡}t ||¡ d S )NTFZ2url   ©r   rY   r    r!   r#   r#   r$   Útest_replace_bool_with_stringï   s    z/TestSeriesReplace.test_replace_bool_with_stringc                 C   s@   t  dddg¡}| dd¡}t  dgt|ƒ ¡}t ||¡ d S )NTF)r   r   r   Úlenr   r   rn   r#   r#   r$   Útest_replace_bool_with_boolö   s    z-TestSeriesReplace.test_replace_bool_with_boolc                 C   s@   t  dddg¡}| dddœ¡}t  dddg¡}t ||¡ d S )NTFZasdbÚyes)ZasdfTrl   rn   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   Z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 ¡ szt‚|dd… d
k ¡ s’t‚|dd	… d
k ¡ sªt‚t  |d d… ¡ ¡ sÄt‚| 
tj	d
ddddi¡}|d d… d
k ¡ sôt‚|dd… dk ¡ �st‚|dd	… dk ¡ �s(t‚t  |d d… ¡ ¡ �sDt‚| 
tj	ddgd
ddg¡}t ||¡ |j
tj	ddgd
dd�}|d k�s�t‚|d d… d
k ¡ �sªt‚|dd… d
k ¡ �sÄt‚|dd	… d
k ¡ �sÞt‚d S )Nr*   r   r/   r0   r,   r   r1   r   r   r   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#   r$   Útest_replace2  s,    $zTestSeriesReplace.test_replace2r.   TFc                 C   s^   t  dddg¡}t  dddg¡}|jdddgdddg|d�}|rNt ||¡ nt ||¡ d S )Nr
   r   r   r+   r-   rl   )r   r.   r   r!   r(   r#   r#   r$   Útest_replace_cascade-  s    z&TestSeriesReplace.test_replace_cascadec                 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©rx   ry   )r   r   r   r'   r   r   r   )r   Z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   s@   t  tdƒ¡}t || i ¡¡ t  g ¡}t || |¡¡ d S )NÚabcd)r   r   Úlistr   r   r   )r   rY   Zempty_seriesr#   r#   r$   Ú test_replace_with_empty_dictlikeA  s    
z2TestSeriesReplace.test_replace_with_empty_dictlikec                 C   s>   t  dddg¡}| dtj¡}t  dddg¡}t ||¡ d S ©Nr
   r   r   r{   ©r   r   r   r   r'   r   r   rn   r#   r#   r$   Útest_replace_string_with_numberI  s    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   rl   )r   rY   r!   r    r#   r#   r$   Ú(test_replace_replacer_equals_replacementP  s    z:TestSeriesReplace.test_replace_replacer_equals_replacementc                 C   s>   t  dddg¡}| dtj¡}t  dddg¡}t ||¡ d S r�   r‚   rn   r#   r#   r$   Ú test_replace_unicode_with_numberX  s    z2TestSeriesReplace.test_replace_unicode_with_numberc                 C   sR   t  ddddddg¡}| ddgtj¡}t  dtjdtjddg¡}t ||¡ d S )Nr
   r   r   Ú4r+   r/   r‚   rn   r#   r#   r$   Ú$test_replace_mixed_types_with_string_  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krB|j d¡}t ||¡ d S )Nr
   r   )rˆ   r‰   Úcategory)	r   r   r   r   ÚcatrŠ   Úadd_categoriesr   r   )r   ZcategoricalÚnumericr   r    r!   r#   r#   r$   Útest_replace_categoricalf  s    	
z*TestSeriesReplace.test_replace_categoricalc                 C   s  t jdddd�}t  |¡}| d¡}| ¡ }|j d¡}d|d< |j ¡ }|d dksZt‚| 	|d d¡}t
 ||¡ |d dks†t‚|j	|d ddd	�}|d ks¦t‚t
 ||¡ |d
 }|j	|d |d
 dd	�}|d ksÞt‚|d
 |d   krü|k�sn t‚d S )Nú
2016-01-01r   ú
US/Pacific©rQ   rV   r‹   r0   r   Tr-   r   r
   )r   rR   r   r   rC   rŒ   r�   Zremove_unused_categoriesr   r   r   r   )r   ZdtirY   Úcr!   r    r<   Zfirst_valuer#   r#   r$   Útest_replace_categorical_singlex  s$    


z1TestSeriesReplace.test_replace_categorical_singlec                 C   s„   t  dddddg¡}| dgdg¡}t  dddddg¡}t ||¡ t  dddg¡}| dgdg¡}t  dddg¡}t ||¡ d S )Nr   r
   r   r   r+   Z100000000000000000000Z100000000000000000001rl   rn   r#   r#   r$   Ú"test_replace_with_no_overflowerror‘  s    z4TestSeriesReplace.test_replace_with_no_overflowerrorzser, to_replace, expr   r+   )r
   r   r   rz   r{   Ú3r†   )rz   r{   r–   c                 C   s.   t  |¡}t  |¡}| |¡}t ||¡ d S ©Nrl   )r   r   Ú
to_replacer=   Úseriesr!   r    r#   r#   r$   Útest_replace_commutativež  s    


z*TestSeriesReplace.test_replace_commutativezser, expÚxc                 C   s0   t  |¡}| dd¡}t  |¡}t ||¡ d S )Nr   Trl   )r   r   r=   r™   r    r!   r#   r#   r$   Útest_replace_no_cast°  s    

z&TestSeriesReplace.test_replace_no_castc              	   C   s@   t  dddg¡}d}tjt|d�� | dd„ ¡ W 5 Q R X d S )Nr   r   úc zZExpecting 'to_replace' to be either a scalar, array-like, dict or None, got invalid type.*rE   c                 S   s   |   ¡ S r—   )Ústrip)r›   r#   r#   r$   Ú<lambda>Æ  ó    zCTestSeriesReplace.test_replace_invalid_to_replace.<locals>.<lambda>)r   r   rH   rI   Ú	TypeErrorr   )r   r™   rK   r#   r#   r$   Útest_replace_invalid_to_replace½  s
    ÿz1TestSeriesReplace.test_replace_invalid_to_replaceÚframec              	   C   sN   t  dddg¡}|r| ¡ }d}tjt|d�� |jdgdd� W 5 Q R X d S )Nr   r   r�   z4'to_replace' must be 'None' if 'regex' is not a boolrE   r0   )r˜   Úregex)r   r   Úto_framerH   rI   rJ   r   )r   r£   ÚobjrK   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 ks8t‚|jdddd�}t ||¡ ||k	s`t‚d S )Nr   r+   r/   Tr-   F)	r   r   r   Úfloat64r¥   r   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 5 Q R X d}dd	dœ}d
}tjt|d�� | ||¡ W 5 Q R X d S )Nr
   r   rˆ   T)r   r   r0   zASeries.replace cannot use dict-like to_replace and non-None valuerE   r1   z<Series.replace cannot use dict-value and non-None to_replace)r   r   rH   rI   rJ   r   )r   Zfixed_now_tsr   r˜   ÚvaluerK   r#   r#   r$   Ú"test_replace_only_one_dictlike_argß  s    

z4TestSeriesReplace.test_replace_only_one_dictlike_argc                 C   s4   |t jdddgdd�ƒ}| dd¡}t ||¡ d S )Nr
   r   r   ÚInt64r   r   )r   r   r   r   r©   )r   Zframe_or_seriesr¦   r    r#   r#   r$   Útest_replace_extension_otherï  s    z.TestSeriesReplace.test_replace_extension_otherra   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 ksœt
‚t ||¡ |j|d ddd�}|d ksÈt
‚t ||  ¡ ¡ d S )	Nr
   Úpad)r\   r   r   r   T)r\   r.   )r¥   r   r   r   r   r   r   r   r   rC   r   )	r   r   r"   r(   r!   Zres_dfÚser2Úres2Z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   rt   r   r²   )r   Zany_numeric_ea_dtypeZ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   ZIntervalIndexZfrom_breaksÚranger   r   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< |rH| d¡}|  |¡ d S )Nr�   r/   r‘   r’   rc   r2   r‹   )	r   rR   Ztz_localizeZ	to_periodr   rB   r   r   r²   )r   r¸   r´   r¶   r   r#   r#   r$   Ú%test_replace_datetimelike_with_method  s    

z7TestSeriesReplace.test_replace_datetimelike_with_methodc                 C   sL   t  dddg¡}t d¡}|j|didd�}t  dddg¡}t ||¡ d S )Nr   r   r“   z^a$ÚzT©r¤   )r   r   ÚreÚcompiler   r   r   )r   rY   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ÚCCZDDÚEEr   Ústringr   zCC-REPL)r¿   rÀ   rÂ   rÁ   Tr»   ©r   r   rt   r   r   r   )r   r   Zregex_mappingr    r=   r#   r#   r$   Útest_pandas_replace_na0  s    üz(TestSeriesReplace.test_pandas_replace_naz,dtype, input_data, to_replace, expected_dataÚboolr^   r   r   )r
   r   r­   r¨   çš™™™™™ñ?çš™™™™™@g333333$@g     €4@)rÇ   rÈ   ZFloat64rÃ   rx   ry   r|   rf   gš™™™™™@gffffff@gÍÌÌÌÌÌ@g333333%@gÍÌÌÌÌÌ4@ÚMz2020-05rd   z2020-06c                 C   s6   t j||d�}| |¡}t j||d�}t ||¡ d S )Nr   rl   )r   r   Z
input_datar˜   Zexpected_datar   r    r!   r#   r#   r$   Útest_replace_dtype=  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 )
Nrx   ry   rÃ   r   rz   r{   r|   rˆ   r‰   )r   r   r   r'   r   r   r   rt   )
r   r   r(   r!   r°   r±   Z	expected2Zser3Zres3Z	expected3r#   r#   r$   Útest_replace_string_dtypea  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 stringZxyzrl   ©r   r   r(   r!   r#   r#   r$   Ú)test_replace_string_dtype_list_to_replaces  s    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»   rl   rÎ   r#   r#   r$   Útest_replace_string_dtype_regexz  s    z1TestSeriesReplace.test_replace_string_dtype_regexc              	   C   sx  t jddddgt  ¡ d�}| ddi¡j|jks4t‚| dd¡j|jksLt‚| ddi¡j|jksft‚| dd¡j|jks~t‚|jddgddgd	�}|j|jks¤t‚t jd
dddgt  ¡ d�}| d
di¡j|jksØt‚| d
d¡j|jksðt‚| d
di¡j|jk�st‚| d
d¡j|jk�s&t‚tjt	dd�� | d
di¡ W 5 Q R X tjt	dd�� | d
d¡ W 5 Q R X d S )Nrf   ç       @gË¡E¶óý@gš™™™™™@r   é	   g      "@g      $@©r˜   r«   r
   r   r   r+   zInvalid valuerE   g      #@)
r   r   ZFloat64Dtyper   r   r   Z
Int64DtyperH   rI   r¡   )r   Zfloatsr(   Zintsr#   r#   r$   Útest_replace_nullable_numeric�  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¤   rl   )r   r¤   r™   r!   r    r#   r#   r$   Útest_replace_regex_dtype_series™  s    z1TestSeriesReplace.test_replace_regex_dtype_seriesc              	   C   sp   t jddddddddg|d�}t jdddg|d�}tt|j|jƒƒ}| |¡}| ddddœ¡}t ||¡ d S )Nr
   r   r   r   )r   r   r
   )	r   r   ÚdictÚzipÚvaluesrG   r   r   r   )r   Zany_int_numpy_dtypeZlabsÚmapsZmap_dictr    r!   r#   r#   r$   Ú test_replace_different_int_types¡  s    
z2TestSeriesReplace.test_replace_different_int_typesr_   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   r_   r   r    r!   r#   r#   r$   Ú%test_replace_value_none_dtype_numeric¬  s    z7TestSeriesReplace.test_replace_value_none_dtype_numericc                 C   sÊ   t j ddddgi¡}|d  dgtjg¡|d< t j ddtjdgi¡}t ||¡ t j ddd dgi¡}|d  d gtjg¡|d< t ||¡ t j ddd dgi¡}|d  tj¡|d< t ||¡ d S )NZTestz0.5Tz0.6)	r   r   Ú	from_dictr   r   r'   r   r   r6   )r   r"   r!   r#   r#   r$   Ú test_replace_change_dtype_series´  s    z2TestSeriesReplace.test_replace_change_dtype_seriesr   r   c                 C   sf   t jddt jg|d�}t jddt jg|d�}|jddd�}t ||¡ |jdddd� t ||¡ d S )Nr   r
   r   r   rÕ   T©r˜   r«   r.   rÄ   )r   r   r   r!   r    r#   r#   r$   Útest_replace_na_in_obj_columnÃ  s    z/TestSeriesReplace.test_replace_na_in_obj_columnr   g      à?c                 C   s\   t  |dg¡}t  |t jg¡}|jdt jd�}t ||¡ |jdt jdd� t ||¡ d S )Nr
   rÕ   Trá   rÄ   )r   r_   r   r!   r    r#   r#   r$   Ú#test_replace_numeric_column_with_naÎ  s    z5TestSeriesReplace.test_replace_numeric_column_with_naN)CÚ__name__Ú
__module__Ú__qualname__r%   r)   r@   rD   rL   rN   rT   rZ   r[   r]   rk   rm   ro   rq   rs   ru   rv   rH   ÚmarkZparametrizerw   r}   r€   rƒ   r„   r…   r‡   r   ZCategoricalr�   r”   r•   rš   rœ   r¢   r§   rª   r¬   r®   r   r²   r³   r·   r¹   r¾   rÅ   ZIntervalDtyper   ZIntervalZPeriodDtypeZPeriodrÊ   rË   rÏ   rÒ   rÖ   rØ   rÝ   r   r'   rÞ   rà   râ   rã   r#   r#   r#   r$   r      sÌ   2


+	"
þþ
þþ
 &ÿ


	


üüüíþ




r   )r¼   Únumpyr   rH   Zpandasr   Zpandas._testingZ_testingr   Zpandas.core.arraysr   r   r#   r#   r#   r$   Ú<module>   s   