3
Ud                 @   s\  d dl 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	j
Zej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jddd!gdd	 Zej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jd
ddgejjdddgdd Zdd Zdd Zdd Zejjd
dddddgdd Zdd Zdd ZdS )%    N)Series
date_rangeperiod_rangezfirst_slice,second_slice      fill   c             C   s,  | t |  }| t |  }|j|||d\}}|jj|j|d}	|d k	r|jj|	}
|jj|	}t|
dkr|j|
|kj stt|dkr|j||kj st|j|	}|j|	}|d k	r|j	|}|j	|}t
j|| t
j|| |jdkst|jdkst|jdkst|jdks(td S )N)joinZ
fill_value)howr   ts)slicealignindexr	   
differencelenreindexallAssertionError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#   Z/var/www/html/virt/lib64/python3.6/site-packages/pandas/tests/series/methods/test_align.py
test_align
   s,    



r%   methodpadZbfilllimitc             C   s   | t |  }| t |  }|j||||d\}}	|jj|j|d}
|j|
}|j|
}|j||d}|j||d}tj|| tj|	| d S )N)r	   r&   r(   )r
   )r&   r(   )r   r   r   r	   r   r   r   r   )r   r   r   r   r&   r(   r   r   r   r   r    r!   r"   r#   r#   r$   test_align_fill_method2   s    

r)   c             C   s6  | d d j  }| j  }|j|dd\}}d|d d< |d d dkj  sPt| j  }|j|ddd\}}d|d d< |d d dkj st| j  }| d d j  }|j|dd\}}d|d d< |d d dkj  st| j  }| d d j  }|j|ddd\}}d|d d< |d d dkj s2td S )	Nr   left)r	   F)r	   copyright   r   )r+   r   anyr   r   )r   r   r   ra_rbr#   r#   r$   test_align_nocopyP   s&    r2   c             C   sh   | j | dd\}}|j| jks"t|j| jks2t| j | dd\}}|j| jk	sTt|j| jk	sdtd S )NF)r+   T)r   r   r   )r   r   r   r#   r#   r$   test_align_same_indexn   s    r3   c           	   C   s  t jjtdtdtdgdd} t jtddd}t jtjdd	d
| d}t jtjdd	d
|d}|j|dd\}}|j|dd\}}|}t	j
|| t	j
|| t jddddtjtjgd | d}	t	j
|	| t	j
|	| |j|dd\}}|j|dd\}}t jjtdtdtdgdd}
t jddddddddg|
d}t	j
|| t	j
|| t jddddgd |
d}	t	j
|	| t	j
|	| d S )Nr   r-   r   r   c)names)r      Zint64)Zdtype)r   r*   )r	   r,   r   r            	   )r   r   r4   )r   r   r4   )pdZ
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_multiindexx   s.    "rD   ZbackfillZffillc             C   s\   t jtdtdd}t jdtdtdd}|j|| d\}}tj|| tj|| d S )Nr-   )r   g        )r   columns)r&   )r;   r   r<   Z	DataFramer   r   r   Zassert_frame_equal)r&   serdfZ
result_serZ	result_dfr#   r#   r$    test_align_with_dataframe_method   s
    rH   c              C   sh   t ddddd} ttjjt| | d}|jd}|j|\}}|jj	t
jksRt|jj	t
jksdtd S )NZ2001r   Hz
US/Eastern)Zperiodsfreqtz)r   z
US/Central)r   r   r>   randomrandnr   Z
tz_convertr   r   rK   pytzUTCr   )Zidx1rF   Zser_centralZnew1Znew2r#   r#   r$   %test_align_dt64tzindex_mismatched_tzs   s    
rP   c             C   sB   t dddd}ttjjt||d}|j|d d d | d d S )Nz1/1/2000z1/1/2010A)rJ   )r   r   )r	   )r   r   r>   rL   rM   r   r   )r   rngr   r#   r#   r$   test_align_periodindex   s    rS   rT   rT   rT   rT   rT   )Znumpyr>   ZpytestrN   Zpandasr;   r   r   r   Zpandas._testingZ_testingr   markZparametrizer%   r)   r2   r3   rD   rH   rP   rS   r#   r#   r#   r$   <module>   s4   

# 