a
    é´«jQ8  ã                	   @   s"  d dl Zd dlZd dlm  mZ d dlmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZ d dlm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)ej* +d#d$d%g¡ej* +d&d'd ed ƒg¡d(d)„ ƒƒƒZ,d*d+„ Z-d,d-„ Z.ej* +d.ed/d0ƒed1d0ƒged/d0ƒed1d0ƒd2gd3d3gd3d3ej/gfed/d0ƒed1d0ƒged/d0ƒed1d0ƒgd3d3gd3d3gfg¡d4d5„ ƒZ0d6d7„ Z1d8d9„ Z2d:d;„ Z3ej* +d<d=gd>ggg g gg¡d?d@„ ƒZ4dAdB„ Z5dCdD„ Z6ej* +d#dEdFg¡dGdH„ ƒZ7dS )Ié    N)ÚNAÚCategoricalÚFloat64DtypeÚIndexÚ
MultiIndexÚNaTÚPeriodÚPeriodIndexÚ
RangeIndexÚSeriesÚ	TimedeltaÚ	TimestampÚ
date_rangeÚisnac                 C   s*  |  |j¡}t |j|j¡s J ‚|j |j¡s2J ‚|j |j¡sDJ ‚|jdd… }|  |¡}| ¡ D ]\}}||| ksdJ ‚qd| jdd… }|   |¡}| ¡ D ]\}}|| | ksžJ ‚qž|   |¡}	t |	¡ 	¡ sÔJ ‚| jd d d… }
|   |
¡}| ¡ D ]\}}|| | ksöJ ‚qö|   ¡ }|| u�s&J ‚d S )Né
   é   é   )
ÚreindexÚindexÚtmZshares_memoryÚis_Z	identicalÚitemsÚnpÚisnanÚall)Údatetime_seriesZstring_seriesÚidentityZsubIndexZ	subSeriesÚidxÚvalZ	subIndex2ZsubTSZstuffSeriesZnonContigIndexZsubNonContigÚresult© r    úg/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/pandas/tests/series/methods/test_reindex.pyÚtest_reindex   s(    



r"   c                  C   s€   t g d¢ddtjdgd�} tjdtjddtjgg d¢ }}t |  |¡| j| ¡ | j d¡| _tj|  |¡| j| dd	� d S )
N)r   é   é   é   é   é   é   ©r   )r   r   r   r#   r&   r   ÚobjectF)Zcheck_index_type)	r   r   Únanr   Úassert_series_equalr   Zilocr   Úastype)ÚtsÚiÚjr    r    r!   Útest_reindex_nan;   s
     r1   c                  C   sp   t dddd�} t| ƒ}| tdƒ¡}t |jt d¡¡s<J ‚| ¡ }|dd …  ¡ sXJ ‚|d d…  	¡ rlJ ‚d S )Nz1/1/2000 00:00:00r   Z10s©ÚperiodsÚfreqé   zM8[ns]éûÿÿÿ)
r   r   r   Úranger   Z
issubdtypeÚdtyper   r   Úany)ÚrngZseriesr   Úmaskr    r    r!   Útest_reindex_series_add_natG   s    r<   c                  C   sŠ   t ddd�} ttj d¡ d¡| d�}| t|jdd… ƒ¡}|dd… }|j 	d ¡|_t
 ||¡ |t|jdd… ƒ }t
 ||¡ d S )Nz1/1/2000r   ©r3   r   r)   r$   r   )r   r   r   ÚrandomZdefault_rngZstandard_normalr   Úlistr   Ú
_with_freqr   r,   )r:   r.   r   Úexpectedr    r    r!   Útest_reindex_with_datetimesS   s    rB   c                 C   s¨   t g d�}|j| jdd� |j| jdd�}|  t| jƒ¡}| j d ¡| _t | |¡ | d d d… }d}tjt	|d��  |j| jdd� W d   ƒ n1 sš0    Y  d S )Nr)   Úpad©Úmethodr   zVInvalid fill method\. Expecting pad \(ffill\), backfill \(bfill\) or nearest\. Got foo©ÚmatchÚfoo)
r   r   r   r?   r@   r   r,   ÚpytestÚraisesÚ
ValueError)r   ÚemptyÚ	reindexedr.   Úmsgr    r    r!   Útest_reindex_corner`   s    
ÿrO   c                  C   sh   t t d¡dd�} | d d d… }|j| jdd�}|j| jdd�}t ||¡ t g d¢ƒ}t ||¡ d S )	Nr   Úint64©r8   r   rC   rD   Úffill)
r   r   r   r   r'   r'   é   rS   r(   r(   )r   r   Úaranger   r   r   r,   )ÚsÚs2rM   Z
reindexed2rA   r    r    r!   Útest_reindex_padw   s    rW   c                  C   sÊ   t g d¢g d¢d�} g d¢}t g d¢|d�}|  |¡ ¡ }t || d¡¡ d}tjt|d��" |  |¡jd	d
�}W d   ƒ n1 s†0    Y  t ||¡ t g d¢|d�}| j|dd�}t ||¡ d S )N©r&   r   r#   r'   r$   )ÚaÚbÚcÚdÚer)   )rY   Úgr[   Úf)r&   r&   r#   r#   Úfloat64z-The 'downcast' keyword in ffill is deprecatedrF   Zinfer)Zdowncast)r&   r$   r#   r$   rR   rD   )r   r   rR   r   r,   r-   Úassert_produces_warningÚFutureWarning)rU   Ú	new_indexrA   r   rN   r    r    r!   Útest_reindex_pad2ƒ   s    0rd   c                  C   s€   t g d¢tdƒd�} d}d}tjt|d��" |  t|ƒ¡ ¡ }W d   ƒ n1 sR0    Y  t g d¢t|ƒd�}t ||¡ d S )N)TFFTÚabcdr)   Zagcú"Downcasting object dtype arrays onrF   )TTF)r   r?   r   ra   rb   r   rR   r,   )rU   rc   rN   r   rA   r    r    r!   Útest_reindex_inference—   s    0rg   c                  C   sp   t dtdƒd�} d}tjt|d�� |  d¡ ¡ }W d   ƒ n1 sF0    Y  t dtdƒd�}t ||¡ d S )NFr$   r)   rf   rF   r&   )r   r7   r   ra   rb   ÚshiftZbfillr,   )rU   rN   r   rA   r    r    r!   Útest_reindex_downcasting¢   s    ,ri   c                  C   s´   t tjddd�ƒ} g d¢}| j|dd�}t t |¡ d¡|ƒ}t ||¡ | j|ddd�}t d	d
tjdg|ƒ}t ||¡ | j|dg d¢d�}t d	tjtjdg|ƒ}t ||¡ d S )Nr   rP   rQ   )gš™™™™™¹?gÍÌÌÌÌÌì?g      ø?ç       @ZnearestrD   gš™™™™™É?)rE   Z	tolerancer   r&   r   )g333333Ó?g{®Gáz„?gš™™™™™Ù?r#   )	r   r   rT   r   Zaroundr-   r   r,   r+   )rU   Útargetr   rA   r    r    r!   Útest_reindex_nearest¬   s    rl   c                 C   st   | d d d… }t tjt|ƒtd�|jd�}| | j¡}|jtjksFJ ‚| |jd d d… ¡}|jt t¡kspJ ‚d S ©Nr   rQ   r)   )	r   r   ÚzerosÚlenÚintr   r   r8   r`   )r   r.   Zint_tsZreindexed_intr    r    r!   Útest_reindex_int¼   s    rq   c                 C   sp   | d d d… }t tjt|ƒtd�|jd�}| | j¡}|jtjksFJ ‚| |jd d d… ¡}|jtj	kslJ ‚d S rm   )
r   r   rn   ro   Úboolr   r   r8   Zobject_Zbool_)r   r.   Úbool_tsZreindexed_boolr    r    r!   Útest_reindex_boolË   s    rt   c                 C   sT   | dd … }t tjt|ƒtd�|jd�}|j| jdd�}t|d d… ƒ ¡ sPJ ‚d S )Nr$   rQ   r)   rC   rD   )	r   r   rn   ro   rr   r   r   r   r   )r   r.   rs   Zfilled_boolr    r    r!   Útest_reindex_bool_padÛ   s    ru   c                  C   sÖ   t ddd�} tg d¢dd�}| | ¡}tttjtjtjgg d¢d�ƒ}| |_t ||¡ ttdd	gg d¢d�ƒ}d
dg|_| d
dg¡}t ||¡ ttd	tjgg d¢d�ƒ}ddg|_| ddg¡}t ||¡ d S )NZ20000101r#   r=   )rY   rZ   r[   ÚcategoryrQ   )ÚvaluesÚ
categoriesrZ   r[   r&   r   )	r   r   r   r   r   r+   r   r   r,   )r   rU   r   rA   r    r    r!   Útest_reindex_categoricalã   s     
ÿ

ry   c                  C   s`   t g d¢g d¢d�} g d¢}d}t}|  |¡ |¡ |¡}|  |¡ |¡ |¡}t ||¡ d S )N©r&   r   r#   )r   r   r&   r)   )r   r&   r   rv   )r   Ústrr   r-   r   r,   )Úserrc   Z
temp_dtypeZ	new_dtyper   rA   r    r    r!   Ú%test_reindex_astype_order_consistencyû   s    r}   c                  C   sâ  t g d¢ƒ} |  g d¢¡}t ddtjgg d¢d�}t ||¡ | jg d¢dd�}t g d¢g d¢d�}t ||¡ t g d¢ƒ}| g d¢¡}t ddtjgg d¢d�}t ||¡ |jg d¢dd�}t g d	¢g d¢d�}t|jjtj	ƒsèJ ‚t ||¡ t g d¢t
d
�}| g d¢¡}t ddtjgg d¢t
d�}t ||¡ |jg d¢dd�}t g d¢g d¢t
d�}t ||¡ t g d¢ƒ}| g d¢¡}t ddtjgg d¢t
d�}t ||¡ |jg d¢dd�}t g d¢g d¢d�}t ||¡ d S )N)ç      ð?rj   ç      @rz   rj   r   r)   r   ©Ú
fill_value)rj   r   r   )r   r#   r   rQ   r   r#   ©r   r8   rH   )r   r#   rH   )TFTFT)FTF)r   r   r   r+   r   r,   Ú
issubclassr8   ÚtypeÚintegerr*   )Zfloatsr   rA   ZintsÚobjectsZboolsr    r    r!   Útest_reindex_fill_value  s:    r‡   r8   zdatetime64[ns]útimedelta64[ns]r�   Ústringc                 C   sb   | dkr|t dƒkrtdƒ}ttg| d�}|jddg|d�}tt|gddgtd�}t ||¡ d S )Nrˆ   r   rQ   r&   r€   r‚   )r   r   r   r   r   r*   r   r,   )r8   r�   Zusing_array_managerr|   r   rA   r    r    r!   Ú+test_reindex_fill_value_datetimelike_upcast9  s    rŠ   c                  C   sp   t dddd�} t dddd�}ttdƒ| d	�}d
}tjt|d�� |j|dd� W d   ƒ n1 sb0    Y  d S )NZ20131101zAmerica/Chicagor%   )Útzr3   Z20131103r   Úhr2   r)   zLCannot compare dtypes datetime64\[ns, America/Chicago\] and datetime64\[ns\]rF   rR   rD   )r   r   r7   rI   rJ   Ú	TypeErrorr   )r   ZnewidxrU   rN   r    r    r!   Ú/test_reindex_datetimeindexes_tz_naive_and_awareI  s    ÿrŽ   c                  C   s6   t dd� ddg¡} t tgd dd�}t | |¡ d S )Nzdatetime64[ns, UTC]rQ   r   r&   r   )r   r   r   r   Zassert_equal)r   rA   r    r    r!   Ú"test_reindex_empty_series_tz_dtypeV  s    r�   z+p_values, o_values, values, expected_valuesZ2019Q1zQ-DECZ2019Q2ZAllr~   c           	      C   sB   t | ƒ}t|ƒ}t||d�}| |¡}t||d�}t ||¡ d S )Nr)   )r	   r   r   r   r   r,   )	Zp_valuesZo_valuesrw   Zexpected_valuesZperiod_indexZobject_indexr|   r   rA   r    r    r!   Ú$test_reindex_periodindex_with_object]  s    
r�   c                  C   sR   t ddgƒ} d}tjt|d��  |  ddgd¡ W d   ƒ n1 sD0    Y  d S )Nr&   r   zCreindex\(\) takes from 1 to 2 positional arguments but 3 were givenrF   r#   F©r   rI   rJ   r�   r   ©r|   rN   r    r    r!   Útest_reindex_too_many_argsy  s    r“   c                  C   sX   t ddgƒ} d}tjt|d��& | jddgddgd� W d   ƒ n1 sJ0    Y  d S )Nr&   r   z4reindex\(\) got multiple values for argument 'index'rF   r#   r'   r)   r‘   r’   r    r    r!   Útest_reindex_double_index�  s    r”   c                  C   s@   t ddgƒ} | jddgd�}t ddgddgd�}t ||¡ d S )Nr&   r   r   r)   )r   r   r   r,   )r|   r   rA   r    r    r!   Útest_reindex_no_posargs‰  s    r•   rw   rY   Úxc                 C   sh   t tt| d ƒƒt | ¡dd�}|jt dg¡dd�}t tdg| d gg g gd�dd�}t 	||¡ d S )Nr   r*   r‚   rZ   )Úlevelr&   )ZlevelsÚcodes)
r   r7   ro   r   Zfrom_arraysr   r   Úarrayr   r,   )rw   r|   r   rA   r    r    r!   Útest_reindex_empty_with_level‘  s    ÿÿrš   c                  C   sX   t g d¢dd�} d}tjt|d��" | jg d¢dd� W d   ƒ n1 sJ0    Y  d S )	N)r&   r   r#   r&   rv   rQ   z:Cannot setitem on a Categorical with a new category \(-1\)rF   rX   éÿÿÿÿr€   r‘   r’   r    r    r!   Útest_reindex_missing_categoryž  s    rœ   c                  C   s¤   t dtgtƒ d�} |  tdƒ¡}|jj}t dtj	tj	g¡}t
 ||¡ t
 d ¡�> t |¡}t dtj	tj	gtƒ d�}t
 ||¡ W d   ƒ n1 s–0    Y  d S )Nr~   rQ   r#   r&   r   )r   r   r   r   r7   rw   Ú_datar   r™   r+   r   Zassert_numpy_array_equalra   Úlogr,   )rU   Z	s_reindexr   rA   Z
result_logZexpected_logr    r    r!   Ú#test_reindexing_with_float64_NA_log¦  s    
rŸ   Ztimedelta64Z
datetime64c                 C   s`   t tjdg| › d�d�ƒ}| tdƒ¡}t tjdtt| ƒddƒg| › d�d�ƒ}t ||¡ d S )Nr&   z[s]rQ   r   ZnatrU   )r   r   r™   r   r
   Úgetattrr   r,   )r8   r|   r   rA   r    r    r!   Útest_reindex_expand_nonnano_nat³  s    "ÿr¡   )8Únumpyr   rI   Zpandas.util._test_decoratorsÚutilZ_test_decoratorsÚtdZpandasr   r   r   r   r   r   r   r	   r
   r   r   r   r   r   Zpandas._testingZ_testingr   r"   r1   r<   rB   rO   rW   rd   rg   ri   rl   rq   rt   ru   ry   r}   r‡   Z&skip_array_manager_not_yet_implementedÚmarkZparametrizerŠ   rŽ   r�   r+   r�   r“   r”   r•   rš   rœ   rŸ   r¡   r    r    r    r!   Ú<module>   sd   @"
3
üüùþ

