a
    nÝEb·3  ã                	   @   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 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S )=é    N)ÚCategoricalÚIndexÚ
MultiIndexÚNaTÚPeriodÚPeriodIndexÚSeriesÚ	TimedeltaÚ	TimestampÚ
date_rangeÚisnac                 C   sF  |  |j¡}zt |j|j¡s"J ‚W n ty6   Y n0 |j |j¡sJJ ‚|j |j¡s\J ‚|jdd… }|  |¡}| ¡ D ]\}}||| ks|J ‚q|| jdd… }|   |¡}| ¡ D ]\}}|| | ks¶J ‚q¶|   |¡}	t |	¡ 	¡ sìJ ‚| jd d d… }
|   |
¡}| ¡ D ]\}}|| | k�sJ ‚�q|   ¡ }|| u�sBJ ‚d S )Né
   é   é   )
ÚreindexÚindexÚnpZmay_share_memoryÚAttributeErrorÚis_Z	identicalÚitemsÚisnanÚall)Údatetime_seriesZstring_seriesÚidentityZsubIndexZ	subSeriesÚidxÚvalZ	subIndex2ZsubTSZstuffSeriesZnonContigIndexZsubNonContigÚresult© r   úh/home/ja/django-apps/lartica_env/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   ÚnanÚtmÚassert_series_equalr   Zilocr   Úastype)ÚtsÚiÚjr   r   r   Útest_reindex_nan;   s
     r/   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�}| t|jdd… ƒ¡}|dd… }|j d ¡|_t	 
||¡ |t|jdd… ƒ }t	 
||¡ d S )Nz1/1/2000r   ©r1   r&   r!   r   )r   r   r   ÚrandomZrandnr   Úlistr   Ú
_with_freqr)   r*   )r8   r,   r   Úexpectedr   r   r   Útest_reindex_with_datetimesS   s    r@   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 d   ƒ n1 sš0    Y  d S )N©r6   Úpad©Úmethodr   zVInvalid fill method\. Expecting pad \(ffill\), backfill \(bfill\) or nearest\. Got foo©ÚmatchÚfoo)r   r'   r   r   r=   r>   r)   r*   ÚpytestÚraisesÚ
ValueError)r   ÚemptyÚ	reindexedr,   Úmsgr   r   r   Útest_reindex_corner`   s    
ÿrN   c                  C   s’  t t d¡dd�} | d d d… }|j| jdd�}|j| jdd�}t ||¡ t g d¢t d¡d	�}t ||¡ t g d
¢g d¢d	�} g d¢}t g d¢|d	�}|  |¡ ¡ }t || d¡¡ |  |¡jdd�}t ||¡ t g d¢|d	�}| j|dd�}t ||¡ t g d¢t	dƒd	�} d}|  t	|ƒ¡ ¡ }t g d¢t	|ƒd	�}t ||¡ t dt
ddƒd	�} |  d¡jdd�}t dt
ddƒd	�}t ||¡ d S )Nr   Úint64rA   r   rB   rC   Úffill)
r   r   r   r   r$   r$   é   rQ   r%   r%   r&   ©r#   r   r    r$   r!   )ÚaÚbÚcÚdÚe)rS   ÚgrU   Úf)r#   r#   r    r    Zfloat64Zinfer)Zdowncast)r#   r!   r    r!   )TFFTÚabcdZagc)TTFFr   r!   r#   Zbfill)r   r   Úaranger   r   r)   r*   rP   r+   r=   r5   ÚshiftZfillna)ÚsÚs2rL   Z
reindexed2r?   Ú	new_indexr   r   r   r   Útest_reindex_padw   s4    r`   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   rO   rA   )gš™™™™™¹?gÍÌÌÌÌÌì?g      ø?ç       @ZnearestrC   gš™™™™™É?)rD   Z	tolerancer   r#   r   )g333333Ó?g{®Gáz„?gš™™™™™Ù?r    )	r   r   r[   r   Zaroundr+   r)   r*   r(   )r]   Útargetr   r?   r   r   r   Útest_reindex_nearest    s    rc   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 ©Nr   rA   r&   )
r   r   ÚzerosÚlenÚintr   r   r6   Zfloat_Úint_)r   r,   Zint_tsZreindexed_intr   r   r   Útest_reindex_int°   s    ri   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 rd   )
r   r   re   rf   Úboolr   r   r6   Zobject_Zbool_)r   r,   Úbool_tsZreindexed_boolr   r   r   Útest_reindex_bool¿   s    rl   c                 C   sT   | dd … }t tjt|ƒtd�|jd�}|j| jdd�}t|d d… ƒ ¡ sPJ ‚d S )Nr!   rA   r&   rB   rC   )	r   r   re   rf   rj   r   r   r   r   )r   r,   rk   Zfilled_boolr   r   r   Útest_reindex_bool_padÏ   s    rm   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;   )rS   rT   rU   ÚcategoryrA   )ÚvaluesÚ
categoriesrT   rU   r#   r   )	r   r   r   r   r   r(   r   r)   r*   )r   r]   r   r?   r   r   r   Útest_reindex_categorical×   s     
ÿ

rq   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   rn   )r   Ústrr   r+   r)   r*   )Úserr_   Z
temp_dtypeZ	new_dtyper   r?   r   r   r   Ú%test_reindex_astype_order_consistencyï   s    ru   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)ç      ð?ra   ç      @rr   ra   rw   r&   r   ©Ú
fill_value)ra   rw   r   )r   r    r   rA   r   r    ©r   r6   rG   )r   r    rG   )TFTFT)FTF)r   r   r   r(   r)   r*   Ú
issubclassr6   ÚtypeÚintegerr'   )Zfloatsr   r?   ÚintsÚobjectsZboolsr   r   r   Útest_reindex_fill_valueú   s:    r€   r6   zdatetime64[ns]útimedelta64[ns]ry   Ú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   rA   r#   rx   rz   )
rH   Úskipr	   r
   r   r   r   r'   r)   r*   )r6   ry   Zusing_array_managerrt   r   r?   r   r   r   Ú+test_reindex_fill_value_datetimelike_upcast-  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"   )Útzr1   Z20131103r   ÚHr0   r&   zLCannot compare dtypes datetime64\[ns, America/Chicago\] and datetime64\[ns\]rE   rP   rC   )r   r   r5   rH   rI   Ú	TypeErrorr   )r   Znewidxr]   rM   r   r   r   Ú/test_reindex_datetimeindexes_tz_naive_and_aware?  s    ÿrˆ   c                  C   s6   t dd� ddg¡} t tgd dd�}t | |¡ d S )Nzdatetime64[ns, UTC]rA   r   r#   r   )r   r   r   r)   Zassert_equal)r   r?   r   r   r   Ú"test_reindex_empty_series_tz_dtypeL  s    r‰   z+p_values, o_values, values, expected_valuesZ2019Q1zQ-DECZ2019Q2ZAllrv   c           	      C   sB   t | ƒ}t|ƒ}t||d�}| |¡}t||d�}t ||¡ d S )Nr&   )r   r   r   r   r)   r*   )	Zp_valuesZo_valuesro   Zexpected_valuesZperiod_indexZobject_indexrt   r   r?   r   r   r   Ú$test_reindex_periodindex_with_objectS  s    
rŠ   c                  C   sN   t ddgƒ} tjtdd��  |  ddgd¡ W d   ƒ n1 s@0    Y  d S )Nr#   r   z3Only one positional argument \('index'\) is allowedrE   r    F©r   rH   rI   r‡   r   )rt   r   r   r   Útest_reindex_too_many_argso  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   z6'index' passed as both positional and keyword argumentrE   r    r$   r&   r‹   ©rt   rM   r   r   r   Útest_reindex_double_indexx  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*   )rt   r   r?   r   r   r   Útest_reindex_no_posargs€  s    r�   ro   rS   Ú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'   rz   rT   )Úlevelr#   )ZlevelsÚcodes)
r   r5   rf   r   Zfrom_arraysr   r   Úarrayr)   r*   )ro   rt   r   r?   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#   rn   rA   z:Cannot setitem on a Categorical with a new category \(-1\)rE   rR   éÿÿÿÿrx   r‹   r�   r   r   r   Útest_reindex_missing_category•  s    r–   )+Únumpyr   rH   Zpandasr   r   r   r   r   r   r   r	   r
   r   r   Zpandas._testingZ_testingr)   r   r/   r:   r@   rN   r`   rc   ri   rl   rm   rq   ru   r€   ÚmarkZparametrizer„   rˆ   r‰   r(   rŠ   rŒ   rŽ   r�   r”   r–   r   r   r   r   Ú<module>   sT   4')3
üüùþ
	
