U
    `»{j¸5  ã                	   @   sÔ  d dl Zd dl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 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 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)d*ƒe
d+d*ƒge
d)d*ƒe
d+d*ƒd,gd-d-gd-d-ej&gfe
d)d*ƒe
d+d*ƒge
d)d*ƒe
d+d*ƒgd-d-gd-d-gfg¡d.d/„ ƒZ'd0d1„ Z(d2d3„ Z)d4d5„ Z*ej! "d6d7gd8ggg g gg¡d9d:„ ƒZ+d;d<„ Z,d=d>„ Z-dS )?é    N)ÚNAÚCategoricalÚFloat64DtypeÚIndexÚ
MultiIndexÚNaTÚPeriodÚPeriodIndexÚSeriesÚ	TimedeltaÚ	TimestampÚ
date_rangeÚisnac                 C   sH  |  |j¡}zt |j|j¡s"t‚W n tk
r8   Y nX |j |j¡sLt‚|j |j¡s^t‚|jdd… }|  |¡}| ¡ D ]\}}||| ks~t‚q~| jdd… }|   |¡}| ¡ D ]\}}|| | ks¸t‚q¸|   |¡}	t 	|	¡ 
¡ sît‚| jd d d… }
|   |
¡}| ¡ D ]\}}|| | k�st‚�q|   ¡ }|| k	�sDt‚d S )Né
   é   é   )ÚreindexÚindexÚnpZmay_share_memoryÚAssertionErrorÚAttributeErrorÚis_Z	identicalÚitemsÚisnanÚall)Údatetime_seriesZstring_seriesÚidentityZsubIndexZ	subSeriesÚidxÚvalZ	subIndex2ZsubTSZstuffSeriesZnonContigIndexZsubNonContigÚresult© r    úg/var/www/html/bwave/python/venv/lib/python3.8/site-packages/pandas/tests/series/methods/test_reindex.pyÚtest_reindex   s.    



r"   c                  C   sŒ   t ddddgddtjdgd�} tjdtjddtjgdd	ddddg }}t |  |¡| j| ¡ | j d
¡| _tj|  |¡| j| dd� d S )Nr   é   é   é   é   é   é   ©r   r   ÚobjectF)Zcheck_index_type)	r
   r   ÚnanÚtmÚassert_series_equalr   Zilocr   Úastype)ÚtsÚiÚjr    r    r!   Útest_reindex_nan=   s
    (r2   c                  C   sp   t dddd�} t| ƒ}| tdƒ¡}t |jt d¡¡s<t‚| ¡ }|dd …  	¡ sXt‚|d d…  
¡ rlt‚d S )Nz1/1/2000 00:00:00r   Z10s©ÚperiodsÚfreqé   zM8[ns]éûÿÿÿ)r   r
   r   Úranger   Z
issubdtypeÚdtyper   r   r   Úany)ÚrngZseriesr   Úmaskr    r    r!   Útest_reindex_series_add_natI   s    r=   c                  C   s„   t ddd�} ttj d¡| d�}| t|jdd… ƒ¡}|dd… }|j d ¡|_t	 
||¡ |t|jdd… ƒ }t	 
||¡ d S )Nz1/1/2000r   ©r4   r)   r$   r   )r   r
   r   ÚrandomZrandnr   Úlistr   Ú
_with_freqr,   r-   )r;   r/   r   Úexpectedr    r    r!   Útest_reindex_with_datetimesU   s    rC   c              	   C   s”   t t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 5 Q R X d S )N©r9   Úpad©Úmethodr   zVInvalid fill method\. Expecting pad \(ffill\), backfill \(bfill\) or nearest\. Got foo©ÚmatchÚfoo)r
   r*   r   r   r@   rA   r,   r-   ÚpytestÚraisesÚ
ValueError)r   ÚemptyÚ	reindexedr/   Úmsgr    r    r!   Útest_reindex_cornerb   s    
ÿrQ   c                  C   sÀ  t t d¡dd�} | d d d… }|j| jdd�}|j| jdd�}t ||¡ t ddddd	d	d
d
ddg
t d¡d�}t ||¡ t dddd	dgdddddgd�} ddddg}t ddddg|d�}|  |¡ ¡ }t || d¡¡ |  |¡jdd�}t ||¡ t ddddg|d�}| j|dd�}t ||¡ t ddddgt	dƒd�} d}|  t	|ƒ¡ ¡ }t dddgt	|ƒd�}t ||¡ t dt
ddƒd�} |  d¡jdd�}t dt
ddƒd�}t ||¡ d S )Nr   Úint64rD   r   rE   rF   Úffillr   r'   é   r(   r)   r&   r#   r$   ÚaÚbÚcÚdÚeÚgÚfZfloat64Zinfer)ZdowncastTFÚabcdZagcZbfill)r
   r   Úaranger   r   r,   r-   rS   r.   r@   r8   ÚshiftZfillna)ÚsÚs2rO   Z
reindexed2rB   Ú	new_indexr   r    r    r!   Útest_reindex_pady   s4    & rb   c                  C   s¼   t tjddd�ƒ} ddddg}| j|dd	�}t t |¡ d¡|ƒ}t ||¡ | j|dd
d�}t ddtjdg|ƒ}t ||¡ | j|dddddgd�}t dtjtjdg|ƒ}t ||¡ d S )Nr   rR   rD   gš™™™™™¹?gÍÌÌÌÌÌì?g      ø?ç       @ZnearestrF   gš™™™™™É?)rG   Z	tolerancer   r&   r   g333333Ó?g{®Gáz„?gš™™™™™Ù?r#   )	r
   r   r]   r   Úaroundr.   r,   r-   r+   )r_   Útargetr   rB   r    r    r!   Útest_reindex_nearest¢   s    rf   c                 C   sp   | d d d… }t tjt|ƒtd�|jd�}| | j¡}|jtjksFt	‚| |jd d d… ¡}|jtj
kslt	‚d S ©Nr   rD   r)   )r
   r   ÚzerosÚlenÚintr   r   r9   Zfloat_r   Úint_)r   r/   Zint_tsZreindexed_intr    r    r!   Útest_reindex_int²   s    rl   c                 C   sp   | d d d… }t tjt|ƒtd�|jd�}| | j¡}|jtjksFt	‚| |jd d d… ¡}|jtj
kslt	‚d S rg   )r
   r   rh   ri   Úboolr   r   r9   Zobject_r   Zbool_)r   r/   Úbool_tsZreindexed_boolr    r    r!   Útest_reindex_boolÁ   s    ro   c                 C   sT   | dd … }t tjt|ƒtd�|jd�}|j| jdd�}t|d d… ƒ ¡ sPt	‚d S )Nr$   rD   r)   rE   rF   )
r
   r   rh   ri   rm   r   r   r   r   r   )r   r/   rn   Zfilled_boolr    r    r!   Útest_reindex_bool_padÑ   s    rp   c                  C   sÞ   t ddd�} tdddgdd�}| | ¡}tttjtjtjgdddgd	�ƒ}| |_t ||¡ ttddgdddgd	�ƒ}d
dg|_| d
dg¡}t ||¡ ttdtjgdddgd	�ƒ}ddg|_| ddg¡}t ||¡ d S )NZ20000101r#   r>   rU   rV   rW   ÚcategoryrD   )ÚvaluesÚ
categoriesr&   r   )	r   r
   r   r   r   r+   r   r,   r-   )r   r_   r   rB   r    r    r!   Útest_reindex_categoricalÙ   s     
ÿ

rt   c                  C   sf   t dddgdddgd�} dddg}d}t}|  |¡ |¡ |¡}|  |¡ |¡ |¡}t ||¡ d S )Nr&   r   r#   r   r)   rq   )r
   Ústrr   r.   r,   r-   )Úserra   Z
temp_dtypeZ	new_dtyper   rB   r    r    r!   Ú%test_reindex_astype_order_consistencyñ   s    
rw   c                  C   s  t dddgƒ} |  dddg¡}t ddtjgdddgd�}t ||¡ | jdddgdd	�}t dddgdddgd�}t ||¡ t dddgƒ}| dddg¡}t ddtjgdddgd�}t ||¡ |jdddgdd	�}t dddgdddgd�}t|jjtj	ƒ�st
‚t ||¡ t dddgtd
�}| dddg¡}t ddtjgdddgtd�}t ||¡ |jdddgdd	�}t dddgdddgtd�}t ||¡ t dddgƒ}| dddg¡}t ddtjgdddgtd�}t ||¡ |jdddgdd	�}t dddgdddgd�}t ||¡ d S )Nç      ð?rc   g      @r&   r   r#   r)   r   ©Ú
fill_valuerD   ©r   r9   rJ   TF)r
   r   r   r+   r,   r-   Ú
issubclassr9   ÚtypeÚintegerr   r*   )Zfloatsr   rB   ÚintsÚobjectsZboolsr    r    r!   Útest_reindex_fill_valueü   s:    r�   r9   zdatetime64[ns]útimedelta64[ns]rz   Ústringc                 C   sp   |rt  d¡ | dkr*|tdƒkr*tdƒ}ttg| d�}|jddg|d�}td |gddgtd�}t 	||¡ d S )Nz3Array manager does not promote dtype, hence we failr‚   r   rD   r&   ry   r{   )
rK   Úskipr   r   r
   r   r   r*   r,   r-   )r9   rz   Zusing_array_managerrv   r   rB   r    r    r!   Ú+test_reindex_fill_value_datetimelike_upcast/  s    
r…   c               	   C   s\   t dddd�} t dddd�}ttdƒ| d	�}d
}tjt|d�� |j|dd� W 5 Q R X d S )NZ20131101zAmerica/Chicagor%   )Útzr4   Z20131103r   ÚHr3   r)   zLCannot compare dtypes datetime64\[ns, America/Chicago\] and datetime64\[ns\]rH   rS   rF   )r   r
   r8   rK   rL   Ú	TypeErrorr   )r   Znewidxr_   rP   r    r    r!   Ú/test_reindex_datetimeindexes_tz_naive_and_awareA  s    ÿr‰   c                  C   s6   t dd� ddg¡} t tgd dd�}t | |¡ d S )Nzdatetime64[ns, UTC]rD   r   r&   r   )r
   r   r   r,   Zassert_equal)r   rB   r    r    r!   Ú"test_reindex_empty_series_tz_dtypeN  s    rŠ   z+p_values, o_values, values, expected_valuesZ2019Q1zQ-DECZ2019Q2ZAllrx   c           	      C   sB   t | ƒ}t|ƒ}t||d�}| |¡}t||d�}t ||¡ d S )Nr)   )r	   r   r
   r   r,   r-   )	Zp_valuesZo_valuesrr   Zexpected_valuesZperiod_indexZobject_indexrv   r   rB   r    r    r!   Ú$test_reindex_periodindex_with_objectU  s    
r‹   c               	   C   s:   t ddgƒ} tjtdd�� |  ddgd¡ W 5 Q R X d S )Nr&   r   z3Only one positional argument \('index'\) is allowedrH   r#   F©r
   rK   rL   rˆ   r   )rv   r    r    r!   Útest_reindex_too_many_argsq  s     ÿr�   c               	   C   sD   t ddgƒ} d}tjt|d�� | jddgddgd� W 5 Q R X d S )Nr&   r   z6'index' passed as both positional and keyword argumentrH   r#   r'   r)   rŒ   ©rv   rP   r    r    r!   Útest_reindex_double_indexz  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-   )rv   r   rB   r    r    r!   Útest_reindex_no_posargs‚  s    r�   rr   rU   Ú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{   rV   )Úlevelr&   )ZlevelsÚcodes)
r
   r8   ri   r   Zfrom_arraysr   r   Úarrayr,   r-   )rr   rv   r   rB   r    r    r!   Útest_reindex_empty_with_levelŠ  s      ÿ ÿr•   c               	   C   sN   t ddddgdd�} d}tjt|d�� | jddddd	gd
d� W 5 Q R X d S )Nr&   r   r#   rq   rD   z:Cannot setitem on a Categorical with a new category \(-1\)rH   r'   r$   éÿÿÿÿry   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 ¡�4 t |¡}t dtj	tj	gtƒ d�}t
 ||¡ W 5 Q R X d S )Nrx   rD   r#   r&   r   )r
   r   r   r   r8   rr   Ú_datar   r”   ÚNaNr,   Zassert_numpy_array_equalZassert_produces_warningÚlogr-   )r_   Z	s_reindexr   rB   Z
result_logZexpected_logr    r    r!   Ú#test_reindexing_with_float64_NA_logŸ  s    
r›   ).Únumpyr   rK   Zpandasr   r   r   r   r   r   r   r	   r
   r   r   r   r   Zpandas._testingZ_testingr,   r"   r2   r=   rC   rQ   rb   rf   rl   ro   rp   rt   rw   r�   ÚmarkZparametrizer…   r‰   rŠ   r+   r‹   r�   r�   r�   r•   r—   r›   r    r    r    r!   Ú<module>   sV   <')3
üüùþ
	
