a
    é´«jb   ã                	   @   st  d dl mZ d dlZd dlZd dlZd dlmZmZm	Z	 d dl
mZ ej dddgddggdd gddggddgdd ggdd gdd ggg¡ej dddg¡d	d
„ ƒƒZej dddgddggdd gddggddgdd ggdd gdd gg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ej dg d¢¡dd„ ƒZdd„ Zdd„ Zdd „ Zd!d"„ Zd#d$„ ZdS )%é    )ÚtimezoneN)ÚSeriesÚ
date_rangeÚperiod_rangezfirst_slice,second_sliceé   éûÿÿÿÚfilléÿÿÿÿc                 C   s,  | t |Ž  }| t |Ž  }|j|||d�\}}|jj|j|d�}	|d ur¢|j |	¡}
|j |	¡}t|
ƒdkr€| |
¡|k ¡ s€J ‚t|ƒdkr¢| |¡|k ¡ s¢J ‚| |	¡}| |	¡}|d urÒ| |¡}| |¡}t	 
||¡ t	 
||¡ |jdksøJ ‚|jdk�sJ ‚|jdk�sJ ‚|jdk�s(J ‚d S )N)ÚjoinZ
fill_value©Úhowr   Úts)ÚsliceÚalignÚindexr
   Ú
differenceÚlenÚreindexÚallÚfillnaÚtmÚassert_series_equalÚname)Údatetime_seriesÚfirst_sliceÚsecond_sliceÚ	join_typer   ÚaÚbÚaaÚabÚ
join_indexZdiff_aZdiff_bÚeaÚeb© r$   úe/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/pandas/tests/series/methods/test_align.pyÚ
test_align   s,    



r&   ÚmethodÚpadÚbfillÚlimité   c                 C   sð   | t |Ž  }| t |Ž  }d}tjt|d��& |j||||d�\}	}
W d   ƒ n1 sV0    Y  |jj|j|d�}| |¡}| |¡}d}tjt|d��, |j||d�}|j||d�}W d   ƒ n1 sÊ0    Y  t 	|	|¡ t 	|
|¡ d S )NúNThe 'method', 'limit', and 'fill_axis' keywords in Series.align are deprecated©Úmatch)r
   r'   r*   r   z)Series.fillna with 'method' is deprecated)r'   r*   )
r   r   Úassert_produces_warningÚFutureWarningr   r   r
   r   r   r   )r   r   r   r   r'   r*   r   r   Úmsgr   r    r!   r"   r#   Zmsg2r$   r$   r%   Útest_align_fill_method7   s    ÿ4

,r2   c                 C   sr  | d d…   ¡ }|   ¡ }|j|dd�\}}d|d d…< |d d… dk ¡ rNJ ‚|   ¡ }|j|ddd�\}}d|d d…< |r”|d d… dk ¡ r¬J ‚n|d d… dk ¡ s¬J ‚|   ¡ }| d d…   ¡ }|j|dd�\}}d|d d…< |d d… dk ¡ rúJ ‚|   ¡ }| d d…   ¡ }|j|ddd�\}}d|d d…< |�rT|d d… dk ¡ �rnJ ‚n|d d… dk ¡ �snJ ‚d S )	Né   Úleft©r
   F)r
   ÚcopyÚrighté   r   )r6   r   Úanyr   )r   Úusing_copy_on_writer   r   ÚraÚ_Úrbr$   r$   r%   Útest_align_nocopy\   s.    r>   c                 C   s¶   | j | dd�\}}|s8|j| ju s&J ‚|j| ju s\J ‚n$|j | j¡sJJ ‚|j | j¡s\J ‚| j | dd�\}}|j| jus~J ‚|j| jusŽJ ‚|j | j¡s J ‚|j | j¡s²J ‚d S )NF)r6   T)r   r   Úis_)r   r:   r   r   r$   r$   r%   Útest_align_same_index€   s    r@   c                  C   sv  t jjtdƒtdƒtdƒgdd�} t jtdƒdd�}ttjddd	�| d
�}ttjddd	�|d
�}|j|dd�\}}|j|dd�\}}|}t	 
||¡ t	 
||¡ tddddtjtjgd | d
�}	t	 
|	|¡ t	 
|	|¡ |j|dd�\}}|j|dd�\}}t jjtdƒtdƒtdƒgdd�}
tg d¢|
d
�}t	 
||¡ t	 
||¡ tg d¢d |
d
�}	t	 
|	|¡ t	 
|	|¡ d S )Nr   r8   ©r   r   Úc©Únamesr   )r   é   Zint64©Zdtype©r   r4   r5   r7   r   r+   )r   r+   r   r8   é   é   é   é	   )r   r   r+   r+   )ÚpdÚ
MultiIndexZfrom_productÚrangeÚIndexr   ÚnpZaranger   r   r   Únan)ZmidxÚidxÚs1Ús2Zres1lZres1rZres2lZres2rZexplÚexprZexp_idxr$   r$   r%   Útest_align_multiindex�   s2    ÿ ÿrV   )Zbackfillr)   r(   ZffillNc                 C   sŒ   t tdƒtdƒd�}tjdtdƒtdƒd�}d}tjt|d��" |j|| d�\}}W d   ƒ n1 sf0    Y  t ||¡ t 	||¡ d S )Nr8   rG   g        )r   Úcolumnsr,   r-   )r'   )
r   rN   rL   Z	DataFramer   r/   r0   r   r   Zassert_frame_equal)r'   ÚserZdfr1   Z
result_serZ	result_dfr$   r$   r%   Ú test_align_with_dataframe_method³   s    ÿ0rY   c                  C   sn   t ddddd�} ttj d¡ t| ƒ¡| d�}| d¡}| |¡\}}|j	j
tju sXJ ‚|j	j
tju sjJ ‚d S )	NZ2001r3   Úhz
US/Eastern)ZperiodsÚfreqÚtzr   rG   z
US/Central)r   r   rP   ÚrandomÚdefault_rngÚstandard_normalr   Z
tz_convertr   r   r\   r   Úutc)Zidx1rX   Zser_centralZnew1Znew2r$   r$   r%   Ú%test_align_dt64tzindex_mismatched_tzsÃ   s    
ra   c                 C   sH   t dddd�}ttj d¡ t|ƒ¡|d�}|j|d d d… | d� d S )Nz1/1/2000z1/1/2010ÚY)r[   r   rG   r5   )r   r   rP   r]   r^   r_   r   r   )r   Úrngr   r$   r$   r%   Útest_align_periodindexÎ   s    rd   c                 C   s¤   t tdƒtjg d¢| d�d�}t tdƒtjg d¢| d�d�}| |¡\}}tjg d¢| d�}t ddtjd	g|d�}t ddd	tjg|d�}t ||¡ t ||¡ d S )
Nr8   )r   r   ÚdrF   rG   rA   )r   r   rB   re   r   r+   r   )	r   rN   rL   rO   r   rP   rQ   r   r   )Zany_string_dtyper4   r7   Úresult_leftÚresult_rightZexpected_idxÚexpected_leftÚexpected_rightr$   r$   r%   Útest_align_stringindexÖ   s    rj   c                  C   sª   t dgtjjdgddgd�d�} t dgtjjdgg d	¢d�d�}|  |¡\}}t dgtjjd
gg d¢d�d�}t dgtjjd
gg d¢d�d�}t ||¡ t ||¡ d S )Nr   )r+   r8   r   rB   rC   rG   r+   ©r+   r   r8   rA   )r+   r8   r   )r   rB   r   ©r   rL   rM   Úfrom_tuplesr   r   r   )r4   r7   rf   rg   ri   rh   r$   r$   r%   Útest_align_left_fewer_levelsã   s     ÿÿÿrn   c                  C   sª   t dgtjjdgg d¢d�d�} t dgtjjdgg d¢d�d�}|  |¡\}}t dgtjjd	gg d
¢d�d�}t dgtjjd	gg d
¢d�d�}t ||¡ t ||¡ d S )Nr   )r+   é   r8   )r   re   rB   rC   rG   r+   rk   rA   )r+   ro   r8   r   )r   re   rB   r   rl   )r4   r7   rf   rg   rh   ri   r$   r$   r%   Ú&test_align_left_different_named_levelsõ   s    ÿÿÿÿrp   )Údatetimer   ÚnumpyrP   ZpytestZpandasrL   r   r   r   Zpandas._testingZ_testingr   ÚmarkZparametrizer&   r2   r>   r@   rV   rY   ra   rd   rj   rn   rp   r$   r$   r$   r%   Ú<module>   sH   üþ	üþ	$#
