ó
šxŠ\c           @   s‡  d  d l  m  Z  m Z m Z d  d l Z d  d l Z d  d l m Z d  d l m	 Z	 d  d l
 m Z m Z m Z d  d l m Z d  d l j j 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 d  d l  m! Z! d  d	 l" m# Z# d  d
 l$ m% Z% d  d l& j j' Z( d  d l& m) Z) m* Z* m+ Z+ d  d l, m- Z- m. Z. d d „ Z/ d „  Z0 d e% f d „  ƒ  YZ1 d S(   iÿÿÿÿ(   t   datetimet   timet	   timedeltaN(   t   iNaT(   t   OutOfBoundsDatetime(   t   StringIOt   lranget   product(   t   NullFrequencyError(
   t	   DataFramet   Indext   NaTt   Seriest	   Timestampt   concatt
   date_ranget   offsetst   timedelta_ranget   to_datetime(   t   DatetimeIndex(   t   TimedeltaIndex(   t   TestData(   t   assert_almost_equalt   assert_frame_equalt   assert_series_equal(   t   BDayt	   BMonthEndt   Dc         C   s7   t  |  | d | ƒ} t t j j t | ƒ ƒ d | ƒS(   Nt   freqt   index(   R   R   t   npt   randomt   randnt   len(   t   startt   endR   t   rng(    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt
   _simple_ts   s    c         C   sI   |  j  | ƒ s t ‚ |  j | j k s- t ‚ |  j | j k sE t ‚ d  S(   N(   t   equalst   AssertionErrorR   t   tz(   t   leftt   right(    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   assert_range_equal"   s    t   TestTimeSeriesc           B   s  e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z e j j d dB dC dD dE dF dG g ƒ d „  ƒ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d  „  Z d! „  Z d" „  Z d# „  Z d$ „  Z d% „  Z d& „  Z  d' „  Z! d( „  Z" d) „  Z# d* „  Z$ d+ „  Z% d, „  Z& d- „  Z' d. „  Z( d/ „  Z) e* j+ d0 „  ƒ Z, d1 „  Z- d2 „  Z. d3 „  Z/ d4 „  Z0 d5 „  Z1 d6 „  Z2 d7 „  Z3 e j j d8 dA d9 d: g ƒ d; „  ƒ Z4 d< „  Z5 d= „  Z6 d> „  Z7 d? „  Z8 d@ „  Z9 RS(H   c         C   sÒ  |  j  j d ƒ } | j d ƒ } t j | j |  j  j ƒ t j | j |  j  j ƒ t j | j ƒ  j |  j  j d  ƒ t ƒ  } |  j  j d d | ƒ} | j d d | ƒ} t	 | |  j  ƒ |  j  j d d | ƒ} t	 | |  j  ƒ |  j  j d d d ƒ} | j d d d ƒ} t	 | |  j  ƒ |  j  j d ƒ } t	 | |  j  ƒ t j
 ƒ  } | j d ƒ } | j d ƒ } t j | j | j ƒ t j | j | j ƒ t j | j ƒ  j | j d  ƒ | j d d ƒ } | j d t ƒ  ƒ } t	 | | ƒ t	 | | j d d ƒ ƒ d } t j t d | ƒ | j d d ƒ Wd  QX| j d d d ƒ} t	 | | ƒ | j d d t ƒ  ƒ}	 t	 |	 | ƒ t d	 d
 d ƒ}
 x… d d g D]w } t t j d d | ƒd |
 ƒ} | j d } | j d
 | ƒ } t t j d d d d g d |
 ƒ} t	 | | ƒ qžWt t d d
 d d d ƒd d ƒ} | | j ƒ  } t t d g d g d ƒ d d ƒ} t	 | | ƒ t t d d
 d d d ƒd d ƒ} d } t j t d | ƒ | | Wd  QXd  S(   Ni   iÿÿÿÿR   i    t   Bs.   Given freq D does not match PeriodIndex freq Bt   matchR   s
   2000-01-01t   periodsi   t   int32t   int64t   dtypeR   i   i   s   2000-01-01 09:00:00R(   s
   US/Easternt   namet   fooR   s   1 daysi   t   CETsF   DatetimeArray subtraction must have the same timezones or no timezones(   t   tst   shiftt   tmt   assert_index_equalR   t   assert_numpy_array_equalt   dropnat   valuesR   R   t   makePeriodSeriest   pytestt   raisest
   ValueErrorR   R   R   t   aranget   iloct   nanR   t	   TypeError(   t   selft   shiftedt	   unshiftedt   offsett   pst   shifted2t   shifted3t   msgt   shifted4t   shifted5R   R2   t   s1t   pt   resultt   expectedt   st   expt   s2(    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt
   test_shift*   sf    	 !$&c      	   C   sö   t  t j j d ƒ d t d d d d d ƒƒ} | j d d d ƒ} | j j d d d ƒ} t j | j | ƒ | j d d d	 ƒ} | j t	 j
 d
 ƒ } t j | j | ƒ t d d d g ƒ } d } t j t d | ƒ | j d ƒ Wd  QXd  S(   Ni   R   s   1/1/2000R/   R   t   Hi   t   5Tt   4Hi   s
   2000-01-01s
   2000-01-02s
   2000-01-04s   Cannot shift with no freqR.   (   R   R   R   R    R   R7   R   R8   R9   R   t   HourR   R>   R?   R   (   RE   R6   RQ   t	   exp_indext   idxRL   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_shift2x   s    c      	   C   s,  t  d d d d d g d t d d d	 d
 d ƒƒ} t  d d d d d g d t d d d	 d
 d ƒƒ} | j d d d ƒ} t j | | ƒ t  d d d d d g d t d d d	 d
 d ƒƒ} | j d d d ƒ} t j | | ƒ t j  d d d g ƒ } | j d d d ƒ} | j | j k s(t ‚ d  S(   Ng      ð?g       @g      @g      @g      @R   s   1/1/2000R/   i   R   RW   g        i   t
   fill_valuei   i   i    (   R   R   R7   R8   R   t   pdR2   R'   (   RE   R6   RT   RQ   t   res(    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_shift_fill_valueŠ   s    c         C   s»   t  j d d d d g d d ƒ} | j d d d ƒ} t  j t  j d d d d g d	 d d d d g d
 t ƒƒ } t j | | ƒ d } t j t	 d | ƒ | j d d d ƒWd  QXd  S(   Nt   at   bt   ct   dR2   t   categoryi   R^   t
   categoriest   ordereds>   'fill_value=f' is not present in this Categorical's categoriesR.   t   f(
   R_   R   R7   t   Categoricalt   FalseR8   t   assert_equalR>   R?   R@   (   RE   R6   R`   RR   RL   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt!   test_categorical_shift_fill_valuež   s    !c         C   s•  t  d d d d d d d ƒ} t | ƒ } | j d ƒ } t j | | ƒ | j d	 k s^ t ‚ | j d
 ƒ } t g | j t	 ƒ j
 j ƒ  d  } t | ƒ } t j | | ƒ | j d	 k sÁ t ‚ | j d ƒ } | j t	 ƒ j
 j ƒ  d t t g } t | ƒ } t j | | ƒ | j d	 k s't ‚ xg d d d d g D]S } | j | ƒ } t t g d d d	 ƒ} t j | | ƒ | j d	 k s:t ‚ q:Wd  S(   Ns
   2016-11-06R   RW   R/   i
   R(   s
   US/Easterni    s   datetime64[ns, US/Eastern]i   i	   iþÿÿÿi   iöÿÿÿi   iìÿÿÿR2   (   R   R   R7   R8   R   R2   R'   R   t   astypet   objectR<   t   tolist(   RE   t   datesRS   R`   t   exp_valsRT   t   ex(    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_shift_dst«   s(    #&c   	      C   sÀ  t  j ƒ  } | j d ƒ } | j d ƒ } t | | ƒ | j d d ƒ } t | | ƒ | j d t ƒ  ƒ } t | | ƒ d } t j t d | ƒ | j d d ƒ Wd  QX|  j j d ƒ } | j d ƒ } t |  j | ƒ |  j j d |  j j	 j
 ƒ } t | | ƒ t |  j j t t j |  j j	 ƒ ƒ d d	 ƒ} | j d ƒ } | j d ƒ } t | |  j j d ƒ ƒ t | | ƒ |  j d
 d d g } d } t j t d | ƒ | j ƒ  Wd  QXd  S(   Ni   iÿÿÿÿR   R-   s.   Given freq M does not match PeriodIndex freq BR.   t   MR3   R6   i    i   i   s/   Freq was not given and was not set in the index(   R8   R=   t   tshiftR   R   R>   R?   R@   R6   R   R   R   R<   R
   R   t   asarray(	   RE   RI   RF   RG   RJ   RK   RL   t   inferred_tst   no_freq(    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_tshiftÆ   s4    '	c   
   
   C   s  t  ƒ  } |  j d  d  d … } |  j j d |  j j d } } |  j j d |  j j d } } | j ƒ  } t | | ƒ | d d !} | j | | ƒ } t | | ƒ | j | | ƒ } t | | ƒ | d } | j d | ƒ } t | | ƒ | j d | ƒ } t | | ƒ | d  } | j d | ƒ } t | | ƒ | j d | ƒ } t | | ƒ | j d |  j j d | ƒ } t | ƒ d k st ‚ | j d |  j j d	 | ƒ } t | ƒ d k sÅt ‚ d
 }	 t j t	 d |	 ƒ7 | j d |  j j d	 | d |  j j d | ƒ Wd  QXd  S(   Ni   i   i   i   i   t   beforet   afteri    iÿÿÿÿs?   Truncate: 1999-12-31 00:00:00 must be after 2000-02-14 00:00:00R.   (
   R   R6   R   t   truncateR   R!   R'   R>   R?   R@   (
   RE   RH   R6   R"   R#   t   start_missingt   end_missingt	   truncatedRR   RL   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_truncateí   s:    	!!

  c      
   C   sò   t  j d d d d d g d d d d	 d
 d g ƒ} d } t j t d | ƒ | j d d d d
 ƒ Wd  QXt  j d d d d ƒ} t  j t j j	 t
 | ƒ ƒ d | ƒ} d } t j t d | ƒ' | j d t ƒ j d d d d ƒ Wd  QXd  S(   NRb   Rc   Rd   Re   t   eR   i   i   i   i	   i    s    truncate requires a sorted indexR.   R{   R|   s
   2011-01-01s
   2012-01-01R   t   Wt	   ascendings   2011-11s   2011-12(   R_   R   R>   R?   R@   R}   R   R   R   R    R!   t   sort_valuesRk   (   RE   RS   RL   R$   R6   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_truncate_nonsortedindex   s    'c      	   C   s†  t  d d d g d t d d d ƒ t d d d ƒ t d d	 d
 ƒ g ƒ} | j d ƒ } | j d ƒ } t j | | ƒ | j d d d ƒ} | j d ƒ } t j | | ƒ | j t ƒ  ƒ } | j t ƒ  ƒ } t j | | ƒ | d  j d ƒ } t | ƒ d k s	t ‚ | | k	 st ‚ | j d d d ƒ} | j	 ƒ  j
 ƒ  } t  d d d d g d d d d d g ƒj
 ƒ  } t j | | ƒ d  S(   Ng        g      ð?g       @R   iÙ  i
   i   i   i   i   R-   t   BMt   methodt   padi    Ru   R   R^   iÿÿÿÿi<   i   g      ð¿(   R   R    t   asfreqR8   R   R   R   R!   R'   t   value_countst
   sort_index(   RE   R6   t   daily_tst
   monthly_tsRQ   RR   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_asfreq2  s&    $$c         C   sk   t  d t j d g ƒ ƒ j d ƒ } t  d t j d g ƒ d d g ƒ j d ƒ } t j | j | j ƒ d  S(   NR   s   2016-09-29 11:00RW   t   datai   (   R   R_   R   RŠ   R8   R9   R   (   RE   RR   RQ   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt&   test_asfreq_datetimeindex_empty_seriesL  s
    c   	      C   s‰  |  j  j ƒ  d } | d } t | | g ƒ } | j ƒ  } | d d k sQ t ‚ |  j  j d ƒ } |  j  |  j  j d ƒ } t | | ƒ |  j  j d ƒ } |  j  |  j  } t | | ƒ t t d d d ƒƒ } | | j d ƒ } | j ƒ  } t | | ƒ | | j d ƒ } | j ƒ  } t | | ƒ t t d d d d	 d
 ƒd d ƒ} | j ƒ  } t | t t d g d g d ƒ d d ƒƒ d  S(   NI  Áoò†# i   iÿÿÿÿi    t   20130102R/   i   s   2000-01-01 09:00:00R(   s
   US/EasternR3   R4   R   s   1 daysi   (   R6   t   diffR   R'   R7   R   R   R   (	   RE   Rb   Rc   RS   t   rst   xpt   nrst   nxpRQ   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt	   test_diffT  s2    
	c         C   s*  |  j  j d d  ƒ } t | |  j  |  j  j d ƒ d ƒ |  j  j d ƒ } |  j  j d d ƒ } t | | | j d ƒ d ƒ |  j  j d d d d ƒ } |  j  j d d d d ƒ } t | | | j d ƒ d ƒ |  j  j d d	 ƒ } |  j  j d d ƒ } t | | | j d d	 ƒ d j | ƒ ƒ d  S(
   Nt   fill_methodi   i   Rˆ   R‰   t   bfillt   limitR   t   5D(   R6   t
   pct_changet   NoneR   R7   t   fillnat   reindex_like(   RE   R”   t   filled(    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_pct_change}  s    $c         C   sa   t  d d t j d d g ƒ } | j ƒ  } t  t j d d d d d d g ƒ } t | | ƒ d  S(	   Ng      ð?g      ø?g      @g      @g      à?g        i   gš™™™™™É?(   R   R   RC   R   R   (   RE   RS   t   chgRR   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_pct_change_shift_over_nas  s    &s!   freq, periods, fill_method, limitt   5Bi   t   3Bi   Rš   t   7Bi   R‰   i   t   14Bi   c         C   s«   |  j  j d | d | d | ƒ } |  j  j | d | d | ƒ} t | | ƒ t d |  j  j ƒ } | j d | d | d | ƒ } | j | d | d | ƒ} t | | ƒ d  S(   NR   R™   R›   R   (   R6   R   R   R   R   (   RE   R   R/   R™   R›   t   rs_freqt
   rs_periodst   empty_ts(    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_pct_change_periods_freq–  s    					c         C   s/  |  j  j ƒ  } |  j  j d d ƒ } t |  j  ƒ d k rf t j | ƒ sN t ‚ t j | ƒ sx t ‚ n | | k sx t ‚ d t j j t d t |  j  ƒ d ƒ ƒ } |  j  j	 |  j  j
 | ƒ ƒ } |  j  j d | ƒ } t |  j  ƒ d k rt j | ƒ st ‚ t j | ƒ s+t ‚ n | | k s+t ‚ d  S(   Nt   lagi   i   (   R6   t   autocorrR!   R   t   isnanR'   R   t   randintt   maxt   corrR7   (   RE   t   corr1t   corr2t   n(    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_autocorr°  s    ,c         C   sç  |  j  j ƒ  } t j | d *| j ƒ  } | | j d k sA t ‚ t j | d )| j ƒ  } | | j d k ss t ‚ t j | (| j ƒ  d  k s• t ‚ | j ƒ  d  k s­ t ‚ t
 g  d g  ƒ} | j ƒ  d  k s× t ‚ | j ƒ  d  k sï t ‚ t
 ƒ  } | j ƒ  d  k st ‚ | j ƒ  d  k s(t ‚ t d d t | ƒ d d ƒ| _ d	 | j d	 <d	 | j d
 <| j ƒ  | j d	 k s‚t ‚ | j ƒ  | j d
 k s¡t ‚ | j ƒ  j | j j k sÂt ‚ | j ƒ  j | j j k sãt ‚ d  S(   Ni   iûÿÿÿiúÿÿÿR   t   20110101R/   R   R-   i   iþÿÿÿ(   R6   t   copyR   t   NaNt   first_valid_indexR   R'   t   last_valid_indexRC   Rž   R   R   R!   RB   R   (   RE   R6   R   t   sert   empty(    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_first_last_validË  s.    
	!!c         C   sL   |  j  d  d  … t j f } |  j  j d  d  … t j f } t | | ƒ d  S(   N(   R6   R   t   newaxisR<   R   (   RE   RQ   RR   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_mpl_compat_hackì  s    c         C   sg   t  j d ƒ } t t j j t | ƒ ƒ | j t ƒ ƒ } | j	 j
 sK t ‚ t | j	 t ƒ sc t ‚ d  S(   Ni'  (   R8   t   makeDateIndexR   R   R   R    R!   Rn   Ro   R   t   is_all_datesR'   t
   isinstanceR   (   RE   R\   R¼   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_timeseries_coercionñ  s    *c         C   s£   t  d d d d ƒ} t j t | ƒ d t ƒ} t | d d +| | } | d d !} | j d  k	 si t ‚ t	 | | ƒ t | d <| | } | j d  k sŸ t ‚ d  S(	   Ns   1/1/2000s   3/1/2000R   R-   R2   i
   i   i   (
   R   R   t   zerosR!   t   boolt   TrueR   Rž   R'   R+   (   RE   R$   t   maskt   maskedRR   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt%   test_contiguous_boolean_preserve_freq÷  s    


c      	   C   sð  d } t  g  t d ƒ D] } | | ^ q ƒ } t | d d ƒ} t  g  t d ƒ D] } t d ƒ t d | ƒ ^ qQ ƒ } t | | ƒ t  g  t d ƒ D] } | | ^ q– ƒ j t ƒ } t | d d ƒ} t  g  t d ƒ D] } t d ƒ t d | ƒ ^ qÚ ƒ } t | | ƒ t  g  t d ƒ D] } | | ^ qt g ƒ } t | d d ƒ} t  g  t d ƒ D] } t d ƒ t d | ƒ ^ qat	 g ƒ } t | | ƒ t  g  t d ƒ D] } | | ^ q­t g ƒ j t ƒ } t | d d ƒ} t  g  t d ƒ D] } t d ƒ t d | ƒ ^ qøt	 g ƒ } t | | ƒ t  g  t
 j d d d	 ƒ D] } | | ^ qMt g ƒ j t ƒ } t | d d ƒ} t  g  t
 j d d d	 ƒ D] } t d ƒ t d | ƒ ^ q¡t	 g ƒ } t | | ƒ t t  g  t d ƒ D] } | | ^ qðƒ j t ƒ t  t
 j g ƒ g d
 t ƒ} t | d d ƒ} t  g  t d ƒ D] } t d ƒ t d | ƒ ^ qOt	 g ƒ } t | | ƒ t d d d t j	 t
 j g d d ƒ} t t d ƒ t d ƒ g d g d ƒ } t j | | ƒ d } t j t d | ƒ t d d d g d d ƒWd  QXd } t j t d | ƒ t d d d g d d ƒWd  QXt t d ƒ t d ƒ g d g d ƒ } t d d d g d d d d ƒ} t j | | ƒ t d d d g d d d d ƒ} t j | | ƒ d  S(   Ni”ë³Qi   t   unitRS   s   2013-06-09 02:42:28t   secondsi    i   g      Ð?t   ignore_indexi   R   R   s
   1970-01-02s
   1970-01-03i   s+   non convertible value foo with the unit 'D'R.   R4   s0   cannot convert input 111111111 with the unit 'D'iÇkŸt   errorst   coerce(   R   t   rangeR   R   R   R   Rn   t   floatR   R   R   RA   R   RC   RÇ   R_   R   R8   R9   R>   R?   R@   R   (   RE   t   epocht   tRS   RQ   RR   RL   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_to_datetime_unit  sd    )2220999,B,	9'!!c         C   sX   t  d d d d ƒ} t j | ƒ } t | ƒ } t j | j t j d ƒ ƒ sT t ‚ d  S(   Ns   1/1/2000 00:00:00s   1/1/2000 1:59:50R   t   10ss   M8[ns](   R   R   Rw   R   t
   issubdtypeR2   R'   (   RE   R$   Rq   t   series(    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_series_ctor_datetime64F  s    c         C   sF   t  d d d t g d d ƒ} t | ƒ } d } | | k sB t ‚ d  S(   Ni    iè  iÐ  R2   s   M8[ns]s‘   0   1970-01-01 00:00:00.000000
1   1970-01-01 00:00:00.000001
2   1970-01-01 00:00:00.000002
3                          NaT
dtype: datetime64[ns](   R   R   t   reprR'   (   RE   R×   RQ   RR   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_series_repr_natM  s    c         C   s•   d } t  j d d d d | ƒ} t  j g  t d ƒ D] } | ^ q4 d d g d | ƒ} | | j j k sp t ‚ | | j d	 ƒ j j k s‘ t ‚ d  S(
   Nt   bart   20130101R/   i   R3   t   columnsR4   R   t   10D(   R_   R   R	   RÐ   R   R3   R'   RŠ   (   RE   t
   index_nameR   t   xt   df(    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_asfreq_keep_index_nameX  s
    7c   	      C   s  t  d d d ƒ} t t j j d ƒ d | ƒ} | d } | j ƒ  } g  | j D] } | j ƒ  ^ qP | _ | | } | | } | | d } t | | ƒ t | | ƒ | j	 d d d ƒ} | d j	 d d d ƒ} t | | ƒ | j
 | j ƒ } | j
 | j ƒ } t j | | ƒ d  S(	   Ns   1/1/2000R/   i   R   i   RY   Rˆ   t   ffill(   R   R   R   R   R    R¸   R   t   dateR   RŠ   t   get_indexerR8   R:   (	   RE   R$   R6   t   ts_slicet   ts2Rà   RQ   t   result2RR   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_promote_datetime_datea  s     
%

c         C   sí   t  d d d ƒ} t  d d d ƒ} t j j d ƒ } t | d | ƒ} | j d d t ƒ} t  d d d ƒ} t | d | ƒ} t | | ƒ t j j d d ƒ } t | d | ƒ} | j d d t ƒ} t | d | ƒ} t	 | | ƒ d  S(	   Ns   1/1/2000 09:30R/   i   s   1/1/2000R   R   t	   normalizei   (
   R   R   R   R    R   RŠ   RÇ   R   R	   R   (   RE   R$   t   normt   valsR6   RQ   RR   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_asfreq_normalizex  s    c         C   sæ   t  d d d d ƒ} | j d ƒ } t | ƒ d k s< t ‚ t  d d ƒ } | j d ƒ } t | ƒ d k sr t ‚ | j d ƒ } | d	  } t | | ƒ | j d
 ƒ } | d  } t | | ƒ | d  j d ƒ } t | | d  ƒ d  S(   Ns   1/1/2000s   1/1/2010R   t   12ht   10di   i
   t   3Ms	   3/31/2000t   21Di   i    (   R%   t   firstR!   R'   R   (   RE   R6   RQ   RR   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_first_subsetŒ  s    

c         C   sH   t  j d j ƒ  ƒ } d } t j t d | ƒ | j d ƒ Wd  QXd  S(   Ns   a b cs+   'first' only supports a DatetimeIndex indexR.   t   1D(   R_   R   t   splitR>   R?   RD   Rò   (   RE   R¼   RL   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_first_raises   s    c         C   sæ   t  d d d d ƒ} | j d ƒ } t | ƒ d k s< t ‚ t  d d ƒ } | j d ƒ } t | ƒ d k sr t ‚ | j d ƒ } | d	 } t | | ƒ | j d ƒ } | d
 } t | | ƒ | d  j d ƒ } t | | d  ƒ d  S(   Ns   1/1/2000s   1/1/2010R   Rî   Rï   i   i
   Rñ   s
   12/12/2009iëÿÿÿi    Rð   (   R%   t   lastR!   R'   R   (   RE   R6   RQ   RR   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_last_subset§  s    

c         C   sH   t  j d j ƒ  ƒ } d } t j t d | ƒ | j d ƒ Wd  QXd  S(   Ns   a b cs*   'last' only supports a DatetimeIndex indexR.   Rô   (   R_   R   Rõ   R>   R?   RD   R÷   (   RE   R¼   RL   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_last_raises»  s    c         C   s?   t  d d d d ƒ} | j ƒ  t d d | ƒ} t | ƒ d  S(   Ns   1/1/1850s   1/1/1950R   s   A-DECi   R   (   R   t   formatR   RÙ   (   RE   R$   R6   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_format_pre_1900_datesÂ  s    
c   
      C   s•  t  d d d d ƒ} t t j j t | ƒ ƒ d | ƒ} | j | d ƒ } | j j | d j k j	 ƒ  sq t
 ‚ | j j | d j k j	 ƒ  s– t
 ‚ | j j | d j k j	 ƒ  s» t
 ‚ | j d ƒ } | j t d d	 ƒ ƒ } t | | ƒ t t j j t | ƒ d
 ƒ d | ƒ} | t d d	 ƒ } | j t d d	 ƒ } | | j d k | j d	 k @} | | j d k | j d	 k @} t | | ƒ t j | | ƒ | j d }	 |	 j t d d	 ƒ } | d } t j | | ƒ t  d d ƒ } t t j j t | ƒ ƒ d | ƒ} | j t d d ƒ ƒ } t | | ƒ t  d d d d d ƒ} t t j j t | ƒ ƒ | ƒ } | j d ƒ } t | ƒ d k s‘t
 ‚ d  S(   Ns   1/1/2000s   1/5/2000R   t   5minR   i   s   9:30i	   i   i   s   1/4/2000iÿÿÿÿs	   1/31/2000i    s   1/1/2012t   23MinR/   i€  s   16:00(   R   R   R   R   R    R!   t   at_timeR   t   hourt   allR'   t   minutet   secondR   R   R	   t   locR8   R   (
   RE   R$   R6   R”   RQ   RR   Rá   t	   result_dft   exp_dft   chunk(    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_at_timeÈ  s8    $%%%'  
$!c         C   sH   t  j d j ƒ  ƒ } d } t j t d | ƒ | j d ƒ Wd  QXd  S(   Ns   a b cs   Index must be DatetimeIndexR.   s   00:00(   R_   R   Rõ   R>   R?   RD   Rþ   (   RE   R¼   RL   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_at_time_raisesò  s    c         C   sg   t  t d d d ƒƒ } | d d g \ } } | j | | ƒ } | | k | | k @} t | | ƒ d  S(   Ns   1/1/2000R/   i
   i   i   (   R   R   t   betweenR   (   RE   R×   R)   R*   RQ   RR   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_betweenù  s
    c         C   s#  t  d d d d ƒ} t t j j t | ƒ ƒ d | ƒ} t d d ƒ } t d d ƒ } t t t	 g t t	 g ƒ } xê | D]â \ } } | j
 | | | | ƒ } d }	 | s¶ |	 d
 8}	 n  | sÉ |	 d	 8}	 n  t | ƒ |	 k sá t ‚ xw | j D]l }
 |
 j ƒ  } | r| | k s*t ‚ n | | k s*t ‚ | rE| | k sWt ‚ që | | k  së t ‚ që Wqy W| j
 d d ƒ } | j
 | | ƒ } t | | ƒ t  d d d d ƒ} t t j j t | ƒ ƒ d | ƒ} t d d ƒ } t d d ƒ } t t t	 g t t	 g ƒ } x| D]\ } } | j
 | | | | ƒ } d }	 | sF|	 d	 8}	 n  | sY|	 d	 8}	 n  t | ƒ |	 k sqt ‚ x§ | j D]œ }
 |
 j ƒ  } | r´| | k sÒ| | k sÒt ‚ n | | k sÒ| | k sÒt ‚ | rù| | k s| | k st ‚ q{| | k  s{| | k s{t ‚ q{Wq	Wd  S(   Ns   1/1/2000s   1/5/2000R   Rü   R   i    i   i   i   i   s   00:00s   01:00i   i	   i   i   i4   i5   i„   i…   i  i  (   R   R   R   R   R    R!   R   R   RÇ   Rk   t   between_timeR'   R   R   (   RE   R$   R6   t   stimet   etimet
   close_opent	   inc_startt   inc_endt   filteredt   exp_lenR”   RÓ   RQ   RR   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_between_time  sZ    $$!!c      	   C   sQ   t  j d j ƒ  ƒ } d } t j t d | ƒ | j d d d d ƒ Wd  QXd  S(   Ns   a b cs   Index must be DatetimeIndexR.   t
   start_times   00:00t   end_times   12:00(   R_   R   Rõ   R>   R?   RD   R  (   RE   R¼   RL   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_between_time_raises=  s    c         C   s(  t  d d d d ƒ} d } t j t d | ƒ3 | j t d d d	 d ƒ t d d d	 d
 ƒ ƒ Wd  QXt i d d 6d | ƒ} t j t d | ƒ3 | j t d d d	 d ƒ t d d d	 d
 ƒ ƒ Wd  QXt d d | ƒ} t j t d | ƒ3 | j t d d d	 d ƒ t d d d	 d
 ƒ ƒ Wd  QXd  S(   Ns   1/1/2000s   1/5/2000R   Rü   sG   Cannot convert arg \[datetime\.datetime\(2010, 1, 2, 1, 0\)\] to a timeR.   iÚ  i   i   i   i    t   AR   (	   R   R>   R?   R@   t   indexer_between_timeR    R	   R  R   (   RE   R$   RL   t   frameR×   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_between_time_typesD  s    c      	   C   s–   t  d d d d ƒ} t t j j t | ƒ d ƒ d | ƒ} d d d d d d d d g } d } x/ | D]' } t | j | Œ  ƒ | k sg t ‚ qg Wd  S(    Ns   1/1/2000s   1/5/2000R   Rü   i   R   s   2:00s   2:30t   0200t   0230s   2:00ams   2:30amt   0200amt   0230ams   2:00:00s   2:30:00t   020000t   023000s	   2:00:00ams	   2:30:00amt   020000amt   023000ami   (   s   2:00s   2:30(   R  R  (   s   2:00ams   2:30am(   R  R  (   s   2:00:00s   2:30:00(   R  R   (   s	   2:00:00ams	   2:30:00am(   R!  R"  (   R   R	   R   R   R    R!   R  R'   (   RE   R$   R6   t   stringst   expected_lengtht   time_string(    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_between_time_formatsW  s    '		c      	   C   sØ   t  d d d d d ƒ} t t j j t | ƒ ƒ d | ƒ} d \ } } d	 } t | j | | ƒ ƒ | k sr t ‚ t | j | | d
 d ƒƒ | k sœ t ‚ d } t j	 t
 d | ƒ | j | | d
 d ƒWd  QXd  S(   Ns   1/1/2000R/   id   R   t   10minR   s   08:00:00s   09:00:00i   t   axisi    s5   No axis named 1 for object type <(class|type) 'type'>R.   i   (   s   08:00:00s   09:00:00(   R   R   R   R   R    R!   R  R'   R>   R?   R@   (   RE   R$   R6   R  R  R$  RL   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_between_time_axisf  s    $$*c   
      C   s¦  d d l  m } t d d ƒ } | j ƒ  } | j ƒ  } | d d ƒ | _ t | | ƒ | j d ƒ } | j j d ƒ | _ t j	 | j | j j d ƒ ƒ t | | ƒ t
 d d d d	 g ƒ } t j d d d d	 g d
 d ƒ} t t j j d ƒ d | ƒ} | j ƒ  } | | _ t | j ƒ  | ƒ t t j j d d ƒ d | d | ƒ}	 |	 j ƒ  } | | _ t |	 j ƒ  | ƒ |	 j ƒ  } | | _ t |	 j d d ƒ | ƒ d  S(   Niÿÿÿÿ(   t   period_ranges   1/1/2000s   1/1/2001Ru   s
   2011-01-01s
   2011-01-02s
   2011-01-03s
   2011-01-04R   R   i   R   RÝ   R(  i   (   t   pandas.core.indexes.periodR*  R%   t	   to_periodR¸   R   R   RŠ   R8   R9   R   R_   t   PeriodIndexR   R   R   R    R	   R   RÝ   (
   RE   R*  R6   t   ptsRT   R\   t   exp_idxRS   RR   Rá   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_to_periods  s2    	'		c         C   s¶   t  d d d d d d ƒ } t t j d ƒ d | t d ƒ g ƒ} | j d „  ƒ } | j ƒ  } t t j d ƒ d t d ƒ | g ƒ} | j d	 „  ƒ } | j ƒ  } t | | ƒ d  S(
   NR"   s   1/1/2012R   Rü   R/   i
   R   c         S   s   |  d d d k S(   Ni   i   i    (    (   Rà   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   <lambda>›  s    c         S   s   |  d d d k S(   Ni    i   (    (   Rà   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyR1  Ÿ  s    (   R   R   R   RA   R   t   groupbyt   countR   (   RE   t   drRS   t   groupedRQ   RR   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt!   test_groupby_count_dateparseerror–  s    ''c         C   sW   t  i t d d d ƒd 6ƒ } t ƒ  } | j | ƒ | j ƒ  } d | k sS t ‚ d  S(   Ns   1/1/2000R/   i
   Rb   s
   2000-01-01(   R	   R   R   t   to_csvt   getvalueR'   (   RE   R  t   bufRQ   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_to_csv_numpy_16_bug¤  s
    	c         C   sX   t  t d d d d d ƒƒ } d „  } | j | ƒ | j | ƒ t | ƒ j | ƒ d  S(   Ns	   1 day 1 sR/   i   R   t   hc         S   s
   |  j  ƒ  S(   N(   t   total_seconds(   Rà   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyRi   ±  s    (   R   R   t   mapt   applyR	   t   applymap(   RE   RS   Ri   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_series_map_box_timedelta­  s
    	c         C   sÆ   t  j i d d d g d 6d d d g d 6ƒ } | j t  j | j ƒ ƒ } | j j d  k sb t ‚ | j j	 d	 k sz t ‚ | j
 d	 ƒ j j d	 k s› t ‚ | j d	 ƒ j
 ƒ  j j d	 k sÂ t ‚ d  S(
   Ns
   2012-01-01s
   2012-01-02s
   2012-01-03Rä   i   i   i   t   colR   (   R_   R	   t	   set_indexR   Rä   R   R   Rž   R'   t   inferred_freqRŠ   t   resample(   RE   Rá   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt%   test_asfreq_resample_set_correct_freq¸  s    !c         C   sÊ   t  j t ƒ } | t k s! t ‚ t j d t d g ƒ } t  j | ƒ } | d | d k sb t ‚ | d t k sx t ‚ | d | d k s’ t ‚ t d d d d	 ƒ} t  j | ƒ } t  j | | ƒ d  S(
   Ns
   2013-01-01s
   2014-01-06i    i   i   s   1750-1-1s   2050-1-1R   t   7D(   R8   t   round_trip_pickleR   R'   R_   R   R   R9   (   RE   RP   R\   t   idx_p(    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_pickleÉ  s    R(   s
   Asia/Tokyos
   US/Easternc         C   sp  t  d d d d d | ƒ} | d  j | d d !ƒ } | j | j k sM t ‚ | j | j k se t ‚ | j | j k s} t ‚ | d  j | d d !ƒ } | j | j k s¯ t ‚ | j | j k sÇ t ‚ | j | j k sß t ‚ | d  j | d	 d !ƒ } | j | j k st ‚ | j d  k s&t ‚ | j | j k s>t ‚ | d  j | d
 d !ƒ } | j | j k spt ‚ | j d k s…t ‚ | j | j k st ‚ t	 t
 | d
 d !ƒ d d ƒ} | d  j | ƒ } | j d  k sät ‚ | j | j k süt ‚ | j | j k st ‚ | d  j | ƒ } | j d  k s<t ‚ | j | j k sTt ‚ | j | j k slt ‚ d  S(   Ns   1/1/2000s   1/1/2002R3   R\   R(   i2   id   i   i<   i   iK   R   t   other(   R   t   unionR3   R'   R   R(   Rž   t   intersectiont   freqstrR   t   list(   RE   R(   R$   RQ   t   nofreq(    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_setops_preserve_freqÛ  s4    c         C   sB  t  d d d d d ƒ t  d d d d d ƒ f g } t j | d d d g ƒ} t | ƒ } | d d | d d k s| t ‚ | d
 d | d d k sž t ‚ t | d ƒ } t | d t ƒ sÇ t ‚ | d | d d k så t ‚ t j	 t
 d t ƒB t j | d t d g ƒ ƒ } | d | d d k s8t ‚ Wd  QXd  S(   NiÜ  i	   i    i   i   i
   R2   t   Dates   M8[us]t   Forecastingi   t   check_stacklevel(   RQ  s   M8[us](   RR  s   M8[us](   R    R   t   arrayR	   R'   R   RÃ   R   R8   t   assert_produces_warningt   FutureWarningRk   t
   from_arrayR
   (   RE   Rq   t   arrRá   RS   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_from_M8_structuredþ  s    3""c      	   C   s«   d d l  m } t d d d ƒ} | d d g g } d d d d d d d	 d	 g d d d d d d d d g g } | d
 | d | ƒ } t | j d ƒ d t ƒ s§ t ‚ d  S(   Niÿÿÿÿ(   t
   MultiIndexs   1/1/2000R/   i   i    i   i   i   t   levelst   codes(   t   pandasRZ  R   RÃ   t   get_level_valuesR   R'   (   RE   RZ  Rq   R[  R\  R   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_get_level_values_box  s    <c         C   sb   t  j t  j d d d d d ƒƒ } | j d ƒ } t  j d d d	 d
 g ƒ } t j | | ƒ d  S(   Nt   2000R/   i   R(   s
   US/Centralt   i8I À–vt`#I Àå	¯#I À4™ý#I Àƒ*2L$(   R_   R   R   t   viewR8   R   (   RE   R¼   RQ   RR   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_view_tz  s    $	c      	   C   sÔ   t  j t  j d d d ƒƒ } t j d d g d d ƒ} t j d  ƒ  t j | ƒ } Wd  QXt j	 | | ƒ t j d  ƒ  t j | d t
 ƒ} Wd  QXt j t  j d ƒ t  j d ƒ g ƒ } t j	 | | ƒ d  S(   NR`  R/   i   s
   2000-01-01s
   2000-01-02R2   s   M8[ns](   R_   R   R   R   RT  R8   RU  Rž   Rw   R:   Ro   R   (   RE   R¼   RR   RQ   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_asarray_tz_naive$  s    c      
   C   s'  d } t  j t  j d d d d | ƒƒ } t j d d g d d	 ƒ} t j t ƒ  t j | ƒ } Wd  QXt j	 | | ƒ t j d  ƒ  t j | d d	 ƒ} Wd  QXt j	 | | ƒ t j t  j d
 d | ƒt  j d d | ƒg ƒ } t j d  ƒ  t j | d t ƒ} Wd  QXt j	 | | ƒ d  S(   Ns
   US/CentralR`  R/   i   R(   s   2000-01-01T06s   2000-01-02T06R2   s   M8[ns]s
   2000-01-01s
   2000-01-02(   R_   R   R   R   RT  R8   RU  RV  Rw   R:   Rž   R   Ro   (   RE   R(   R¼   RR   RQ   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   test_asarray_tz_aware5  s    $N(   R¥   i   NN(   R¦   i   NN(   R¦   i   Rš   N(   R§   i   R‰   i   (   R§   i   Rš   i   (   R¨   i   NN(:   t   __name__t
   __module__RV   R]   Ra   Rm   Rt   Rz   R   R†   R   R‘   R˜   R¢   R¤   R>   t   markt   parametrizeRž   R¬   R¶   R¾   RÀ   RÄ   RÊ   RÔ   RØ   RÚ   Râ   Ré   Rí   Ró   Rö   Rø   Rù   Rû   R  R  R
  R  R  R  t   tdt   skip_if_has_localeR&  R)  R0  R6  R:  R@  RE  RI  RP  RY  R_  Rc  Rd  Re  (    (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyR,   (   sp   	N					'	3				)				!				@												*			<				#						'#			
	(2   R    R   R   t   numpyR   R>   t   pandas._libs.tslibR   t   pandas._libs.tslibs.np_datetimeR   t   pandas.compatR   R   R   t   pandas.errorsR   t   pandas.util._test_decoratorst   utilt   _test_decoratorsRj  R]  R_   R	   R
   R   R   R   R   R   R   R   R   t   pandas.core.indexes.datetimesR   t   pandas.core.indexes.timedeltasR   t   pandas.tests.series.commonR   t   pandas.util.testingt   testingR8   R   R   R   t   pandas.tseries.offsetsR   R   R%   R+   R,   (    (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_timeseries.pyt   <module>   s$   F	