o
    Û­jn}  ã                   @   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 ej d<g d=¢g d>¢fd?gd@gfg¡dAdB„ ƒZ!dCdD„ Z"dEdF„ Z#ej dGg dH¢d9dIdJdHœg dK¢fg dL¢dMdNdOdLœg dP¢fg¡dQdR„ ƒZ$ej dSg dH¢g dT¢fg dU¢g dV¢fg¡dWdX„ ƒZ%dYdZ„ Z&ej d[d%d$g¡d\d]„ ƒZ'ej d[d%d$g¡d^d_„ ƒZ(d`da„ Z)dbdc„ Z*ddej+fdedf„Z,dgdh„ Z-ej did$d%g¡djdk„ ƒZ.ej dld$d%g¡ej did$d%g¡dmdn„ ƒƒZ/dodp„ Z0dqdr„ Z1ej dsdtd$d%gd$d%id%d%gfdud8d9gdvdwdxœdvdwgfdyd8d9gdvdwdxœdvdwgfdzd{d|gd}d~dœd}d~gfd€d{d|gd}d~dœd}d~gfd�d‚dƒgd„dMd…œd„dMgfe 2du¡e3e 4d8d9¡e 4d9dI¡gƒe 4d8d9¡e 4dvdw¡ie3e 4dvdw¡e 4d9dI¡gƒfe 2dz¡e3e 4d†d‡¡e 4dˆd‰¡gƒe 4d†d‡¡e 4dŠd‹¡ie3e 4dŠd‹¡e 4dˆd‰¡gƒfe 5dŒ¡ej6d�dŒdŽ�gej6d�dŒdŽ�ej6d�dŒdŽ�iej6d�dŒdŽ�gfg	¡d�d‘„ ƒZ7d’d“„ Z8d”d•„ Z9d–d—„ Z:d˜d™„ Z;ej dšd%d$g¡d›dœ„ ƒZ<ej dšd%d$g¡d�dž„ ƒZ=dŸd „ Z>ej d¡d9e?j@d¢g¡d£d¤„ ƒZAd¥d¦„ ZBej d§d¨dyg¡d©dª„ ƒZCej d¡d«d¬g¡d­d®„ ƒZDd¯d°„ ZEd±S )²ÚTestSeriesReplacec                 C   s   t jg d¢td�}| dd ¡}t jg d¢td�}t ||¡ t  t d¡¡ 	dti¡}d|j
d< | dd ¡}t  t d¡t d¡tjg d	¢td�d
œ¡}|j
d d u sUJ ‚t ||¡ t  g d¢¡}| dd ¡}t  g d¢¡}|j
d d u sxJ ‚t ||¡ d S )N)r   r   Ú ©Údtyper   )r   r   N)é   r   é   )r   r   r   )ç        r	   N)r   é   r   )é
   é   é   Úar   Úbr   r   )r   r   r   NNr   Néÿÿÿÿ)ÚpdÚSeriesÚobjectÚreplaceÚtmÚassert_series_equalÚ	DataFrameÚnpÚzerosÚastypeÚilocÚarrayÚassert_frame_equal)ÚselfÚserÚresultÚexpectedÚdf© r#   úe/var/www/html/CropPilot/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   s:  d}t  tj d¡ |¡¡}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 d¡ |¡¡t jd|d�td�}tj|d d…< d|dd…< d|dd…< d}t	jt|d�� | tjddgd¡}W d   ƒ n1 s’w   Y  |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t|d�� | tjdddddi¡}W d   ƒ n1 sæw   Y  |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t|d�� | tjddgg d¢¡}W d   ƒ n	1 �s>w   Y  t	 
||¡ t	jt|d�� |jtjddgddd	�}W d   ƒ n	1 �shw   Y  |d u �stJ ‚|d d… dk ¡ �s�J ‚|dd… dk ¡ �sŽJ ‚|dd… dk ¡ �s›J ‚d S )Né2   r   r   é   é   r   r   T©Úinplacer	   ú
2020-01-01©Úperiodsr   é   ÚfooÚbarr   r   ú!Downcasting behavior in `replace`©Úmatchéþÿÿÿéýÿÿÿ©r   r8   r9   )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Úrs2r#   r#   r$   Útest_replace4   sZ   
ýÿÿÿÿ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   r3   r4   r+   )r   r   r   r'   Úinfr   r   r   r>   ÚNaTÚcopy)r   r   Úfilledr#   r#   r$   Útest_replace_nan_with_info   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 2r6   ©r
   r   r   r
   r   ©r   r
   r   r   r+   )r+   r   r   r
   r   )r   r   Úindexr   r   r   r   r'   r>   ÚpytestÚraisesÚ
ValueError)r   Údatetime_seriesr   rI   r    r#   r#   r$   Ú+test_replace_listlike_value_listlike_targety   s   ÿz=TestSeriesReplace.test_replace_listlike_value_listlike_targetc                 C   sÒ   t  dtjdddg¡}| ¡ }d}tjt|d�� | tjg¡}W d   ƒ n1 s*w   Y  t 	||¡ t  dtjdddg¡}| ¡ }tjt|d�� | tj¡}W d   ƒ n1 s\w   Y  t 	||¡ d S )Nr   r   r   r+   úPSeries.replace without 'value' and with non-dict-like 'to_replace' is deprecatedr6   )
r   r   r   r'   Úffillr   rA   rB   r   r   )r   r   r!   rI   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Ú20130101r2   r0   Ú20120101r   Ú20130103)	r   r   r@   rN   r&   Úlocr   r   r   ©r   r   r!   r    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   rM   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   r2   r0   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   sj  t  g d¢¡}d}tjt|d�� | g d¢¡}W d   ƒ n1 s"w   Y  t |t  g d¢¡¡ | ¡ }tjt|d�� |jg d¢dd�}W d   ƒ n1 sQw   Y  |d u s\J ‚t |t  g d¢¡¡ | ¡ }d}d	}tj	t
|d��/ tjt|d�� |jg d¢dd
d�}W d   ƒ n1 s“w   Y  |d u sžJ ‚W d   ƒ n1 s¨w   Y  t ||¡ d S )NrR   rY   r6   rQ   )r   r   r   r   r+   Tr-   zVInvalid fill method\. Expecting pad \(ffill\) or backfill \(bfill\)\. Got crash_cymbalú4The 'method' keyword in Series.replace is deprecatedÚcrash_cymbal)r.   Úmethod)r   r   r   rA   rB   r   r   rN   rT   rU   rV   )r   r   Úmsg2r    rf   rF   rI   Úmsg3r#   r#   r$   Útest_replace_with_single_list¹   s0   ÿÿÿÿÿý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 )Nr2   Úint64r   c                    sL   ˆ   ¡ }ˆ  | |¡}|j| |dd�}|d u sJ ‚t ||¡ t ||¡ d S )NTr-   )rN   r   r   r   )Úto_repÚvalr!   Úscr    rF   ©r   r#   r$   Úcheck_replaceÙ   s   zATestSeriesReplace.test_replace_mixed_types.<locals>.check_replacer   g      @r   )r   r
   r   ç      @r+   rw   )r   r
   r   rw   r   r+   r   r
   r   r\   )r   r
   r   rw   Tr   Tz1/1/2001z	1/10/2001ÚD©Úfreq)ç      ð?r   r   )r   r   r   Úaranger&   r@   r   r   r   Útolistr   r   )r   rv   ÚtrÚvÚeÚdrr    r!   r#   ru   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   rf   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   rf   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 d¡ |¡¡t jd|d�td�}tj	|d d…< d|dd	…< d
|dd…< d}t
jt|d�� | tj	dd
gd¡}W d   ƒ n1 sJw   Y  |d d… dk ¡ s[J ‚|dd	… dk ¡ sgJ ‚|dd… dk ¡ ssJ ‚t  |d d… ¡ ¡ s€J ‚t
jt|d�� | tj	dddd
di¡}W d   ƒ n1 sžw   Y  |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t|d�� | tj	dd
gg d¢¡}W d   ƒ n1 sòw   Y  t
 ||¡ t
jt|d�� |jtj	dd
gddd�}W d   ƒ n	1 �sw   Y  |d u �s(J ‚|d d… dk ¡ �s5J ‚|dd	… dk ¡ �sBJ ‚|dd… dk ¡ �sOJ ‚d S )Nr*   r   r/   r0   r   r2   r3   r,   r   r4   r   r   r5   r6   r   r8   r9   r:   Tr-   )r   r   r   r?   r;   r<   r=   r@   r   r'   r   rA   rB   r   rC   rD   r   )r   rE   r   rI   rH   rJ   rF   r#   r#   r$   Útest_replace2"  sF   ýÿÿÿÿzTestSeriesReplace.test_replace2r.   TFc                 C   sX   t  g d¢¡}t  g d¢¡}|jg d¢g d¢|d�}|r$t ||¡ d S t ||¡ d S )NrQ   ©r   r   r+   r-   r…   )r   r.   r   r!   r(   r#   r#   r$   Útest_replace_cascadeM  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©r–   r—   )r   r   r   r'   r   r   r   )r   Únullable_string_dtyper   r!   r    r#   r#   r$   Ú+test_replace_with_dictlike_and_string_dtypeZ  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   rf   Úempty_seriesr#   r#   r$   Ú test_replace_with_empty_dictlikea  s   
z2TestSeriesReplace.test_replace_with_empty_dictlikec                 C   ó:   t  g d¢¡}| dtj¡}t  g d¢¡}t ||¡ d S ©NrQ   r™   ©r   r   r   r   r'   r   r   rˆ   r#   r#   r$   Útest_replace_string_with_numberi  ó   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   rf   r!   r    r#   r#   r$   Ú(test_replace_replacer_equals_replacementp  s   z:TestSeriesReplace.test_replace_replacer_equals_replacementc                 C   r¡   r¢   r£   rˆ   r#   r#   r$   Ú test_replace_unicode_with_numberx  r¥   z2TestSeriesReplace.test_replace_unicode_with_numberc                 C   s|   t  g d¢¡}d}tjt|d�� | ddgtj¡}W d   ƒ n1 s$w   Y  t  dtjdtjdd	g¡}t ||¡ d S )
N)r
   r   r   Ú4r+   r2   r5   r6   r   r¨   r
   r   r+   r2   )	r   r   r   rA   rB   r   r   r'   r   )r   rf   rI   r    r!   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   sˆ   t  |¡}d}d}tjt|d�� | dddœ¡}W d   ƒ n1 s#w   Y  t  |¡ d¡}d|jjvr<|j 	d¡}t 
||¡ d S )Nr5   ú#with CategoricalDtype is deprecatedr6   r
   r   )rª   r«   Úcategory)r   r   r   rA   rB   r   r   Úcatr¬   Úadd_categoriesr   )r   ÚcategoricalÚnumericÚusing_infer_stringr   rI   r    r!   r#   r#   r$   Útest_replace_categoricalˆ  s   
	ÿz*TestSeriesReplace.test_replace_categoricalzdata, data_exp©r   r   Úc)r   r   r¶   r   r   c                 C   sn   t j|dd�}d}tjt|d�� |jdddd� W d   ƒ n1 s#w   Y  t j|dd�}t ||¡ d S )	Nr®   r   r­   r6   r   r   T©Ú
to_replaceÚvaluer.   ©r   r   r   rA   rB   r   r   )r   ÚdataÚdata_expr    rI   r!   r#   r#   r$   Ú test_replace_categorical_inplace�  s   ÿz2TestSeriesReplace.test_replace_categorical_inplacec           	      C   sœ  t jdddd�}t  |¡}| d¡}| ¡ }|j d¡}d|d< |j ¡ }|d dks-J ‚d}tj	t
|d	�� | |d d¡}W d   ƒ n1 sIw   Y  t ||¡ |d dks\J ‚d}tj	t
|d	�� |j|d dd
d�}W d   ƒ n1 szw   Y  |d u s…J ‚t ||¡ |d }d}tj	t
|d	�� |j|d |d d
d�}W d   ƒ n1 s¯w   Y  |d u sºJ ‚|d |d   krÉ|ksÌJ ‚ J ‚d S )Nú
2016-01-01r   ú
US/Pacific©r1   rc   r®   r3   r   r­   r6   Tr-   r   r
   )r   r@   r   r   rN   r¯   r°   Úremove_unused_categoriesr   rA   rB   r   r   )	r   Údtirf   r¶   r!   rI   r    rF   Úfirst_valuer#   r#   r$   Útest_replace_categorical_single©  s6   


ÿÿÿ(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 )NrR   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, exprQ   r   r+   r”   )r˜   r™   Ú3r™   rÈ   r¨   )r™   rÈ   r¨   c                 C   s.   t  |¡}t  |¡}| |¡}t ||¡ d S ©Nr…   )r   r   r¸   rG   Ú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   rG   rÊ   r    r!   r#   r#   r$   Útest_replace_no_castç  s   

z&TestSeriesReplace.test_replace_no_castc              	   C   s–   t  g d¢¡}d}d}tjt|d��/ tjt|d�� | dd„ ¡ W d   ƒ n1 s,w   Y  W d   ƒ d S W d   ƒ d S 1 sDw   Y  d S )N©r   r   zc zZExpecting 'to_replace' to be either a scalar, array-like, dict or None, got invalid type.*rY   r6   c                 S   s   |   ¡ S rÉ   )Ústrip)rÌ   r#   r#   r$   Ú<lambda>  s    zCTestSeriesReplace.test_replace_invalid_to_replace.<locals>.<lambda>)	r   r   rT   rU   Ú	TypeErrorr   rA   rB   r   )r   rÊ   rI   rn   r#   r#   r$   Útest_replace_invalid_to_replaceô  s   ÿÿÿÿ"ÿz1TestSeriesReplace.test_replace_invalid_to_replaceÚframec                 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 boolr6   r   r3   )r¸   Úregex)r   r   Úto_framerT   rU   rV   r   )r   rÓ   ÚobjrI   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+   r2   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   r3   zASeries.replace cannot use dict-like to_replace and non-None valuer6   r4   z<Series.replace cannot use dict-value and non-None to_replace)r   r   rT   rU   rV   r   )r   Úfixed_now_tsr   r¸   r¹   rI   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 )NrQ   Ú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œ  |  ¡ }d}tjt|d�� |j|d dd�}W d   ƒ n1 s!w   Y  tj|d |d gt|dd … ƒ |jd�}t 	||¡ d	}tjt|d�� |j|d dd�}W d   ƒ n1 s_w   Y  t 
||  ¡ ¡ | ¡ }tjt|d�� |j|d dd
d�}	W d   ƒ n1 sŒw   Y  |	d u s—J ‚t 	||¡ tjt|d�� |j|d dd
d�}
W d   ƒ n1 s¹w   Y  |
d u sÄJ ‚t 
||  ¡ ¡ d S )Nrk   r6   r
   Úpad)rm   r   r   r   z7The 'method' keyword in DataFrame.replace is deprecatedT)rm   r.   )rÕ   r   rA   rB   r   r   r   rž   r   r   r   rN   )r   r   r"   Úmsg1r(   r!   rn   Úres_dfÚser2Úres2Úres_df2r#   r#   r$   Ú_check_replace_with_method2  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_methodK  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   r   ræ   )r   rê   Úidxr   r#   r#   r$   Ú!test_replace_interval_with_methodQ  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¾   r2   r¿   rÀ   rx   r8   r®   )	r   r@   Útz_localizeÚ	to_periodr   rM   r   r   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 )Nrµ   z^a$ÚzT©rÔ   )rô   r   r¶   )r   r   ÚreÚcompiler   r   r   )r   rf   rÔ   r    r!   r#   r#   r$   Ú test_replace_with_compiled_regexj  s
   
z2TestSeriesReplace.test_replace_with_compiled_regexc              	   C   sl   t jddddddt jdgdd�}dddd	d
œ}|j|dd�}t jddd	dddt jd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    rG   r#   r#   r$   Útest_pandas_replace_nar  s    üÿz(TestSeriesReplace.test_pandas_replace_naz,dtype, input_data, to_replace, expected_dataÚboolrq   r   r   )r
   r   rÝ   rØ   çš™™™™™ñ?çš™™™™™@g333333$@g     €4@)r  r  ÚFloat64rþ   r–   r—   r˜   rš   r{   gš™™™™™@gffffff@gÍÌÌÌÌÌ@g333333%@gÍÌÌÌÌÌ4@ÚMz2020-05ry   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_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 )
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_dtype¦  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_replace¸  ó   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_regex¿  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s�J ‚| d
d¡j|jks�J ‚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)r{   ç       @gË¡E¶óý@gš™™™™™@r   r{   é	   g      "@r  g      $@©r¸   r¹   )r
   r   r   r+   r
   zInvalid valuer6   g      #@)	r   r   ÚFloat64Dtyper   r   Ú
Int64DtyperT   rU   rÑ   )r   Úfloatsr(   Úintsr#   r#   r$   Útest_replace_nullable_numericÆ  s$   ÿ"ÿz/TestSeriesReplace.test_replace_nullable_numericrÔ   c                 C   sn   t jdgtd�}t  dg¡}d}tjt|d�� |jdd|d�}W d   ƒ n1 s*w   Y  t ||¡ d S )NÚ0r   r
   r5   r6   ©r¸   r¹   rÔ   )r   r   r   r   rA   rB   r   r   ©r   rÔ   rÊ   r!   rI   r    r#   r#   r$   Útest_replace_regex_dtype_seriesÞ  s   ÿz1TestSeriesReplace.test_replace_regex_dtype_seriesc                 C   sr   t jdgdd�}t jdgdd�}d}tjt|d�� |jdd|d�}W d   ƒ n1 s,w   Y  t ||¡ d S )	Nr   Ústrr   r
   rq   r5   r6   r!  rº   r"  r#   r#   r$   Ú&test_replace_regex_dtype_series_stringè  s   ÿz8TestSeriesReplace.test_replace_regex_dtype_series_stringc                 C   sb   t jg d¢|d�}t jg d¢|d�}tt|j|jƒƒ}| |¡}| ddddœ¡}t ||¡ d S )N)r
   r
   r
   r   r   r   r   r   r   )r   r   r
   r   r
   r   )	r   r   ÚdictÚzipÚvaluesrS   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_typesrs   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   rs   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g d¢itd�}|d  dgtjg¡|d< t jddtjdgitd�}t ||¡ t jdg d¢itd�}|d  d gtjg¡|d< t ||¡ t jdg d¢itd�}|d  tj¡|d< t ||¡ d S )NÚTest)ú0.5Tú0.6r   Tr0  r1  )r0  Nr1  )	r   r   r   r   r   r'   r   r   r>   )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  Tr·   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   rs   r   r!   r    r#   r#   r$   Ú#test_replace_numeric_column_with_na  s   z5TestSeriesReplace.test_replace_numeric_column_with_nac                 C   sd   t jdgdd�}| ¡ }| dd¡}t ||¡ t jdgdd�}| ¡ }| dd¡}t ||¡ d S )Nr	   r  r   Fr{   ÚbooleanT)r   r   rN   r   r   r   r`   r#   r#   r$   Útest_replace_ea_float_with_bool)  s   z1TestSeriesReplace.test_replace_ea_float_with_boolN)FÚ__name__Ú
__module__Ú__qualname__r%   r)   rK   rP   rX   r[   ra   rg   rj   rp   r‚   r†   r‰   r‹   r�   r’   r“   rT   Ú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ÚPeriodr	  r  r  r  r  r#  r%  r-  r   r'   r.  r2  r3  r4  r6  r#   r#   r#   r$   r      sÚ    ;


+	+
	þþ
ÿ
	þþ
 ÿ


	


üüüíþ

	





r   )rö   Únumpyr   rT   Úpandasr   Úpandas._testingÚ_testingr   Úpandas.core.arraysr   r   r#   r#   r#   r$   Ú<module>   s    