U
    sVc,                     @   s  d dl m Z mZ d dlZd dlZd dlZd dlmZmZ d dl	m
Z d dlmZ d dlmZmZ d dlmZ d dlmZmZ ede d	d
d
e d	d
dfZede d	d
d
e d	d
dfZedddfZejdeeegZe dd Zejdd Zdd Zeejddddidggdd Z ejded
dded
e!d
dgd d! Z"d"d# Z#d$d% Z$d&d' Z%d(d) Z&ejd*d+dd,gejd-dddidggd.d/ Z'ejd0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@gdAdB Z(dCdD Z)dEdF Z*dGdH Z+dS )I    )datetime	timedeltaN)	DataFrameSeries)
date_range)PeriodIndexperiod_range)timedelta_range)BDayMinutedti     
   piZtdiz1 dayz10 dayz3_index_factory,_series_name,_index_start,_index_endc                   C   s   t S )N)r    r   r   I/tmp/pip-unpacked-wheel-xj8nt62q/pandas/tests/resample/test_deprecated.py_index_factory%   s    r   c                    s    fdd}|S )Nc                     s
    | |S )z8return the _index_factory created using the args, kwargsr   )argskwargsr   r   r   _create_index,   s    z#create_index.<locals>._create_indexr   )r   r   r   r   r   create_index*   s    r   c               
   C   sp  t dddd} tdtdg | ddgd}tt tjd	d
d W 5 Q R X tt tjd	dd W 5 Q R X tt |dj	dd
d
  W 5 Q R X tt |dj	ddd
  W 5 Q R X d}tt: tjt|d  |dj	dd
d
d
  W 5 Q R X W 5 Q R X tt |j	dd
d
  W 5 Q R X tt |j	ddd
  W 5 Q R X d S )Nz
2001-01-01   Tperiodsfreq   ab)dataindexcolumnsZ10sr   )r   base0s)r   loffsetZ3Tr$   r&   z6'offset' and 'base' cannot be present at the same timematch)r$   offset)r   r   rangetmassert_produces_warningFutureWarningpdZGroupergroupbyresamplesumpytestZraises
ValueError)idxdfmsgr   r   r   $test_deprecating_on_loffset_and_base4   s$    "".r9   argmeanvaluec              	      s   |   fddt dt jdD }| jd t jd dd}t|trT| }|tdd7 }td|i|d	}t	
t  jdd
d|}W 5 Q R X t|trtjdg|_t	|| d S )Nc                    s"   g | ]} j ||d    qS r   valuesr;   .0ir7   r   r   
<listcomp>V   s     z2test_resample_loffset_arg_type.<locals>.<listcomp>r   r   2Dr   hoursr<   r"   2Hr(   r<   r;   )r,   lenr?   r"   
isinstancer   to_timestampr   r   r-   r.   r/   r2   agglistr0   
MultiIndexfrom_tuplesr#   assert_frame_equal)framer   r:   expected_meansexpected_indexexpected
result_aggr   rC   r   test_resample_loffset_arg_typeQ   s     

rX   r&   minutesZ1minmc           	   	   C   sV  t dddd}ttjd|d}tt |jddd| d		 }W 5 Q R X t d
ddd}t|d |dd 	 |dd 	 |dd  	 g|t
dd d}t|| |jjtdkstt tdddtddddd}ttjt||}|d }t }tt |jd| d }W 5 Q R X |jd | |jd ksRtd S )N1/1/2000 00:00:001/1/2000 00:13:00minr      rH   5minrightclosedlabelr&   1/1/2000r   r   r   r         rY      r   r   Dstartendr   zw-sunr(   )r   r   nprandomrandnr-   r.   r/   r2   r;   r   assert_series_equalr"   r   r   AssertionErrorr   ZrandrK   lastr
   )	r&   rngsresultr6   rV   r   ZserZbusiness_day_offsetr   r   r   test_resample_loffseti   s.       2rw   c               	   C   s   t dddd} ttjd| d}tt" |jdddt	d	d
d
 }W 5 Q R X t dddd}t|d |d |d |d g|t	d	d
 d}t|| d S )Nr\   r]   r^   r_   r`   rH   ra   rb   r   rY   rc   rf   r   r   r   ri   r   )r   r   rn   ro   rp   r-   r.   r/   r2   r   Zffillrq   )rt   ru   rv   r6   rV   r   r   r   test_resample_loffset_upsample   s       .ry   c               	   C   s   d} t | ddd}ttjt||d}tt |j	ddd
 }W 5 Q R X t | d	ddtd
d }td	|d}t|| tt |j	ddd }W 5 Q R X t|| d S )Nr\   d   Sr   rH   Z10SZ1sr(   r   r   )seconds)r   r   rn   ro   rp   rK   r-   r.   r/   r2   countr   rq   size)
start_timert   tsrv   rU   rV   r   r   r   test_resample_loffset_count   s    r   c               	   C   sn   t dddd} ttjt| | d}tt |j	ddd
 }W 5 Q R X t d	d
dd}t|j| d S )Nr\   z1/1/2000 02:00ru   r_   rH   ra   r   r'   z12/31/1999 23:57:00z1/1/2000 01:57)r   r   rn   ro   rp   rK   r-   r.   r/   r2   r;   assert_index_equalr"   )rt   r   Z	resampledZexp_rngr   r   r   test_resample_base   s    r   c               	   C   sv   t dddg} ttd| d}d}tt |jd|d	 }W 5 Q R X tdt j
dgdd	d}t|| d S )
Nz2018-11-26 16:17:43.51z2018-11-26 16:17:44.51z2018-11-26 16:17:45.51   rH   g{ͅ1@Z3minr'   r_   )r0   to_datetimer   rn   aranger-   r.   r/   r2   r~   ZDatetimeIndexrq   )dtru   r$   rv   rV   r   r   r   test_resample_float_base   s     r   kindZperiod	timestampagg_argc              	      s   |   fddt dt jdD }t jd t jd dd}| }|tdd7 }td|i|d	}t	t
  jdd
|d|}W 5 Q R X t|trtjdg|_t|| d S )Nc                    s"   g | ]} j ||d    qS r=   r>   r@   rC   r   r   rD      s     z6test_loffset_returns_datetimeindex.<locals>.<listcomp>r   r   rE   r   rF   r<   rH   rI   )r&   r   rJ   )r,   rK   r?   r   r"   rM   r   r   r-   r.   r/   r2   rN   rL   rO   r0   rP   rQ   r#   rR   )rS   r   r   rT   rU   rV   rW   r   rC   r   "test_loffset_returns_datetimeindex   s      
r   z)start,end,start_freq,end_freq,base,offset)1991090519910909 03:00H24Hr   10H)r   19910909 12:00r   r   r   r   )r   z19910909 23:00r   r   r   r   )19910905 10:0019910909r   r   r   r   )r   19910909 10:00r   r   r   r   )r   r   r   r   r   r   )19910905 12:00r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   "   Z34H)r   r   r   17Hr   r   )r   r   r   r   r   3H)r   z19910909 1:00r   Mr   r   )r   z19910913 06:00rI   r   r   r   )r   z19910905 01:39ZMin5Minr   3Min)r   z19910905 03:18Z2Minr   r   r   c           
   	   C   s   t dt| ||dd}|tt| }tt |j||d	 }W 5 Q R X |
|}|j||d	 }|
|}t|| |dkr||n|}tt |
 j||d	 }	W 5 Q R X |dkr|	jd |	_t||	 d S )Nr   r_   rH   r'   )r+   r   r   )r   r   rn   r   rK   r-   r.   r/   r2   r;   rM   rq   Zasfreqr"   Z
_with_freq)
rl   rm   Z
start_freqZend_freqr$   r+   ru   rv   Zresult_offsetrV   r   r   r    test_resample_with_non_zero_base   s    

 r   c               	   C   s   t dddd} ttjt| | d}tt |j	ddd
 }W 5 Q R X |	d
 }t dd	dd
}t dddd
}t|j| t|j| d S )Nr%      ru   )rl   r   r   rH   Z2sri   r'   Z25srk   Z5sZ29s)r	   r   rn   ro   rp   rK   r-   r.   r/   r2   r;   r   r"   )rt   r   Z	with_baseZwithout_baseZexp_without_baseZexp_with_baser   r   r   &test_resample_base_with_timedeltaindex  s    r   c               	   C   s   t ddg} tddg| d}d}tjt|d |dd	d
}W 5 Q R X t ddddg} tddddg| d}d|jj	_
t|| d S )Nz1992-08-27 07:46:48z1992-08-27 07:46:59r   r   rH   z{In a future version of pandas all arguments of Resampler\.interpolate except for the argument 'method' will be keyword-onlyr)   Z3sZlinearr   z1992-08-27 07:46:51z1992-08-27 07:46:54z1992-08-27 07:46:57g      ?)r0   r   r   r-   r.   r/   r2   Zinterpolater"   _datar   rq   )r6   ru   r8   rv   rV   r   r   r   $test_interpolate_posargs_deprecation  s     
r   c               	   C   sp   t dddgtddddd} tjtdd	 | d
  W 5 Q R X tjtdd	 | d
  W 5 Q R X d S )Nr   r   r   Z20180101hr   rH   backfillr)   Z30minpad)r   r   r-   r.   r/   r2   r   r   )ru   r   r   r   test_pad_backfill_deprecation6  s
    r   ),r   r   Znumpyrn   r4   Zpandasr0   r   r   Zpandas._testingZ_testingr-   Zpandas.core.indexes.datetimesr   Zpandas.core.indexes.periodr   r   Zpandas.core.indexes.timedeltasr	   Zpandas.tseries.offsetsr
   r   Z
DATE_RANGEZPERIOD_RANGEZTIMEDELTA_RANGEmarkZparametrizeZall_tsZfixturer   r   r9   rX   Ztimedelta64rw   ry   r   r   r   r   r   r   r   r   r   r   r   r   <module>   sx   

	 


