U
    `»{jWá  ã                   @  s¨   d dl mZ d dlmZ d dlZd dlZd dlZd dlZd dlm	Z	m
Z
mZmZmZ d dlmZ ejddœdd„ƒZejd	dœd
d„ƒZG dd„ dƒZG dd„ dƒZdS )é    )Úannotations)ÚdatetimeN)Ú	DataFrameÚIndexÚSeriesÚ	TimestampÚ
date_rangezdict[str, list[int | str]])Úreturnc                   C  s   t tdƒƒt dƒdœS )Né   úab..©ÚaÚb)ÚlistÚrange© r   r   úf/var/www/html/bwave/python/venv/lib/python3.8/site-packages/pandas/tests/frame/methods/test_replace.pyÚmix_ab   s    r   zdict[str, list[float | str]]c                   C  s"   t tdƒƒt dƒddtjdgdœS )Nr
   r   r   r   Úd©r   r   Úc)r   r   ÚnpÚnanr   r   r   r   Úmix_abc   s    r   c                   @  sF	  e Zd Zdd„ Zej dddgejdgddejejgdgd	 d
g d
dddgdœfddgddgddddgdddd
gd
dddgdœfddgddgddddgdddd
gd
dddgdœfg¡ej dddg¡ej dddg¡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/d0„ Zd1d2„ Zd3d4„ Zej d5ejd6d7œd6ejd8œg¡d9d:„ ƒZej d;d<d=d>d?d@g¡dAdB„ ƒZej dCdDdEgdFdGdHœdIdJgfdGd6d6gdKejidGejejgfg¡dLdM„ ƒZdNdO„ ZdPdQ„ ZdRdS„ ZdTdU„ ZdVdW„ ZdXdY„ ZdZd[„ Z d\d]„ Z!d^d_„ Z"d`da„ Z#dbdc„ Z$ej dddedfdgg¡dhdi„ ƒZ%djdk„ Z&dldm„ Z'dndo„ Z(dpdq„ Z)drds„ Z*dtdu„ Z+dvdw„ Z,ej dxe-dydzd{d	giƒdzd|e-dyd|d{d	giƒfe-dydzd{d	giej.d}�dzd|e-dyd|d{d	giej.d}�fe-dydzd{d	giej/d}�dzd|e-dyd|d{d	giej/d}�fe-d~dddgiƒdde-d~dddgiƒfe-dd€d�d‚giƒd€d|e-ddƒd�d‚giƒfe-d„e0e1d…d†d‡ƒe1d…dˆd‡ƒe1d…d†d‡ƒgƒiƒe1d…d†d‡ƒe1d…dˆd‡ƒe-d„e0e1d…dˆd‡ƒgd	 ƒiƒfe-e1d‰dŠd‹ƒgdŒgd�œƒdŒdŽe-e1d‰dŠd‹ƒgdŽgd�œƒfe-d�e1d�d‘dzƒgiƒe1d�d‘dzƒe1d’d‘dzƒe-d�e1d’d‘dzƒgiƒfe-e2d“d	d”d•�d|ejd{gd–œƒe3d—d”d˜�e3d™d”d˜�e-e3d“d”d˜�e3d™d”d˜�e3dšd”d˜�gd|ejd{gd–œƒfe-dzd›gd{dœggƒd›d†e-d†d�gd{dœggƒfe-dzd›gd{dœggƒdzd†e-d†d�gd{dœggƒfe-dzd›gd{dœggƒd›d�e-d†d�gd{dœggƒfe-dzd›gd{dœggƒdzd�e-d†d�gd{dœggƒfg¡dždŸ„ ƒZ4d d¡„ Z5d¢d£„ Z6d¤d¥„ Z7d¦d§„ Z8d¨d©„ Z9dªd«„ Z:d¬d­„ Z;d®d¯„ Z<d°d±„ Z=d²d³„ Z>d´dµ„ Z?d¶d·„ Z@d¸d¹„ ZAdºd»„ ZBd¼d½„ ZCd¾d¿„ ZDdÀdÁ„ ZEdÂdÃ„ ZFdÄdÅ„ ZGdÆdÇ„ ZHej dÈd|dÉdzdzd{gd†ejdˆgdddFgdÊœfejdÉd|dzd{gd�dËdËgdddFgdÊœfdGdÌd|dzd{gd†ejdˆgdddFgdÊœfd|d{gdÉdzdzd{gd†ejdˆgdddFgdÊœfdzd{gdÍd|d|d|gd†ejdˆgdddFgdÊœfdÎdÉd|d{d{gd†ejdˆgdddFgdÊœfddFgdÌd|dzd{gd†ejdˆgdddgdÊœfg¡dÏdÐ„ ƒZIej dÑdzdzdHœd	d	gd{d{ggfdzd{dHœd	dzgd{d	ggfg¡dÒdÓ„ ƒZJej dÔdzd{d	gdÕd†dÖgd×œd†dÖdˆdØœdzd{d	gd†dÖdˆgd×œfdzd{d	gdÙdÚdÛgd×œdÚdÛdÜdÝœdzd{d	gdÚdÛdÜgd×œfg¡dÞdß„ ƒZKej dàe3dáƒe Ldz¡e /dz¡e Mdz¡e Ndz¡g¡dâdã„ ƒZOdädå„ ZPdædç„ ZQej dddèdédêdfdeg¡ej dëejejg¡dìdí„ ƒƒZRej dîejd†g¡dïdð„ ƒZSej dëe Tdñ¡e Ud|d†¡g¡dòdó„ ƒZVdôdõ„ ZWdöd÷„ ZXdødù„ ZYdúdû„ ZZdüdý„ Z[dþdÿ„ Z\ej �d dzgd›gd|gd|gfdzgdzgd|gd|gfd›gd›gd|g�dgfd›gdzgd|g�dgfg¡ej �de]e^ej_g¡�d�d„ ƒƒZ`�dS (  ÚTestDataFrameReplacec                 C  sþ   t j|d d d…< t j|d dd …< | ¡ }|jt jddd�}|d ksJt‚t || d¡¡ |}t j|jdd…|j	 
d¡f< t j|jd	d …|j	 
d¡f< | t jd¡}|jdd
�}t ||¡ | ¡ }|jt jgdgdd�}|d ksèt‚t || d¡¡ d S )NÚAé   éûÿÿÿr   T©Úinplaceé   Úfooéöÿÿÿ©Úvalue)r   r   ÚcopyÚreplaceÚAssertionErrorÚtmÚassert_frame_equalÚfillnaÚilocÚcolumnsÚget_loc)ÚselfÚdatetime_frameÚfloat_string_frameÚtsframeÚreturn_valueÚmfÚresultÚexpectedr   r   r   Útest_replace_inplace   s     z)TestDataFrameReplace.test_replace_inplacezto_replace,values,expectedú\s*\.\s*ze|f|gÚcrapr   r   é   ÚhÚlÚor   ú
\s*(\.)\s*z(e|f|g)ú\1\1ú\1_crapú..Ze_crapZf_crapZg_crapÚeÚfÚgr   TFÚuse_value_regex_argsc                 C  sp   t tdƒtdƒtdƒdœƒ}|r2|j|||d�}n|j||d|d�}|rX|d ksTt‚|}t |ƒ}t ||¡ d S )Nr   ÚefghÚhelor   )r$   Úregexr   T©rG   r   )r   r   r&   r'   r(   r)   )r.   Ú
to_replaceÚvaluesr5   r   rD   Údfr4   r   r   r   Útest_regex_replace_list_obj6   s    *z0TestDataFrameReplace.test_regex_replace_list_objc           	      C  s^  t |ƒ}ddg}tjdg}ttdƒƒtdƒtdƒdœ}t |ƒ}|j||dd	�}t |d dd
tjtjgddddgdœƒ}t ||¡ ddg}ddg}|j||dd	�}t |d ddddgdœƒ}t ||¡ dddg}dddg}|j||dd	�}t |d ddddgdœƒ}t ||¡ dddg}dddg}|j||d�}t |d ddddgdœƒ}t ||¡ d S )Nr7   r   r8   r
   r   Zhalor   T©rG   r   r:   r;   r<   r=   ú(a|b)r>   r?   Úa_crapÚb_crapr@   r   ú(b)©rG   r$   )r   r   r   r   r   r&   r(   r)   )	r.   r   ÚdfmixÚto_replace_resrJ   Zmix2Zdfmix2ÚresÚexpecr   r   r   Útest_regex_replace_list_mixedn   s8    

ýÿ



z2TestDataFrameReplace.test_regex_replace_list_mixedc                 C  sŒ  t |ƒ}ddg}tjdg}| ¡ }|j||ddd�}|d ks@t‚t |d ddtjtjgdœƒ}t ||¡ dd	g}d
dg}| ¡ }|j||ddd�}|d ks t‚t |d ddddgdœƒ}t ||¡ dddg}d
ddg}| ¡ }|j||ddd�}|d k�st‚t |d ddddgdœƒ}t ||¡ dddg}d
ddg}| ¡ }|j||dd�}|d k�sbt‚t |d ddddgdœƒ}t ||¡ d S )Nr7   r   r8   T©r   rG   r   r   r=   rN   r>   r?   rO   rP   r@   rQ   ©rG   r$   r   )r   r   r   r%   r&   r'   r(   r)   )r.   r   rS   rT   rJ   rU   r2   rV   r   r   r   Ú%test_regex_replace_list_mixed_inplace—   s:    




z:TestDataFrameReplace.test_regex_replace_list_mixed_inplacec                 C  s†  t |ƒ}|jddidtjidd�}| ¡ }|jddidtjiddd�}|d ksRt‚t |d ddtjtjg|d dœƒ}t ||¡ t ||¡ |jdd	idd
idd�}| ¡ }|jdd	idd
iddd�}|d ksÔt‚t |d ddddg|d dœƒ}t ||¡ t ||¡ |jdd	idd
id�}| ¡ }|jdd	idd
idd�}|d k�sPt‚t |d ddddg|d dœƒ}t ||¡ t ||¡ t |d tjdddg|d dœƒ}|jddtjidd�}| ¡ }|jddtjiddd�}|d k�sît‚t ||¡ t ||¡ |jddtjidd�}| ¡ }|jddtjidd�}|d k�sHt‚t |d tjdddg|d dœƒ}t ||¡ t ||¡ d S )Nr   r7   TrM   rX   r   r   r   r=   z\1tyz.tyrR   rY   Ú.rH   ©r   r&   r   r   r%   r'   r(   r)   )r.   r   rS   rU   Úres2r2   rV   r   r   r   Útest_regex_replace_dict_mixed¿   sx       ÿÿ   ÿÿ  ÿÿÿÿz2TestDataFrameReplace.test_regex_replace_dict_mixedc           	      C  sè   t |ƒ}|jddtjiidd�}| ¡ }| ¡ }|jddtjiiddd�}|d ksVt‚|jddtjiid�}|jddtjiidd�}|d ks�t‚t |d ddtjtjg|d d	œƒ}t ||¡ t ||¡ t ||¡ t ||¡ d S )
Nr   r7   TrM   rX   rH   r   r   r   r\   )	r.   r   rS   rU   r]   Zres4r2   Úres3rV   r   r   r   Útest_regex_replace_dict_nested  s(      ÿÿz3TestDataFrameReplace.test_regex_replace_dict_nestedc                 C  sR   |}t ddddgi|d�}t ddddgi|d�}|jd	d
idd�}t ||¡ d S )NÚfirstÚabcZbcaZcab©Údtypez.bczbc.zc.br   r[   TrM   ©r   r&   r(   r)   )r.   Úany_string_dtyperd   rK   r5   r4   r   r   r   Ú2test_regex_replace_dict_nested_non_first_character  s
    zGTestDataFrameReplace.test_regex_replace_dict_nested_non_first_characterc                 C  sT   t dddddgddœƒ}t dddddgddœƒ}| ddddœi¡}t ||¡ d S )	NÚQÚTé   )ÚTypeÚtmpr   é   rk   )rh   ri   re   ©r.   rK   r5   r4   r   r   r   Ú%test_regex_replace_dict_nested_gh4115!  s    z:TestDataFrameReplace.test_regex_replace_dict_nested_gh4115c                 C  sÌ   t |ƒ}t |d t tjgd ¡tjtjtjdgdœƒ}|jddgtjdd�}| ¡ }| ¡ }|jddgtjddd	�}|d ks‚t‚|jddgtjdd
�}|d ks¤t‚t ||¡ t ||¡ t ||¡ d S )Nr   r
   r   r   r7   za|bTrM   rH   rY   )	r   r   Úarrayr   r&   r%   r'   r(   r)   )r.   r   rK   rV   rU   r]   r_   r2   r   r   r   Ú!test_regex_replace_list_to_scalar'  s4    ýÿ   ÿ  ÿz6TestDataFrameReplace.test_regex_replace_list_to_scalarc                 C  sª   t |ƒ}|jdddd�}| ¡ }|jddddd�}|d ks>t‚| ¡ }|jdddd�}|d ksbt‚t |d ddddg|d	 d
œƒ}t ||¡ t ||¡ t ||¡ d S )Nr7   r   TrM   rX   rY   r   r   r   r   )r   r&   r%   r'   r(   r)   ©r.   r   rK   rU   r]   r2   r_   rV   r   r   r   Ú!test_regex_replace_str_to_numeric?  s     z6TestDataFrameReplace.test_regex_replace_str_to_numericc                 C  s¼   t |ƒ}|jddgddd�}| ¡ }|jddgdddd�}|d ksFt‚| ¡ }|jddgddd�}|d ksnt‚t |d ddddgddtjd	gd
œƒ}t ||¡ t ||¡ t ||¡ d S )Nr7   r   r   TrM   rH   rY   r   r   r   )r   r&   r%   r'   r   r   r(   r)   rr   r   r   r   Ú(test_regex_replace_regex_list_to_numericN  s     ÿz=TestDataFrameReplace.test_regex_replace_regex_list_to_numericc           
      C  sÈ   t |ƒ}tddiƒ}tdtjiƒ}|j||dd�}| ¡ }|j||ddd�}|d ksXt‚| ¡ }|j||dd�}|d ks|t‚t |d ddtjtjg|d d	œƒ}	t ||	¡ t ||	¡ t ||	¡ d S )
Nr   r7   TrM   rX   rY   r   r   r   )	r   r   r   r   r&   r%   r'   r(   r)   )
r.   r   rK   Ús1Ús2rU   r]   r2   r_   rV   r   r   r   Ú$test_regex_replace_series_of_regexes^  s     ÿz9TestDataFrameReplace.test_regex_replace_series_of_regexesc                 C  sV   t |ƒ}t ddddg|d |d dœƒ}| dd¡}t ||¡ |jjtjksRt‚d S )	Nr   rm   rj   r9   r   r   r   r   )	r   r&   r(   r)   r   rd   r   Zobject_r'   )r.   r   rK   rV   rU   r   r   r   Ú/test_regex_replace_numeric_to_object_conversionp  s
     zDTestDataFrameReplace.test_regex_replace_numeric_to_object_conversionrI   Ú )ry   ú,)rz   ry   c                 C  sb   t dddgdddgdddgdœƒ}|j|d�}t d	ddgdtjdgdddgdœƒ}t ||¡ d S )
Nz1,000r   Ú3ry   r   r   ©Úcol1Úcol2Úcol3rM   Z1000©r   r&   r   r   r(   r)   )r.   rI   rK   r4   r5   r   r   r   Ú+test_joint_simple_replace_and_regex_replacew  s    ýÿ
ýÿz@TestDataFrameReplace.test_joint_simple_replace_and_regex_replaceÚmetacharz[]z()z\dz\wz\sc                 C  sB   t d|dgiƒ}| d|dii¡}t dddgiƒ}t ||¡ d S )Nr   ÚelseZparenre   )r.   r‚   rK   r4   r5   r   r   r   Útest_replace_regex_metachar�  s    z0TestDataFrameReplace.test_replace_regex_metacharzdata,to_replace,expectedZxaxZxbxr   r   r   ZxcxZxdxz^\s*$c           	      C  s:   |}|||d�}|j |dd�}|||d�}t ||¡ d S )Nrc   TrM   ©r&   r(   Úassert_equal)	r.   ÚdatarI   r5   Úframe_or_seriesrf   rd   Úobjr4   r   r   r   Útest_regex_replace_string_types”  s
    z4TestDataFrameReplace.test_regex_replace_string_typesc                 C  s  t j|d d d…< t j|d dd …< | t jd¡}t || d¡¡ t | dt j¡|¡ t j|d d d…< t j|d dd …< d|d d d…< tddgd�}t || dd	¡¡ td
t d¡fdt d¡fgƒ}| d
t j¡}tt jt d¡fdt d¡fgƒ}t ||¡ d S )Nr   r   r   ç    „×—ÁÚBr   r   )Úindexé   ú-Z20150101Z20150102)	r   r   r&   r(   r)   r*   r   ÚpdÚto_datetime)r.   r/   Úzero_filledrK   Údf1Zexpected_dfr   r   r   Útest_replace¦  s$    ÿÿz!TestDataFrameReplace.test_replacec                 C  sÊ   t dƒt dƒt dƒdœ}t|ƒ}ddg}tjdg}| ||¡}tdd	tjtjgdd
ddgddddgdœƒ}t ||¡ dd
g}ddg}| ||¡}tdd	ddgddddgddddgdœƒ}t ||¡ d S )Nr   rE   rF   r   r[   rA   r8   r   r   rB   rC   r:   r;   r<   r@   )r   r   r   r   r&   r(   r)   )r.   r‰   ZdfobjrT   rJ   rU   rV   r   r   r   Útest_replace_listÁ  s,    


ýÿ


ýÿz&TestDataFrameReplace.test_replace_listc              	   C  s¾   t ddgg tjdggƒ}td|iƒ}t ||¡}|}| g tj¡}t ||¡ d}tj	t
|jdd�d�� | tjg i¡ W 5 Q R X tj	t
|jd	d�d�� | tjd
dgi¡ W 5 Q R X d S )Nr   r   rm   ÚcolzwNumPy boolean array indexing assignment cannot assign {size} input values to the 1 output values where the mask is truer   )Úsize©Úmatchrj   ÚdummyZalt)r   r   r   r   r(   Úget_objr&   r†   ÚpytestÚraisesÚ
ValueErrorÚformat)r.   rˆ   Zserr‰   r5   r4   Úmsgr   r   r   Útest_replace_with_empty_listà  s    ÿz1TestDataFrameReplace.test_replace_with_empty_listc                 C  sî   t dddœdddœdœƒ}| ddddœ¡}t dddœdddœdœƒ}t ||¡ | d| ¡ ¡}t ||¡ t dddœdddœdœƒ}tdddœƒ}| |dddœ¡}t dddœdddœdœƒ}t ||¡ | || ¡ ¡}t ||¡ d S )	Nç        rm   r   ç       @r   )ÚzeroÚoneç      à?ç      ð?)r   r&   r(   r)   Úmeanr   )r.   rK   r4   r5   Úsr   r   r   Útest_replace_series_dictó  s    z-TestDataFrameReplace.test_replace_series_dictc                 C  sT   t dddgdddggƒ}ddddœ}| |¡}ttjgd ƒ}|j}t ||¡ d S )Nr!   ÚbarÚbahrm   rj   r9   )r!   r«   r¬   )r   r&   r   r   Úint64Údtypesr(   Úassert_series_equal)r.   rK   ÚmÚreprV   rU   r   r   r   Útest_replace_convert  s    
z)TestDataFrameReplace.test_replace_convertc                 C  s¸   |}t j|jdd…|j d¡f< t j|jdd …|j d¡f< | t jd¡}|jdd�}t ||¡ t | dt j¡|¡ | t jd¡}|jdd�}t ||¡ t | dt j¡|¡ d S )	Nr   r    r!   r"   r   iîÿÿÿr#   r‹   )	r   r   r+   r,   r-   r&   r*   r(   r)   )r.   r0   r3   r4   r5   r   r   r   Útest_replace_mixed  s    z'TestDataFrameReplace.test_replace_mixedc                 C  s�   t tddgdd�tddgdd�dœƒ}t tddgdd�td	dgdd�dœƒ}| dd	¡}t ||¡ |jdd	d
d�}|d ks€t‚t ||¡ d S )Nr§   r£   Úfloat64rc   r   rm   r­   ©r   rŒ   r¦   Tr   )r   r   r&   r(   r)   r'   )r.   rK   r5   r4   r2   r   r   r   Ú&test_replace_mixed_int_block_upcasting  s    þÿþÿz;TestDataFrameReplace.test_replace_mixed_int_block_upcastingc                 C  s„   t tddgdd�tddgdd�tddgdd�d	œƒ}t tddgdd�td
dgdd�tddgdd�d	œƒ}| dd
¡}t ||¡ d S )Nr§   r£   r´   rc   r   rm   r­   rj   ©r   rŒ   ÚCr¦   ©r   r   r&   r(   r)   rn   r   r   r   Ú&test_replace_mixed_int_block_splitting5  s    ýÿýÿz;TestDataFrameReplace.test_replace_mixed_int_block_splittingc                 C  s®   t tddgdd�tddgdd�dœƒ}t tdd	gd
d�tddgdd�dœƒ}| dd	¡}t ||¡ t td	dgd
d�tdd	gd
d�dœƒ}| ddgd	dg¡}t ||¡ d S )Nr§   r£   r´   rc   r   rm   r­   rµ   r!   Úobjectrj   r«   r¹   rn   r   r   r   Útest_replace_mixed2I  s&    þÿþÿþÿz(TestDataFrameReplace.test_replace_mixed2c                 C  s|   t tddgdd�tddgdd�dœƒ}| d| ¡  ¡ ¡}| ¡  d¡}| ¡ }|d |jd< |d |jd	< t 	||¡ d S )
Nr9   r   r­   rc   rµ   r´   ©r   r   rm   )rm   rm   )
r   r   r&   r¨   Úto_dictr%   Úastyper+   r(   r)   )r.   rK   r4   r5   r°   r   r   r   Útest_replace_mixed3d  s     ÿz(TestDataFrameReplace.test_replace_mixed3c                 C  sX   t dddtjgddddgdœƒ}|d	  d
¡|d	< | dtj¡}t |d	 |d	 ¡ d S )Nrm   rj   r9   ZsomeÚstringsÚhereÚher   r   ÚInt64ry   )r   r   r   r¿   r&   r(   r¯   ©r.   rK   rU   r   r   r   Ú1test_replace_nullable_int_with_string_doesnt_castp  s     zFTestDataFrameReplace.test_replace_nullable_int_with_string_doesnt_castrd   ÚbooleanrÄ   ZFloat64c                 C  sV   t dddg|d�}tdddg|dœƒ}| dd¡}tdddg|dœƒ}t ||¡ d S )	Nrm   r   rc   r   rŒ   Úxrµ   ÚX©r   r   r&   r(   r)   )r.   rd   Znullable_serrK   r4   r5   r   r   r   Ú!test_replace_with_nullable_columnx  s
    z6TestDataFrameReplace.test_replace_with_nullable_columnc                 C  sf   t dtddƒiƒ}t dddddgiƒ}| ddddœi¡}t ||¡ | dddœ¡}t ||¡ d S )	Nr–   rm   r   r   rj   r9   r   )rm   r
   ©r   r   r&   r(   r)   rn   r   r   r   Útest_replace_simple_nested_dict�  s    z4TestDataFrameReplace.test_replace_simple_nested_dictc                 C  sj   t dtddƒiƒ}t dddddgiƒ}| dddd	œ¡}t ||¡ | ddddd	œi¡}t ||¡ d S )
Nr–   rm   r   r   rj   r9   r   r�   )éÿÿÿÿrm   r
   rÌ   rn   r   r   r   Ú6test_replace_simple_nested_dict_with_nonexistent_valueŒ  s    zKTestDataFrameReplace.test_replace_simple_nested_dict_with_nonexistent_valuec                 C  sN   t ddd giƒ ddi¡}| tjd i¡}t ddd gitd�}t ||¡ d S )Nr$   é*   rÄ   rc   )r   r¿   r&   r�   ÚNAr»   r(   r)   ©r.   rK   r4   r5   r   r   r   Útest_replace_NA_with_None–  s    z.TestDataFrameReplace.test_replace_NA_with_Nonec                 C  sB   t tjtjgƒ}| tjd tjd i¡}t d d gƒ}t ||¡ d S ©N)r   r�   ÚNaTr&   r   ÚNaNr(   r)   rÒ   r   r   r   Útest_replace_NAT_with_None�  s    z/TestDataFrameReplace.test_replace_NAT_with_Nonec                 C  sn   t ddddgdd�}tt ddddgd	d�|d
œƒ}| dd i¡}tt ddd dgdd�|d
œƒ}t ||¡ d S )Nr   r   Úcategoryrc   r   r
   r9   rj   r´   )Úidr–   ç      @g      @r£   r»   rÊ   )r.   Z
cat_seriesrK   r4   r5   r   r   r   Ú(test_replace_with_None_keeps_categorical¤  s    þÿþÿz=TestDataFrameReplace.test_replace_with_None_keeps_categoricalc                 C  s¸   |j d }|j d }tj|j d< d|j d< |jtjdid�}|jjtjdid�j}t ||¡ |jtjdddid�}| ¡ }d|j d< d|j d< |}t ||¡ ||j d< ||j d< d S )Nr½   ©rm   r   rm   r   ©rI   r‹   )r+   r   r   r&   ri   r(   r)   r%   )r.   r/   Z
orig_valueZorig2r4   r5   r1   r   r   r   Útest_replace_value_is_none·  s    





z/TestDataFrameReplace.test_replace_value_is_nonec                 C  sà   |  ¡  tj¡}tj|d d d…< tj|d dd …< | tjd¡}t || d¡¡ t | dtj¡|¡ tj|d d d…< tj|d dd …< d|d d d…< |d }tj||dk< ||d< |jdd�}t ||jdd�¡ d S )Nr   r   r   r‹   rŒ   Úbfill)Úmethod)	r%   r¿   r   Úfloat32r   r&   r(   r)   r*   )r.   r/   r1   r’   r   r4   r   r   r   Útest_replace_for_new_dtypesË  s    z0TestDataFrameReplace.test_replace_for_new_dtypesz"frame, to_replace, value, expectedÚintsrm   rj   r   rc   ZboolsÚcomplexy              ð?y               @y              @y                Z
datetime64iâ  r   é   rŽ   iÉ  é   r    r!   )ÚdtÚstrr«   rç   ih  é
   iä  Ú20130101ú
US/Eastern©ZperiodsÚtzrµ   Ú20130102©rí   Ú20130104Ú20130103r§   r£   rÚ   c                 C  s    t |dƒ||ƒ}t ||¡ d S )Nr&   )Úgetattrr(   r)   )r.   ÚframerI   r$   r5   r4   r   r   r   Útest_replace_dtypesà  s    jz(TestDataFrameReplace.test_replace_dtypesc              	     sÊ  t jdddœ‰ ddddœ‰tt jdt jgdddgddd	gdœƒ}| ˆ ˆ¡}‡ ‡fd
d„| ¡ D ƒ}t |t|ƒ¡ | dddgdddg¡}tt jdt jgdddgddd	gdœƒ}t ||¡ ddddœ‰tt jdt jgdddgddd	gdœƒ}| t jˆ¡}‡fdd„| ¡ D ƒ}t |t|ƒ¡ t jddg‰ dddg‰| ˆ ˆ¡}| ¡ }t	t
ˆ ƒƒD ],}|jˆ | ˆ| dd�}|d k�sZt‚�qZt ||¡ d}tjt|d�� | ˆ ˆdd … ¡ W 5 Q R X d S )Nr   ry   r·   rÎ   Úmissingrj   r   ÚasdfÚfdc                   s&   i | ]\}}||  ˆ | ˆ| ¡“qS r   ©r&   ©Ú.0ÚkÚv©Úto_reprJ   r   r   Ú
<dictcomp>U  s      zLTestDataFrameReplace.test_replace_input_formats_listlike.<locals>.<dictcomp>c                   s$   i | ]\}}||  tjˆ | ¡“qS r   )r&   r   r   rù   )rJ   r   r   rÿ   d  s      éþÿÿÿTr   z:Replacement lists must match in length\. Expecting 3 got 2r˜   rm   )r   r   r   Úinfr&   Úitemsr(   r)   r%   r   Úlenr'   rœ   r�   rž   )r.   rK   Úfilledr5   r4   Úir2   r    r   rý   r   Ú#test_replace_input_formats_listlikeM  s>     ÿ ÿ ÿ
z8TestDataFrameReplace.test_replace_input_formats_listlikec              	     sú   t tjdtjgdddgdddgdœƒ}tjdddœ‰ | ˆ d¡}‡ fdd	„| ¡ D ƒ}t |t |ƒ¡ d
}tj	t
|d�� | ˆ tjddg¡ W 5 Q R X tjddg‰ | ˆ d¡}| ¡ }ttˆ ƒƒD ]$}|jˆ | ddd�}|d ksÄt‚qÄt ||¡ d S )Nr   rj   r   ry   rö   r÷   r·   c                   s"   i | ]\}}||  ˆ | d ¡“qS )r   rø   rù   ©rþ   r   r   rÿ   }  s      zJTestDataFrameReplace.test_replace_input_formats_scalar.<locals>.<dictcomp>z.value argument must be scalar, dict, or Seriesr˜   rÎ   Tr   )r   r   r   r  r&   r  r(   r)   rœ   r�   Ú	TypeErrorr%   r   r  r'   )r.   rK   r  r5   r    r4   r  r2   r   r  r   Ú!test_replace_input_formats_scalaru  s"     ÿz6TestDataFrameReplace.test_replace_input_formats_scalarc                 C  s   d S rÔ   r   )r.   r   r   r   Útest_replace_limit�  s    z'TestDataFrameReplace.test_replace_limitc                 C  sR   t ddddddœƒ}ddd	d
ddœ}t d
dd	dddœƒ}| |¡}t ||¡ d S ©NúStrongly AgreeÚAgreeÚNeutralÚDisagreeúStrongly Disagree)r   rm   rj   r9   r
   r
   rj   r9   r   rm   )r  r  r  r  r  ©r   r&   r(   r¯   ©r.   ZanswerÚweightsr5   r4   r   r   r   Útest_replace_dict_no_regex‘  s"    ûÿ
û
z/TestDataFrameReplace.test_replace_dict_no_regexc                 C  sV   t ddddddœƒ}t ddd	d
ddœƒ}t d
dd	dddœƒ}| |¡}t ||¡ d S r  r  r  r   r   r   Útest_replace_series_no_regex¦  s&    ûÿ	ûÿ	
z1TestDataFrameReplace.test_replace_series_no_regexc                 C  s�   t dtjdgiƒ}|jtjdddid�}|jdtjfddgd�}|jdtjgddgd�}t dddgiƒ}t ||¡ t ||¡ t ||¡ d S )Nr   rm   r   r‹   rÝ   ©rI   r$   ©r   r   r   r&   r(   r)   )r.   rK   Zres1r]   r_   r5   r   r   r   Ú6test_replace_dict_tuple_list_ordering_remains_the_same½  s    zKTestDataFrameReplace.test_replace_dict_tuple_list_ordering_remains_the_samec                 C  sP   t ddddgddddgddddgddddgdœƒ}| d	di¡}t ||¡ d S )
Nrm   rj   r9   Ú0ZvrZbtZvo)ZfolZT_oppZT_DirZT_Enhz\Dre   rÅ   r   r   r   Ú)test_replace_doesnt_replace_without_regexÈ  s    



üÿz>TestDataFrameReplace.test_replace_doesnt_replace_without_regexc                 C  sF   t ddgtdƒdœƒ}| dd¡}t ddg|jdœƒ}t ||¡ d S )NTFÚabr   r   )r   r   r&   r   r(   r)   rÒ   r   r   r   Útest_replace_bool_with_stringÔ  s    z2TestDataFrameReplace.test_replace_bool_with_stringc                 C  s2   t tj dd¡dkƒ}| dd¡}t ||¡ d S )Nrj   r¦   rö   Zfdsa)r   r   ÚrandomÚrandr&   r(   r)   ©r.   rK   r4   r   r   r   Ú(test_replace_pure_bool_with_string_no_opÚ  s    z=TestDataFrameReplace.test_replace_pure_bool_with_string_no_opc                 C  sD   t tj dd¡dkƒ}| dd¡}t tjdtd�ƒ}t ||¡ d S )Nrj   r¦   FT)rj   rj   rc   )	r   r   r  r  r&   ÚonesÚboolr(   r)   rÒ   r   r   r   Útest_replace_bool_with_boolß  s    z0TestDataFrameReplace.test_replace_bool_with_boolc                 C  sL   t ddgddgdœƒ}| dddœ¡}t ddgddgdœƒ}t ||¡ d S )NTF©r   rm   ZasdbÚyes)rö   Tre   rÒ   r   r   r   Ú%test_replace_with_dict_with_bool_keyså  s    z:TestDataFrameReplace.test_replace_with_dict_with_bool_keysc                 C  sV   t ddgddgdœƒ}| ddi¡}t ||¡ |d  ddi¡}t ||d ¡ d S )	Nrm   rj   r9   r
   )ÚY0ZY1Zreplace_stringÚtestr'  )r   r&   r(   r)   r¯   r  r   r   r   Ú!test_replace_dict_strings_vs_intsë  s
    z6TestDataFrameReplace.test_replace_dict_strings_vs_intsc                 C  s<   t dddgiƒ}| tjtj gtj¡}|}t ||¡ d S )Nr   T)r   r&   r   r  r   r(   r)   )r.   rK   ÚrrA   r   r   r   Útest_replace_truthyõ  s    z(TestDataFrameReplace.test_replace_truthyc              	   C  sj   t dttddƒƒiƒ}| dtttddƒtddƒƒƒi¡}| tttddƒtddƒƒƒ¡}t ||¡ d S )Nr   rm   r   rj   é   )r   r   r   r&   ÚdictÚzipr(   r)   rÒ   r   r   r   Ú-test_nested_dict_overlapping_keys_replace_intû  s    $ zBTestDataFrameReplace.test_nested_dict_overlapping_keys_replace_intc                 C  sp   t  dd¡}| t¡}t  dd¡ t¡}td|iƒ}| tt||ƒƒ¡}| dtt||ƒƒi¡}t 	||¡ d S )Nrm   r   rj   r,  r   )
r   Zaranger¿   rè   r   r&   r-  r.  r(   r)   )r.   r   ZastrZbstrrK   r4   r5   r   r   r   Ú-test_nested_dict_overlapping_keys_replace_str  s    
zBTestDataFrameReplace.test_nested_dict_overlapping_keys_replace_strc                 C  sŒ   t ddddgiƒ}| ddddœi¡}t ddddgiƒ}t ||¡ t ddddgiƒ}| dddd	œi¡}t ddddgiƒ}t ||¡ d S )
Nr   TFÚYÚN)TFr   rm   r$  re   )r.   rK   rU   Úexpectr   r   r   Útest_replace_swapping_bug  s    z.TestDataFrameReplace.test_replace_swapping_bugc                   sò   dt jdddd�t jdddd�t jdddd�t jdd	dd�t jdddd�t jdddd�t jd
ddd�dœi‰ tdddddddgdgd�}t|jjƒtˆ d  ¡ ƒks¨t‚td‡ fdd„|jjD ƒiƒ}|jd dksØt‚| 	ˆ ¡}t
 ||¡ d S )NÚfnameiÛ  é   ÚM)ÚyearÚmonthÚfreqrm   iÜ  r   r
   iÝ  é	   ©úout_augmented_AUG_2011.jsonúout_augmented_JAN_2011.jsonúout_augmented_MAY_2012.jsonúout_augmented_SUBSIDY_WEEK.jsonúout_augmented_AUG_2012.jsonúout_augmented_MAY_2011.jsonúout_augmented_SEP_2013.jsonrA  rC  r@  r?  rB  r=  r>  ©r,   c                   s   g | ]}ˆ d  | ‘qS ©r5  r   ©rú   rû   ©r   r   r   Ú
<listcomp>6  s     z<TestDataFrameReplace.test_replace_period.<locals>.<listcomp>r   z	Period[M])r�   ÚPeriodr   Úsetr5  rJ   Úkeysr'   r®   r&   r(   r)   rn   r   rG  r   Útest_replace_period  s<      ÿ÷ÿù	ö 
z(TestDataFrameReplace.test_replace_periodc              	     s¨   dt dƒt dƒt dƒt dƒt dƒt dƒt dƒd	œi‰ td
ddddddgdgd�}t|jjƒtˆ d  ¡ ƒkspt‚td‡ fdd„|jjD ƒiƒ}| ˆ ¡}t 	||¡ d S )Nr5  z2011-08z2011-01z2012-05z2011-04z2012-08z2011-05z2013-09r<  rA  rC  r@  r?  rB  r=  r>  rD  c                   s   g | ]}ˆ d  | ‘qS rE  r   rF  rG  r   r   rH  U  s     z>TestDataFrameReplace.test_replace_datetime.<locals>.<listcomp>)
r   r   rJ  r5  rJ   rK  r'   r&   r(   r)   rn   r   rG  r   Útest_replace_datetime;  s2    ùÿù	ö 
z*TestDataFrameReplace.test_replace_datetimec              	   C  s:  t tdddd�dtjdgdœƒ}| tjd¡}t tdddd�tdddgd	d
�dœƒ}t ||¡ | d¡}t ||¡ | dtj¡}t tdddd�tjtjdgdœƒ}t ||¡ | t	ddd�t	ddd�¡}t t	ddd�t	ddd�t	ddd�gdtjdgdœƒ}t ||¡ | 
¡ }tj|jd< | dtjit	ddd�¡}t ||¡ | 
¡ }tj|jd< tjtdd��  | dtjit	ddd�¡}W 5 Q R X t t	ddd�t	ddd�t	ddd�gdtjdgdœƒ}t ||¡ | 
¡ }tj|jd< | dtjit	dƒ¡}t t	ddd�t	dƒt	ddd�gdtjdgdœƒ}t ||¡ d S )Nrê   r9   rë   rì   r   rj   rµ   rm   r´   rc   rî   rï   rð   rñ   rÜ   r   zmismatched timezoner˜   z
US/Pacific)r   r   r   r   r&   r   r(   r)   r*   r   r%   r+   r�   rÕ   Zassert_produces_warningÚFutureWarningrÒ   r   r   r   Útest_replace_datetimetzY  s„    
þÿþÿ
þÿ

þ


ý
úÿ
 
ÿ


û
øÿ

ý
úÿ
z,TestDataFrameReplace.test_replace_datetimetzc              	   C  sh   t |ƒ}t || i ¡¡ t || tg td�¡¡ t || di i¡¡ t || tdi iƒ¡¡ d S )Nrc   r   )r   r(   r)   r&   r   r»   )r.   r   rK   r   r   r   Ú test_replace_with_empty_dictlike±  s
    z5TestDataFrameReplace.test_replace_with_empty_dictlikezto_replace, method, expectedrß   r·   g      @ZffillÚpad)rm   rj   c                 C  sL   t dddgdtjdgdddgd	œƒ}|j|d |d
�}t |ƒ}t ||¡ d S )Nr   rm   rj   r   rŽ   r   r   r   r·   )rI   r$   rà   r  )r.   rI   rà   r5   rK   r4   r   r   r   Útest_replace_methodº  s    "$z(TestDataFrameReplace.test_replace_methodzreplace_dict, final_datac              	   C  sø   t ddgddggddgdd�}t |¡}tj|d d …df ddgd	�}|d dkrZddgnddg}tj|d d …df |d	�}t ||d
œƒ}| |d¡}t ||¡ d}	tj	t
|	d�� t ||¡ W 5 Q R X |j|ddd�}
|
d ksèt
‚t ||¡ d S )Nrm   rj   r   r   rØ   )r,   rd   r   r9   )Ú
categoriesr   zHAttributes of DataFrame.iloc\[:, 0\] \(column name=\"a\"\) are differentr˜   Tr   )r   r   rp   r�   ZCategoricalr&   r(   r)   rœ   r�   r'   )r.   Zreplace_dictZ
final_datarK   r   Zex_catr   r5   r4   r    r2   r   r   r   Ú"test_categorical_replace_with_dictâ  s    
ÿz7TestDataFrameReplace.test_categorical_replace_with_dictzdf, to_replace, expr
   r,  )r}   r~   )r
   r   r,  Ú4Ú5Ú6Ú7)rU  rV  rW  c                 C  s*   t |ƒ}t |ƒ}| |¡}t ||¡ d S rÔ   re   )r.   rK   rI   Úexpr5   r4   r   r   r   Útest_replace_commutativeÿ  s    
z-TestDataFrameReplace.test_replace_commutativeÚreplacerZ20170827c                 C  s4   t dgƒ}| ||dœ¡}t |gƒ}t ||¡ d S )Nr   r   re   )r.   Úrequestr[  rK   r4   r5   r   r   r   Útest_replace_replacer_dtype  s    

z0TestDataFrameReplace.test_replace_replacer_dtypec                 C  sP   t ddddddgidd�}| dd	¡}t dd	ddddgidd�}t ||¡ d S )
NÚgrprm   rj   r9   r
   r   rÄ   rc   ré   re   rÒ   r   r   r   Ú!test_replace_after_convert_dtypes*  s    z6TestDataFrameReplace.test_replace_after_convert_dtypesc              	   C  sJ   t dddgdddgdœƒ}d}tjt|d	�� | d
d„ ¡ W 5 Q R X d S )Nr   zb r   zd ze zf )r¥   ÚtwozZExpecting 'to_replace' to be either a scalar, array-like, dict or None, got invalid type.*r˜   c                 S  s   |   ¡ S rÔ   )Ústrip)rÈ   r   r   r   Ú<lambda>:  ó    zFTestDataFrameReplace.test_replace_invalid_to_replace.<locals>.<lambda>)r   rœ   r�   r  r&   )r.   rK   r    r   r   r   Útest_replace_invalid_to_replace1  s
    ÿz4TestDataFrameReplace.test_replace_invalid_to_replaceÚfloatr´   r­   r$   c                 C  s<   t t d¡|d�}|jd tj tjg|d�}t ||¡ d S )Nrj   rc   r  )r   r   Úeyer&   r  r(   r)   )r.   rd   r$   rK   r4   r   r   r   Ú"test_replace_no_replacement_dtypes<  s    z7TestDataFrameReplace.test_replace_no_replacement_dtypesÚreplacementc                 C  s|   t dddgdddgddd	gd
œƒ}tdƒ|_t dddgdddg|dd	gd
œƒ}tdƒ|_|d  d|¡|d< t ||¡ d S )Nrm   rj   r9   r
   r   r,  rŽ   r6  r;  )r   ÚA1rŒ   ZAABrŒ   )r   r   r,   r&   r(   r)   )r.   rh  r4   r5   r   r   r   Ú#test_replace_with_duplicate_columnsD  s    "
ÿ
z8TestDataFrameReplace.test_replace_with_duplicate_columnsz2020-01c                 C  sB   t d|gd iƒ}t ||¡}| ¡ }| dd¡}t ||¡ d S )NZPerr9   r§   r¢   )r   r(   r›   r%   r&   r†   )r.   rˆ   r$   r‰   r5   r4   r   r   r   Útest_replace_ea_ignore_floatS  s
    z1TestDataFrameReplace.test_replace_ea_ignore_floatc                 C  sP  ddddgddddgd	d
ddgddddgddddgdœ}t |d� dddœ¡}|d jjddddgdd�|d< |d jjddddgdd�|d< ddddgddddgd	d
ddgddddgddddgdœ}t |d� dddœ¡}|d jjddddgdd�|d< |d jjddddgdd�|d< | dd¡}| dd¡}| dd¡}t ||¡ d S )!zt
        Test for #23305: to ensure category dtypes are maintained
        after replace with direct values
        rm   rj   r9   r
   r   r   r   r   g      ø?g      @g      @g      @Úcat1Úcat2Zcat3Zcat4Úobj1Úobj2Zobj3Zobj4)r}   r~   r   Úcol4Zcol5©r‡   rØ   )r~   rp  r~   T)Úorderedrp  ÚzÚcatXÚobj9N)r   r¿   ÚcatZreorder_categoriesr&   r(   r)   ©r.   Z
input_dictZinput_dfZexpected_dictr5   r4   r   r   r   Ú test_replace_value_category_type]  sL    




û
ÿ

 ÿ


 ÿ





û
ÿ

 ÿ


 ÿ
z5TestDataFrameReplace.test_replace_value_category_typec                 C  sv   dgdgdgdœ}t |d� ddddœ¡}dgdgd	gdœ}t |d� ddddœ¡}| ddd	d
œ¡}t ||¡ dS )zf
        Test to ensure category dtypes are maintained
        after replace with dict values
        r   rn  rl  r|   rq  rØ   rs  ru  rt  )r   rn  rl  N)r   r¿   r&   r(   r)   rw  r   r   r   Útest_replace_dict_category_type�  s    

ÿ

ÿz4TestDataFrameReplace.test_replace_dict_category_typec                 C  sH   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$rs  TrM   )r   ÚreÚcompiler&   r(   r)   )r.   rK   rG   r4   r5   r   r   r   Ú test_replace_with_compiled_regexª  s
    
z5TestDataFrameReplace.test_replace_with_compiled_regexc                 C  sZ   t dt dd¡t dd¡giƒ}| dt dd¡dii¡}t dddgiƒ}t ||¡ d S )Nr   r   rm   rÈ   )r   r�   ÚIntervalr&   r(   r)   rÒ   r   r   r   Útest_replace_intervals²  s     z+TestDataFrameReplace.test_replace_intervalsc                 C  sN   dddddœi}t dt d¡iƒ}| |¡}t dt d¡iƒ}t ||¡ d S )NZpositiverm   r   )u   æ­£é�¢u   ä¸­ç«‹u   è´Ÿé�¢r9   )r   r   r!  r&   r(   r)   )r.   Zcolumns_values_mapr“   r4   r5   r   r   r   Útest_replace_unicode¹  s
    
z)TestDataFrameReplace.test_replace_unicodec                 C  s8   |dgƒ  d¡}| ¡ }| d tji¡}t ||¡ d S )Nr<   z|S)r¿   r%   r&   r   r   r(   r†   )r.   rˆ   r‰   r5   r   r   r   Útest_replace_bytesÁ  s    z'TestDataFrameReplace.test_replace_bytesz!data, to_replace, value, expectedr¢   Úboxc           	      C  s0   ||ƒ}||ƒ}|  ||ƒ|¡}t ||¡ d S rÔ   r…   )	r.   r‡   rI   r$   r5   r�  rˆ   r‰   r4   r   r   r   Ú!test_replace_list_with_mixed_typeÈ  s    z6TestDataFrameReplace.test_replace_list_with_mixed_typeN)aÚ__name__Ú
__module__Ú__qualname__r6   rœ   ÚmarkÚparametrizer   r   rL   rW   rZ   r^   r`   rg   ro   rq   rs   rt   rw   rx   r�   r„   r�   rÑ   rŠ   r”   r•   r¡   rª   r²   r³   r¶   rº   r¼   rÀ   rÆ   rË   rÍ   rÏ   rÓ   r×   rÛ   rÞ   râ   r   Zint32Zint16r   r   r   r   rô   r  r	  r
  r  r  r  r  r  r   r#  r&  r)  r+  r/  r0  r4  rL  rM  rO  rP  rR  rT  rZ  Zint8rá   r´   r]  r_  rd  rg  rj  rI  r}  rk  rx  ry  r|  r~  r  r€  r   Útuplerp   r‚  r   r   r   r   r      s  
ýý


ýý


ýýèþ%)(E ÿ

þþ
	

&üüüü 


ýÿÿÿ

òü

ü
þÿ




ý
úÿ÷üüüü¡þi
(
	
"X	$ý$ýýýýéþ 
2þ

ý
ýúþ
ûþ



	3üþ	r   c                	   @  s¾   e Zd Zej dedƒedƒdœedƒeedƒƒdœg¡ej ddej	fdg¡ej d	d
dg¡ej dd
dg¡ej dd
dg¡dd„ ƒƒƒƒƒZ
ej ddd
g¡dd„ ƒZdd„ Zdd„ ZdS )ÚTestDataFrameReplaceRegexr‡   r   rE   r   r
   zto_replace,valuer7   )r=   z\1\1\1Úcompile_regexTFÚregex_kwargr   c                 C  s’   t |ƒ}| ¡ }|rt |¡}|r,|}	d }nd}	|j||||	d�}
|rV|
d ksRt‚|}
|tjkrhtj}nd}||j|d dkdf< t	 
|
|¡ d S )NTrX   z...r   r[   )r   r%   rz  r{  r&   r'   r   r   Úlocr(   r)   )r.   r‡   rI   r$   rŠ  r‹  r   rK   r5   rG   r4   Zexpected_replace_valr   r   r   Útest_regex_replace_scalarÝ  s"    

z3TestDataFrameReplaceRegex.test_regex_replace_scalarrG   c                 C  s„   t dgdgdœƒ}t dgdgdœƒ}|jdd|d�}t ||¡ t dgdgdœƒ}t dgdgdœƒ}|jdd|d�}t ||¡ d S )Nr  rµ   rm   )rI   r$   rG   Ú1re   )r.   rG   r“   Zexpected_df1Z
result_df1Zdf2Zexpected_df2Z
result_df2r   r   r   Útest_replace_regex_dtype_frame  s    z8TestDataFrameReplaceRegex.test_replace_regex_dtype_framec                 C  sZ   t dddgdddgdœƒ}| dtjdœ¡}t dtjdgtjddgdœƒ}t ||¡ d S )Nr   rm   rj   rµ   r$  r€   rÒ   r   r   r   Ú+test_replace_with_value_also_being_replaced  s    zETestDataFrameReplaceRegex.test_replace_with_value_also_being_replacedc                 C  sP   t ddd dgdd ddgdœdd�}| ¡ }|jddgd	d gd
�}t ||¡ d S )Nr¥   r`  Úthreer   rØ   rc   r[   ÚdefÚ_r  )r   r%   r&   r(   r)   rn   r   r   r   Ú'test_replace_categorical_no_replacement  s    

þûzATestDataFrameReplaceRegex.test_replace_categorical_no_replacementN)rƒ  r„  r…  rœ   r†  r‡  r   r   r   r   r�  r�  r�  r”  r   r   r   r   r‰  Ü  s$   þþ ÿ
r‰  )Ú
__future__r   r   rz  Únumpyr   rœ   Zpandasr�   r   r   r   r   r   Zpandas._testingZ_testingr(   Zfixturer   r   r   r‰  r   r   r   r   Ú<module>   s0              I