ó
šxŠ\c           @   s³  d  d l  m  Z  m Z d  d l m Z d  d l Z d  d l 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 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! j j" Z# d  d
 l! m$ Z$ m% Z% y+ d  d l& Z& e e& j' ƒ e d ƒ k Z( Wn e) k
 rje* Z( n Xd „  Z+ d „  Z, d d „ Z- d f  d „  ƒ  YZ. d f  d „  ƒ  YZ/ d S(   iÿÿÿÿ(   t   datetimet	   timedelta(   t   LooseVersionN(   t   nan(   t   iNaT(   t   range(   t   PerformanceWarning(
   t   Categoricalt	   DataFramet   Indext   IntervalIndext
   MultiIndext   NaTt   Seriest	   Timestampt
   date_ranget   isna(   t	   remove_na(   t   assert_frame_equalt   assert_series_equals   0.19.0c          C   sE   y d d l  m }  Wn* t k
 r@ d d  l } | j d ƒ n Xd  S(   Niÿÿÿÿ(   t   pchip_interpolates   scipy.interpolate.pchip missing(   t   scipy.interpolateR   t   ImportErrort   pytestt   skip(   R   R   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   _skip_if_no_pchip!   s
    c          C   sE   y d d l  m }  Wn* t k
 r@ d d  l } | j d ƒ n Xd  S(   Niÿÿÿÿ(   t   Akima1DInterpolators-   scipy.interpolate.Akima1DInterpolator missing(   R   R   R   R   R   (   R   R   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   _skip_if_no_akima)   s
    t   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(    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt
   _simple_ts1   s    t   TestSeriesMissingDatac           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 e j j d d d d d d d g f i d d 6d d 6d d 6d d d d d g f i d d 6d d d e j e j g f i d d 6d d 6d d d d e j g f e d ƒ d e j d e j e j g f e d d d g ƒd d d e j e j g f e i d d 6d d 6ƒ d d d d e j g f e d d g d d d g ƒd e j d d d g f 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) d) „  Z* d* „  Z+ d+ „  Z, d, „  Z- d- „  Z. RS(.   c         C   s*   t  j t ƒ  t t g  ƒ ƒ Wd  QXd  S(   N(   t   tmt   assert_produces_warningt   FutureWarningR   R   (   t   self(    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_remove_na_deprecation8   s    c         C   sþ  t  t d ƒ t d ƒ t d ƒ t d ƒ g ƒ } | j ƒ  } t j t ƒ  | j d ƒ } Wd  QXt  t d ƒ t d ƒ t d ƒ t d d d d ƒ g ƒ } t | | ƒ t j t ƒ  | j d ƒ } Wd  QXt  t d d ƒ t d ƒ t d ƒ t d d d d ƒ g ƒ } t | | ƒ | j t d d d d ƒ ƒ } t  t d d d d ƒ t d ƒ t d ƒ t d d d d ƒ g ƒ } t | | ƒ | j t	 j
 t d ƒ ƒ ƒ } t  t d d ƒ t d ƒ t d ƒ t d d d d ƒ g ƒ } t | | ƒ | j t ƒ } t  t t d ƒ t d ƒ t d d d d ƒ g d d ƒ} t | | ƒ t	 j | d <| j ƒ  } t j t ƒ  | j d ƒ } Wd  QXt	 j | d <t | | ƒ t	 j | d <| j ƒ  } t j t ƒ  | j d ƒ } Wd  QXt d d d d  ƒ | d <t | | ƒ d  S(!   Nt   20130101t   20130102s   20130103 9:01:01i    i   t   dayst   secondsi	   i  i<   g    eÍÍAt   dtypes   m8[ns]i   i~  iÌ~  iÍ~  i~  iÌ~  iÍ~  i~  iÌ~  iÍ~  i~  iÌ~  iÍ~  i~  iÌ~  iÍ~  i~  iÌ~  iÍ~  (   R   R   t   diffR(   R)   R*   t   fillnaR   R   R   t   timedelta64t   intR   R   t   ffillt   bfill(   R+   t   st   tdt   resultt   expected(    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_timedelta_fillna=   sP    	!	c         C   sœ  t  t d ƒ t d ƒ t d ƒ t d ƒ g ƒ } t j | d <| j t d ƒ ƒ } t  t d ƒ t d ƒ t d ƒ t d ƒ g ƒ } t | | ƒ | j t ƒ } | } t | | ƒ | j ƒ  } t  t d ƒ t d ƒ t d ƒ t d ƒ g ƒ } t | | ƒ | j ƒ  } t  t d ƒ t d ƒ t d ƒ t d ƒ g ƒ } t | | ƒ t  t	 j t	 j d g ƒ } t  d d d g d d ƒ} | j d	 d
 ƒ } t | | ƒ d  S(   NR-   R.   s   20130103 9:01:01i   t   20130104s   2013-08-05 15:30:00.000001R1   s   M8[ns]t   methodt   backfill(
   R   R   R   R   R3   R   R   R6   R7   t   pd(   R+   R8   R:   R;   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_datetime64_fillnas   s2    !!c   	   	   C   s,  xcd d g D]U} t  t d ƒ t j t d ƒ t j g ƒ } t j  t t t t g ƒ } | j t j d ƒ ƒ } t  t d ƒ t d ƒ t d ƒ t d ƒ g ƒ } t j | | ƒ t j t j	 | ƒ | ƒ | j t j d d | ƒƒ } t  t d ƒ t d d | ƒt d ƒ t d d | ƒg ƒ } t j | | ƒ t j t j	 | ƒ | ƒ | j d ƒ } t  t d ƒ d t d ƒ d g d t
 ƒ} t j | | ƒ t j t j	 | ƒ | ƒ | j i t j d d | ƒd	 6t j d
 ƒ d 6ƒ } t  t d ƒ t d d | ƒt d ƒ t d
 ƒ g ƒ } t j | | ƒ t j t j	 | ƒ | ƒ | j i t j d ƒ d	 6t j d
 ƒ d 6ƒ } t  t d ƒ t d ƒ t d ƒ t d
 ƒ g ƒ } t j | | ƒ t j t j	 | ƒ | ƒ t j d t j d t j g d | ƒ} t j  | ƒ } | j d j | ƒ k st ‚ t j t j	 | ƒ | ƒ | j t j d ƒ ƒ } t  t d d | ƒt d ƒ t d d | ƒt d ƒ g ƒ } t j | | ƒ t j t j	 | ƒ | ƒ | j t j d d | ƒƒ } t j d d d d g d | ƒ} t  | ƒ } t j | | ƒ t j t j	 | ƒ | ƒ | j t j d d | ƒj ƒ  ƒ } t j d d d d g d | ƒ} t  | ƒ } t j | | ƒ t j t j	 | ƒ | ƒ | j d ƒ } t  t d d | ƒd t d d | ƒd g d t
 ƒ} t j | | ƒ t j t j	 | ƒ | ƒ | j i t j d d | ƒd	 6t j d
 ƒ d 6ƒ } t  t d d | ƒt d d | ƒt d d | ƒt d
 ƒ g ƒ } t j | | ƒ t j t j	 | ƒ | ƒ | j i t j d d | ƒd	 6t j d
 d | ƒd 6ƒ } t  t d d | ƒt d d | ƒt d d | ƒt d
 d | ƒg ƒ } t j | | ƒ t j t j	 | ƒ | ƒ | j t d ƒ ƒ } t  t d d | ƒt d ƒ t d d | ƒt d ƒ g ƒ } t j | | ƒ t j t j	 | ƒ | ƒ | j t d d d ƒƒ } t  t d d | ƒt d d d ƒt d d | ƒt d d d ƒg ƒ } t j | | ƒ t j t j	 | ƒ | ƒ q Wt j  t j d ƒ t j g ƒ } t j  t j d ƒ t j d ƒ g ƒ } t | j d d ƒ | ƒ t j  t j t j d ƒ g ƒ } t j  t j d ƒ t j d ƒ g ƒ } t | j d d ƒ | ƒ d  S(   Ns
   US/Easterns
   Asia/Tokyos   2011-01-01 10:00s   2011-01-03 10:00s   2011-01-02 10:00t   tzt   AAAR1   i   s   2011-01-04 10:00i   s   datetime64[ns, {0}]R-   s
   2013-01-01s
   US/Pacifics   2012-11-11 00:00:00+01:00R>   t   padR7   (   R   R   R@   R   t   Falset   TrueR3   R(   R   R   t   objectt   DatetimeIndexR1   t   formatt   AssertionErrort   to_pydatetime(	   R+   RB   R8   t   null_locR:   R;   t   idxt   dft   exp(    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_datetime64_tz_fillnaš   sÞ    												!!c         C   s6  t  t d ƒ t j g ƒ } | j t d d d ƒƒ } t  t d ƒ t d d d ƒg d d ƒ} t | | ƒ | j t t g t d d d ƒd d ƒ} t | | ƒ | j t t g t d d d ƒd d ƒ} t | | ƒ | j d	 ƒ } t  t d ƒ d	 g ƒ } t | | ƒ | j	 ƒ  } d	 | d
 <t | | ƒ d  S(   NR-   RB   s
   US/Easterns
   2013-01-01R1   RG   t   errorst   ignoret   fooi   (
   R   R   R@   R   R3   R   t   whereRF   RE   t   copy(   R+   R8   R:   R;   t   s2(    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_fillna_consistency"  s*    			
c         C   sÝ   t  j t  j t  j t d d d d d d d d t j ƒg ƒ } | j d d	 ƒ } t  j t d d d d d d d d t j ƒt d d d d d d d d t j ƒt d d d d d d d d t j ƒg ƒ } t | | ƒ d  S(
   Nià  i   i   i   i   i¡† t   tzinfoR>   R7   (   R@   R   R   R    t   pytzt   utcR3   R   (   R+   t   datat   filledR;   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt$   test_datetime64tz_fillna_round_issueD  s    c         C   s©   t  j d t j g ƒ } | j d d d ƒ} t  j d d g ƒ } t | | ƒ t  j d t j g ƒ } | j i d d 6d d ƒ} t  j d d g ƒ } t | | ƒ d  S(   Ng      ð?i    t   downcastt   inferi   (   R@   R   R   R   R3   R   (   R+   R8   R:   R;   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_fillna_downcastV  s    c         C   sW   t  t j j d d d ƒ ƒ } | j d d d t ƒ t | j d d d t ƒ | ƒ d  S(   Niœÿÿÿid   i2   R>   R6   t   inplace(   R   R   R    t   randintR3   RF   R   RE   (   R+   R8   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_fillna_intd  s    c         C   s  t  t j j d d d ƒ ƒ } d } t j t d | ƒ | j d d g ƒ Wd  QXd } t j t d | ƒ | j d ƒ Wd  QXt  d d d	 d  g ƒ } d
 } xo d d d d g D][ } xR d d d d d  g D]; } t j t	 d | ƒ | j d d | d | ƒWd  QXqÏ Wq³ Wd  S(   Niœÿÿÿid   i2   sC   "value" parameter must be a scalar or dict, but you passed a "list"t   matchi   i   sD   "value" parameter must be a scalar or dict, but you passed a "tuple"i   s`   Cannot specify both 'value' and 'method'\.|Limit must be greater than 0|Limit must be an integeriÿÿÿÿi    g      ð?g       @R?   R7   RD   R6   t   limitR>   (   i   i   (
   R   R   R    Rb   R   t   raisest	   TypeErrorR3   t   Nonet
   ValueError(   R+   R8   t   msgRe   R>   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_fillna_raisei  s    c         C   sY   t  t d d d t j g ƒ ƒ } t  t t t t g ƒ } | | k } t j | | ƒ d  S(   Nt   at   bt   c(   R   R   R   R   RF   RE   R(   R   (   R+   t   catRO   t   res(    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_categorical_nan_equality  s    !c         C   s{   t  t d d t j d g ƒ ƒ } t j | j j t d d g ƒ ƒ t j	 | j
 j t j d d d d g d t j ƒƒ d  S(   NRl   Rm   i    i   iÿÿÿÿR1   (   R   R   R   R   R(   t   assert_index_equalRo   t
   categoriesR	   t   assert_numpy_array_equalt   valuest   codest   arrayt   int8(   R+   R8   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_categorical_nan_handling…  s    !"s   fill_value, expected_outputRl   Rm   i   i   i   R   c         C   sw   d t  j d t  j t  j g } t t | d d d g ƒƒ } t t | d d d g ƒƒ } t j | j | ƒ | ƒ d  S(   NRl   Rm   Rs   (   R   R   R   R   R(   R   R3   (   R+   t
   fill_valuet   expected_outputR[   R8   RO   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_fillna_categorical  s    c         C   s|  d t  j d t  j t  j g } t t | d d d g ƒƒ } t j t d d ƒ | j d ƒ Wd  QXt j t d d ƒ | j t d ƒ ƒ Wd  QXt j t d d ƒ  | j i d d 6d d 6ƒ Wd  QXd	 } t j t d | ƒ | j d d g ƒ Wd  QXd
 } t j t d | ƒ | j d ƒ Wd  QXd } t j t d | ƒ, | j t	 i d g d 6d g d 6ƒ ƒ Wd  QXd  S(   NRl   Rm   Rs   Rd   s    fill value must be in categoriest   di   i   sC   "value" parameter must be a scalar or dict, but you passed a "list"sD   "value" parameter must be a scalar or dict, but you passed a "tuple"sP   "value" parameter must be a scalar, dict or Series, but you passed a "DataFrame"(   Rl   Rm   (
   R   R   R   R   R   Rf   Ri   R3   Rg   R   (   R+   R[   R8   Rj   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_fillna_categorical_raiseŸ  s(    


!c         C   sÔ  t  d d d t g d d ƒ} | j d d ƒ } | j d | j d ƒ } | j ƒ  } | j d | j d	 <t | | ƒ t | | ƒ t i | d
 6ƒ } | j d d ƒ } | j d | j d ƒ } t i | d
 6ƒ } t | | ƒ t | | ƒ t  t d d d g d d ƒ} | j d d ƒ } | j d | d ƒ } | j ƒ  } | d | d <t | | ƒ t | | ƒ t i | d
 6ƒ } | j d d ƒ } | j d | d ƒ } t i | d
 6ƒ } t | | ƒ t | | ƒ d  S(   Ni    i   i   R1   s   M8[ns]R>   RD   t   valuei   t   AR7   (   R   R   R3   Ru   RU   R   R   R   (   R+   t   seriesR\   t   filled2R;   RN   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_fillna_nat¾  s4    c         C   s©   t  d t j t j d g ƒ } t j d t ƒ  | j ƒ  } | j ƒ  } Wd  QXt  t	 t t t	 g ƒ } t  d d g d d d g ƒ} t
 j | | ƒ t
 j | | ƒ d  S(   NRl   g      ð?s   mode.use_inf_as_naR   i    i   (   R   R   t   infR   R@   t   option_contextRF   R   t   dropnaRE   R(   R   (   R+   R8   t   rt   drt   et   de(    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_isna_for_infã  s    c         C   s©   t  d t j t j d g ƒ } t j d t ƒ  | j ƒ  } | j ƒ  } Wd  QXt  t	 t t t	 g ƒ } t  d d g d d d g ƒ} t
 j | | ƒ t
 j | | ƒ d  S(   NRl   g      ð?s   mode.use_inf_as_nullR   i    i   (   R   R   R„   R   R@   R…   RF   R   R†   RE   R(   R   (   R+   R8   R‡   Rˆ   R‰   RŠ   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_isnull_for_inf_deprecatedí  s    c      
   C   s¹  t  d d d d d g d t j d ƒ ƒ} t j | | j d d	 ƒ ƒ t j | d
 <t  d d d d d g d | j ƒ} t j | j d d	 ƒ | ƒ t  d d d d d g d | j ƒ} t j | j d d ƒ | ƒ t  d d d d d g d | j ƒ} t j | j d d ƒ | ƒ d } t j	 t
 d | ƒ | j ƒ  Wd  QXd } t j	 t
 d | ƒ | j d d d d	 ƒ Wd  QXt  t j g ƒ } t  d g ƒ } | j | ƒ } t  d g ƒ } t | | ƒ | j i  ƒ } t | | ƒ | j t  d ƒ ƒ } t | | ƒ | j | ƒ } t | | ƒ | j i d d 6ƒ } t | | ƒ | j i d d 6ƒ } t | t  t j g ƒ ƒ | j i d d 6d d 6ƒ } t | | ƒ | j t  i d d 6d d 6ƒ ƒ } t | | ƒ | j t  i d d 6d d 6d d d g ƒƒ } t | | ƒ t  d d d
 g t d ƒ ƒ } t  d t j d
 g t d ƒ ƒ } | j | ƒ } t  d d d g t d ƒ ƒ } t | | ƒ t  t j d d d d
 g ƒ}	 |	 j d d d ƒ} t  d t j t j g d d d d
 g ƒ} t | | ƒ |	 j d d d
 ƒ} t  d d t j g d d d d
 g ƒ} t | | ƒ d d d g }
 xr |
 D]j } t  d d t j t j d g d d ƒ}	 |	 j | ƒ } t  d d | | d g d d ƒ} t | | ƒ qGWd  S(   Ng        g      ð?g       @g      @g      @R   i   R>   R6   i   R?   g      @R   s'   Must specify a fill 'value' or 'method'Rd   s(   Cannot specify both 'value' and 'method'i    i   i   t   abct   baciç  Re   t   0s   1.5s   -0.3R1   t   float64RG   (    (   R   R(   t   makeDateIndexR   R3   R   t   NaNR   R   Rf   Ri   R   t   list(   R+   t   datetime_seriest   tsRO   Rj   t   s1RV   R:   R;   R8   t   valst   val(    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_fillnaù  sl    *$$$#/!*''!c         C   s±   t  t d t d t g d d d d d g ƒ } | j d d	 ƒ } t  t d d d d g | j ƒ } t | | ƒ | j d d
 ƒ } t  d d d d t g | j ƒ } t | | ƒ d  S(   Ng      ð?g      @t   zRl   Rm   Rn   R}   R>   R6   R7   (   R   R   R3   R   R   (   R+   t   xR\   R;   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_fillna_bugB  s    -!!c         C   sr   t  t d t d t g d d d d d g ƒ } | j ƒ  } | j d d	 d
 t ƒ | j d d	 ƒ } t | | ƒ d  S(   Ng      ð?g      @Rš   Rl   Rm   Rn   R}   R   i    Ra   (   R   R   RU   R3   RF   R   (   R+   R›   t   yR;   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_fillna_inplaceL  s
    -c         C   sF   y | j  d d ƒ Wn+ t k
 rA } d t | ƒ k sB t ‚ n Xd  S(   NR>   t   ffil(   R3   Ri   t   strRJ   (   R+   R”   t   inst(    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_fillna_invalid_methodU  s    c         C   sZ   t  d d d d d g d t j d ƒ ƒ} t j | d <t | j ƒ  | j d	 d
 ƒ ƒ d  S(   Ng        g      ð?g       @g      @g      @R   i   i   R>   R6   (   R   R(   R‘   R   R’   R   R6   R3   (   R+   R•   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt
   test_ffill[  s    *c         C   sG   t  j t d d d d t j ƒd g ƒ } | j ƒ  } t | | ƒ d  S(   Niß  i   RX   (   R@   R   R    RY   RZ   R6   R   (   R+   R   R:   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt,   test_ffill_mixed_dtypes_without_missing_data`  s    *c         C   sZ   t  d d d d d g d t j d ƒ ƒ} t j | d <t | j ƒ  | j d	 d
 ƒ ƒ d  S(   Ng        g      ð?g       @g      @g      @R   i   i   R>   R7   (   R   R(   R‘   R   R’   R   R7   R3   (   R+   R•   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt
   test_bfillf  s    *c         C   s[  t  g  t d ƒ D] } t d | ƒ ^ q ƒ } | j ƒ  } t j | d <t | d ƒ s] t ‚ | d j t	 k sv t ‚ | d | d <t | d ƒ s› t ‚ t	 | d <t | d ƒ s» t ‚ | d j t	 k sÔ t ‚ | d | d <t | d ƒ sù t ‚ t
 | d <t | d ƒ st ‚ | d j t	 k s2t ‚ | d | d <t | d ƒ sWt ‚ d  S(   Ni
   R/   i    i   i   (   R   R   R   RU   R   R   R   RJ   R   R   R   (   R+   t   iR9   t   td1(    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_timedelta64_nank  s"    .

c         C   sˆ   t  g  ƒ } t | j ƒ  ƒ d k s* t ‚ | j d t ƒ t | ƒ d k sR t ‚ d } t j t d | ƒ | j d d ƒ Wd  QXd  S(   Ni    Ra   s5   No axis named 1 for object type <(class|type) 'type'>Rd   t   axisi   (   R   R"   R†   RJ   RF   R   Rf   Ri   (   R+   R8   Rj   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_dropna_empty‘  s    c         C   s&  t  t d ƒ t j t d ƒ t j g ƒ } | j ƒ  } t  t d ƒ t d ƒ g d d d g ƒ} t j | | ƒ t j d t j d t j g d d ƒ} t j  | ƒ } | j d k s» t	 ‚ | j ƒ  } t  t d d d ƒt d d d ƒg d d d g ƒ} | j d k st	 ‚ t j | | ƒ d  S(	   Ns   2011-01-01 10:00s   2011-01-03 10:00R   i    i   RB   s
   Asia/Tokyos   datetime64[ns, Asia/Tokyo](
   R   R   R@   R   R†   R(   R   RH   R1   RJ   (   R+   R8   R:   R;   RM   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_datetime64_tz_dropnaœ  s"    	c         C   sŸ   x˜ t  d d d g d d ƒt  t t t g d d ƒg D]` } | j ƒ  } t j | | ƒ | | k	 sk t ‚ | j ƒ  } | j d t ƒ t j | | ƒ q7 Wd  S(   Ni   i   i   t   nameR›   Ra   (   R   RE   RF   R†   R(   R   RJ   RU   (   R+   R8   R:   RV   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_dropna_no_nan²  s    c         C   sr   t  t j d d d g t j t j d d d g t j d d d g ƒ ƒ } | j ƒ  } | j d } t | | ƒ d  S(   Ni   i   i   i    (   R   R   R   R
   t   from_arraysR†   t   ilocR   (   R+   R8   R:   R;   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_dropna_intervals¾  s    c         C   sŠ   | j  ƒ  } t j | d  d  d … <| j ƒ  } t | ƒ | j ƒ  k sL t ‚ t j | | d d  d … ƒ t j | | t	 j
 | ƒ ƒ d  S(   Ni   i   (   RU   R   R’   R†   R"   t   countRJ   R(   R   R@   t   notna(   R+   R”   R•   R:   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt
   test_validÇ  s    c         C   s   t  d d d t d g ƒ } t  t t t t t g ƒ } t j | j ƒ  | ƒ t  d d t g ƒ } t  t t t g ƒ } t j | j ƒ  | ƒ d  S(   Ni    gš™™™™™@i   gü©ñÒMbP¿t   hit    (   R   R   RE   RF   R(   R   R   (   R+   t   serR;   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt	   test_isnaÐ  s    c         C   s   t  d d d t d g ƒ } t  t t t t t g ƒ } t j | j ƒ  | ƒ t  d d t g ƒ } t  t t t g ƒ } t j | j ƒ  | ƒ d  S(   Ni    gš™™™™™@i   gü©ñÒMbP¿R´   Rµ   (   R   R   RF   RE   R(   R   R²   (   R+   R¶   R;   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt
   test_notnaÙ  s    c         C   sÍ   t  t j d t j d t j g d d d d d g d t ƒ} | j d	 d
 d t ƒ t  t j d d d d g d d d d d g d t ƒ} t | d | d ƒ t j | d ƒ sÉ t t j | d ƒ ƒ ‚ d  S(   Ng      ð?g      @Rš   Rl   Rm   Rn   R}   R1   R>   RD   Ra   i   i    (	   R   R   R   t   floatR3   RF   R   t   isnanRJ   (   R+   R›   R;   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_pad_nanâ  s    3	c         C   sa   t  d d d d ƒ} | d d d g } d } t j t d	 | ƒ | j | d
 d ƒWd  QXd  S(   Ns   1/1/2000s   3/1/2000R   t   Bi   i    i   s0   index must be monotonic increasing or decreasingRd   R>   RD   (   R   R   Rf   Ri   t   get_indexer(   R+   R%   t   rng2Rj   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_pad_require_monotonicityí  s
    c         C   so   t  j | d *| j ƒ  } | j | j k s1 t ‚ | j } | j ƒ  } | j d t ƒ | j | k sk t ‚ d  S(   Ni   Ra   (   R   R   R†   R¬   RJ   RU   RF   (   R+   R”   R:   R¬   R•   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_dropna_preserve_name÷  s    	c         C   s_   t  d d t j d d d g ƒ } | j d ƒ j d ƒ } | j d d d ƒ} t | | ƒ d  S(   Ni    i   i   i   i   i   Rz   (   R   R   R   R3   t   addR   (   R+   R8   RO   Rp   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt"   test_fill_value_when_combine_const   s    !c         C   sù   t  j d ƒ } t t  j j d ƒ d | ƒ} | d  j | ƒ } | j d d d d ƒ } | d  j | ƒ j d d ƒ } t  j | d )t | | ƒ | d	 j | ƒ } | j d d
 d d ƒ } | d	 j | ƒ j d d ƒ } t  j | d *t | | ƒ d  S(   Ni
   R   i   R>   RD   Re   i   iýÿÿÿiþÿÿÿR7   R?   i   (	   R   t   arangeR   R    R!   t   reindexR3   R   R   (   R+   R   R8   R:   R;   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_series_fillna_limit  s    c      
   C   sM  t  j d ƒ } t t  j j d ƒ d | ƒ} | d  j | ƒ j ƒ  } t j t	 ƒ 5 | j
 d d d d ƒ } | j
 d d d d ƒ } Wd  QX| j ƒ  } t  j | d )| j ƒ  } t | | ƒ | d	 j | ƒ j ƒ  } t j t	 ƒ / | j
 d d
 d d ƒ } | j
 d d
 ƒ } Wd  QX| j ƒ  } t  j | d *| j ƒ  } t | | ƒ d  S(   Ni
   R   i   R>   RD   Re   i   iýÿÿÿiþÿÿÿR?   i   (   R   RÃ   R   R    R!   RÄ   t	   to_sparseR(   R)   R   R3   t   to_denseR   R   (   R+   R   R8   t   ssR:   R;   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_sparse_series_fillna_limit  s$    c         C   sI  t  j d ƒ } t t  j j d ƒ d | ƒ} | j ƒ  } | d  j | d d d d ƒ} t j t	 ƒ $ | d  j | ƒ j
 d d ƒ } Wd  QX| j ƒ  } t  j | d )| j ƒ  } t | | ƒ | d	 j | d d
 d d ƒ} t j t	 ƒ $ | d	 j | ƒ j
 d d
 ƒ } Wd  QX| j ƒ  } t  j | d *| j ƒ  } t | | ƒ d  S(   Ni
   R   i   R>   RD   Re   i   iýÿÿÿiþÿÿÿR?   i   (   R   RÃ   R   R    R!   RÆ   RÄ   R(   R)   R   R3   RÇ   R   R   (   R+   R   R8   R:   R;   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt%   test_sparse_series_pad_backfill_limit3  s"    %%c         C   sá   t  j d ƒ } t t  j j d ƒ d | ƒ} | d  j | d d d d ƒ} | d  j | ƒ j d d ƒ } t  j | d )t | | ƒ | d	 j | d d
 d d ƒ} | d	 j | ƒ j d d
 ƒ } t  j | d *t | | ƒ d  S(   Ni
   R   i   R>   RD   Re   i   iýÿÿÿiþÿÿÿR?   i   (	   R   RÃ   R   R    R!   RÄ   R3   R   R   (   R+   R   R8   R:   R;   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_series_pad_backfill_limitH  s    (/   t   __name__t
   __module__R,   R<   RA   RP   RW   R]   R`   Rc   Rk   Rq   Ry   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»   R¿   RÀ   RÂ   RÅ   RÉ   RÊ   RË   (    (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyR'   6   s^   		6	'	ˆ	"						-%)'-/E
		%	
		I	
							&													
						t   TestSeriesInterpolateDatac           B   s  e  Z d  „  Z e j d „  ƒ Z e j d „  ƒ Z e j d „  ƒ Z e j d „  ƒ Z e	 j
 j d i  e	 j i d d 6d d	 6d
 e j ƒg ƒ d „  ƒ Z d „  Z d „  Z e	 j
 j d i  e	 j i d d 6d d	 6d
 e j ƒg ƒ d „  ƒ Z d „  Z d „  Z e j d „  ƒ Z e j d „  ƒ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z e j d „  ƒ Z e	 j
 j d e e	 j e d
 e j ƒg ƒ d „  ƒ Z  e j d „  ƒ Z! e j d „  ƒ Z" d  „  Z# e j e	 j
 j d d d! g ƒ d" „  ƒ ƒ Z$ e j d# „  ƒ Z% e j& d$ d% d& ƒd' „  ƒ Z' e j d( „  ƒ Z( e j d) „  ƒ Z) e j d* „  ƒ Z* d+ „  Z+ d, „  Z, d- „  Z- d. „  Z. RS(/   c         C   s,  t  t j t | ƒ d t ƒ| j ƒ } | j ƒ  } t j | d d +| j d d ƒ } t	 j
 | | ƒ t  g  | j D] } | j ƒ  ^ qr d | j ƒj t ƒ } | j ƒ  } t j | d d +| j d d ƒ }	 t	 j
 |	 | ƒ | j ƒ  }
 t j |
 d <d	 } t j t d
 | ƒ |
 j d d ƒ Wd  QXd  S(   NR1   i   i
   R>   t   linearR   t   timei    sS   time-weighted interpolation only works on Series or DataFrames with a DatetimeIndexRd   (   R   R   RÃ   R"   R¹   R   RU   R’   t   interpolateR(   R   t	   toordinalt   astypeR   Rf   Ri   (   R+   R”   t   string_seriesR•   t   ts_copyt   linear_interpR}   t   ord_tst   ord_ts_copyt   time_interpt   non_tsRj   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_interpolate[  s"    %c         C   s   t  ƒ  t t j t j j d d ƒ ƒ ƒ } | j j t d d d d d d g ƒ ƒ } | j	 | ƒ j
 d	 d
 ƒ } | d d !d  S(   Nt   sizeid   g      H@g     ÀH@g     àH@g      I@g     @I@g     `I@R>   t   pchipi1   i3   (   R   R   R   t   sortR    t   uniformR   t   unionR	   RÄ   RÓ   (   R+   R¶   t	   new_indext   interp_s(    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_interpolate_pchipw  s    $c         C   sÊ   t  ƒ  t d d d d g ƒ } t d d d d d	 d
 d d d g	 d t d d d d d d d d d g	 ƒ ƒ} | j j t d d d d d d g ƒ ƒ } | j | ƒ j d d ƒ } t | d d !| ƒ d  S(   Ni
   i   i   i   g      &@g     €&@g      '@g     €'@g      (@g     €(@g      )@g     €)@g      *@R   g      ð?g      ô?g      ø?g      ü?g       @g      @g      @g      @g      @R>   t   akimai   i   (   R   R   R	   R   Râ   RÄ   RÓ   R   (   R+   R¶   R;   Rã   Rä   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_interpolate_akima„  s    *c         C   sÃ   t  d d d d g ƒ } t  d d d d d	 d
 d d d g	 d t d d d d d d d d d g	 ƒ ƒ} | j j t d d d d d d g ƒ ƒ } | j | ƒ j d d ƒ } t | d d !| ƒ d  S(   Ni
   i   i   i   g      &@g     €&@g      '@g     €'@g      (@g     €(@g      )@g     €)@g      *@R   g      ð?g      ô?g      ø?g      ü?g       @g      @g      @g      @g      @R>   t   piecewise_polynomiali   i   (   R   R	   R   Râ   RÄ   RÓ   R   (   R+   R¶   R;   Rã   Rä   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt%   test_interpolate_piecewise_polynomial“  s    *	c         C   sÃ   t  d d d d g ƒ } t  d d d d d	 d
 d d d g	 d t d d d d d d d d d g	 ƒ ƒ} | j j t d d d d d d g ƒ ƒ } | j | ƒ j d d ƒ } t | d d !| ƒ d  S(   Ni
   i   i   i   g      &@g     €&@g      '@g     €'@g      (@g     €(@g      )@g     €)@g      *@R   g      ð?g      ô?g      ø?g      ü?g       @g      @g      @g      @g      @R>   t   from_derivativesi   i   (   R   R	   R   Râ   RÄ   RÓ   R   (   R+   R¶   R;   Rã   Rä   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt!   test_interpolate_from_derivatives¡  s    *	t   kwargst
   polynomialR>   i   t   ordert   marksc         C   sZ   t  t j t j g ƒ } t | j |   | ƒ t  g  ƒ j ƒ  } t | j |   | ƒ d  S(   N(   R   R   R   R   RÓ   (   R+   Rì   R8   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_interpolate_corners¯  s    c         C   s  t  t j d t j t j j d ƒ ƒ ƒ} t j j d ƒ | d  d  d … <| j j j	 t
 ƒ } | j d d ƒ } | j ƒ  } t | j ƒ } | } t  t j | | | | | j | ƒ d | j | ƒ} t | | | ƒ | j d d ƒ } t | | ƒ t | | | ƒ d  S(   NR   i   i
   i   R>   Ru   (   R   R   R   Rà   R    t   randR!   R   Ru   RÕ   R¹   RÓ   RU   R   t   interpR   (   R+   R8   R—   R:   R;   t   badt   goodt   other_result(    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_interpolate_index_values»  s    *c         C   s]   t  d d t j t j t j d g ƒ } d } t j t d | ƒ | j d d ƒ Wd  QXd  S(   Ni   i   i   sS   time-weighted interpolation only works on Series or DataFrames with a DatetimeIndexRd   R>   RÒ   (   R   R   R   R   Rf   Ri   RÓ   (   R+   R8   Rj   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_interpolate_non_tsÒ  s    'c         C   sS   t  d d t j d g ƒ } | j |   } t  d d d d g ƒ } t | | ƒ d  S(   Ni    i   i   g        g      ð?g       @g      @(   R   R   R   RÓ   R   (   R+   Rì   R8   R:   R;   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_nan_interpolateÙ  s    c         C   st   t  d d t j d g d d d d d g ƒ} | j ƒ  } t  d d	 d
 d g d d d d d g ƒ} t | | ƒ d  S(   Ni   i   i   R   i   i   i	   g      ð?g       @g      @g      @(   R   R   R   RÓ   R   (   R+   R8   R:   R;   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_nan_irregular_indexä  s    -*c         C   sh   t  d d d t j g d t d ƒ ƒ} | j ƒ  } t  d d d d g d t d ƒ ƒ} t | | ƒ d  S(	   Ni    i   i   R   t   abcdg        g      ð?g       @(   R   R   R   R“   RÓ   R   (   R+   R8   R:   R;   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_nan_str_indexê  s    '$c         C   sz   t  d d t j d g d d d d d g ƒ} | j d d ƒ } t  d	 d
 d d g d d d d d g ƒ} t | | ƒ d  S(   Ni   i   i   R   i   i   R>   t	   quadraticg      ð?g      @g      "@g      0@(   R   R   R   RÓ   R   (   R+   t   sqR:   R;   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_interp_quadð  s    -*c         C   s&  t  d d t j d t j d g ƒ } t  d d d d d	 d
 g ƒ } | j d d ƒ } t | | ƒ | j d d d d ƒ } t | | ƒ t  d d d d d d g ƒ } | j d d ƒ } t | | j d ƒ ƒ | j d d d d ƒ } t | | ƒ t  d d d d d d g ƒ } | j d d ƒ } t | | j d ƒ ƒ | j d d d d ƒ } t | | ƒ t rƒt  d d d d d d
 g ƒ } n t  d d d d d d
 g ƒ } | j d d ƒ } t | | ƒ | j d d d d ƒ } t | | ƒ t  d d d d d d
 g ƒ } | j d d ƒ } t | | ƒ d  S(   Ni   i   i   i   g      ð?g      @g      @g      (@g     €2@g      9@R>   t   slinearR^   R_   t   nearestR¹   t   zerog÷:©/KK@gL8ô2@gGJ±@g=î[­;2@Rü   g333333@g3333332@t   cubic(   R   R   R   RÓ   R   RÕ   t   _is_scipy_ge_0190(   R+   R8   R;   R:   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_interp_scipy_basic÷  s4    $!c         C   s7  t  d d t j t j t j d g ƒ } t  d d d d t j d g ƒ } | j d	 d
 d d ƒ } t | | ƒ d
 d d d d d d d d d d d d d d  d d d g } t j  d d t j t j d g ƒ } d } x] d d  d d! g D]I } x@ | D]8 } t j t	 d" | ƒ | j d | d	 | ƒ Wd  QXqó Wqæ Wd  S(#   Ni   i   i   g      ð?g      @g      @g      @g      &@R>   RÑ   Re   i   RÒ   R   Ru   R   R  Rÿ   Rü   R  t   barycentrict   kroghRí   t   splineRè   Rê   Rß   Ræ   i   sÂ   Limit must be greater than 0|time-weighted interpolation only works on Series or DataFrames with a DatetimeIndex|invalid method '(polynomial|spline|None)' to interpolate|Limit must be an integeriÿÿÿÿi    g       @Rd   (
   R   R   R   RÓ   R   Rh   R@   R   Rf   Ri   (   R+   R8   R;   R:   t   methodsRj   Re   R>   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_interp_limit!  s    '!$c         C   s¢   t  d d t j t j t j d g ƒ } t  d d d d t j d g ƒ } | j d	 d
 d d d d ƒ } t | | ƒ | j d	 d
 d d d d ƒ } t | | ƒ d  S(   Ni   i   i   g      ð?g      @g      @g      @g      &@R>   RÑ   Re   i   t   limit_directiont   forwardt   FORWARD(   R   R   R   RÓ   R   (   R+   R8   R;   R:   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_interp_limit_forward8  s    '!		c      	   C   s  t  t j d d t j t j t j d t j g ƒ } t  d d d d d d d d g ƒ } | j d d d	 d
 ƒ } t | | ƒ t  t j d d d d d d d g ƒ } | j d d d	 d ƒ } t | | ƒ t  d d d d d d d t j g ƒ } | j d d d	 d ƒ } t | | ƒ d  S(   Ng      ð?g      @g      &@g      @g      @g      "@R>   RÑ   R
  t   bothR  t   backward(   R   R   R   RÓ   R   (   R+   R8   R;   R:   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_interp_unlimitedF  s    3$	'	'	c         C   s›   t  d d t j t j t j d g ƒ } d } t j t d | ƒ! | j d d d d	 d
 d ƒ Wd  QXt j t d | ƒ | j d d d
 d ƒ Wd  QXd  S(   Ni   i   i   sV   Invalid limit_direction: expecting one of \['forward', 'backward', 'both'\], got 'abc'Rd   R>   RÑ   Re   i   R
  R   (   R   R   R   R   Rf   Ri   RÓ   (   R+   R8   Rj   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_interp_limit_bad_directionX  s    '"c      
   C   sz  t  t t d t t t d t t g	 ƒ } t  t t d d d d d t t g	 ƒ } | j d d	 d
 d ƒ } t | | ƒ t  t t d d t t d t t g	 ƒ } | j d d	 d
 d d d ƒ } t  t t d d t d d t t g	 ƒ } | j d d	 d
 d d d d d ƒ } t | | ƒ t  t t d t t t d d d g	 ƒ } | j d d	 d
 d ƒ } t | | ƒ t  t t d t t t d d t g	 ƒ } | j d d	 d
 d d d ƒ } t  t d d t t t d d t g	 ƒ } | j d d	 d
 d d d d d ƒ } t | | ƒ t  d d d t t t d t t g	 ƒ } | j d d	 d
 d d d ƒ } d } t j t d | ƒ | j d d	 d
 d ƒ Wd  QXd  S(   Ni   i   g      @g      @g      @g      @g      @R>   RÑ   t
   limit_areat   insideRe   i   R
  R  t   outsidet	   directionR  sE   Invalid limit_area: expecting one of \['inside', 'outside'\], got abcRd   R   (   R   R   RÓ   R   R   Rf   Ri   (   R+   R8   R;   R:   Rj   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_interp_limit_areae  s6    '''	'''	''	c         C   sµ  t  d d t j t j t j d g ƒ } t  d d t j d d d g ƒ } | j d	 d
 d d d d ƒ } t | | ƒ t  d d d t j d d g ƒ } | j d	 d
 d d d d ƒ } t | | ƒ t  d d t j t j t j d d t j t j d t j g ƒ } t  d d d d d d d d d d d g ƒ } | j d	 d
 d d d d ƒ } t | | ƒ t  d d d t j d d d d d d d g ƒ } | j d	 d
 d d d d ƒ } t | | ƒ d  S(   Ni   i   i   g      ð?g      @g      @g      "@g      &@R>   RÑ   Re   i   R
  R  g      @R  i   i	   i   g      @g      @g      $@g      (@(   R   R   R   RÓ   R   (   R+   R8   R;   R:   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_interp_limit_direction  s&    '!	!	0-	0	c         C   sÀ   t  t j t j d d d t j g ƒ } t  d d d d d t j g ƒ } | j d d d	 d
 d d ƒ } t | | ƒ t  d d d d d d g ƒ } | j d d d	 d
 d d ƒ } t | | ƒ d  S(   Ni   i   i	   g      @g      @g      "@R>   RÑ   Re   i   R
  R  R  (   R   R   R   RÓ   R   (   R+   R8   R;   R:   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_interp_limit_to_ends©  s    '!		c         C   s!  t  t j t j d d t j t j g ƒ } t  t j t j d d d t j g ƒ } | j d d d d d	 d
 ƒ } t | | ƒ t  t j d d d t j t j g ƒ } | j d d d d d	 d ƒ } t | | ƒ t  t j d d d d t j g ƒ } | j d d d d d	 d ƒ } t | | ƒ d  S(   Ni   i   g      @g      @R>   RÑ   Re   i   R
  R  R  R  (   R   R   R   RÓ   R   (   R+   R8   R;   R:   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_interp_limit_before_ends·  s    *'	'	$	c         C   sW   t  d d d g ƒ } | j d d d d ƒ } t | | ƒ | j ƒ  } t | | ƒ d  S(   Ni   i   i   R>   Rí   Rî   (   R   RÓ   R   (   R+   R8   R:   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_interp_all_goodÊ  s
    t   check_scipyc      	   C   s­   t  j d d d g ƒ } t d d t j g d | ƒ} | j ƒ  } d | j d <| j ƒ  } t | | ƒ d } | r© t	 j
 t d	 | ƒ | j d
 d d d ƒ Wd  QXn  d  S(   Ni    Rl   i   Rm   i   Rn   R   s?   Only `method=linear` interpolation is supported on MultiIndexesRd   R>   Rí   Rî   (   i    Rl   (   i   Rm   (   i   Rn   (   R   t   from_tuplesR   R   R   RU   t   locRÓ   R   R   Rf   Ri   (   R+   R  RM   R8   R;   R:   Rj   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_interp_multiIndexÔ  s    c         C   s]   t  d t j d g d d d d g ƒ} d } t j t d | ƒ | j d d	 ƒ Wd  QXd  S(
   Ni   i   R   i    i   s8   krogh interpolation requires that the index be monotonicRd   R>   R  (   R   R   R   R   Rf   Ri   RÓ   (   R+   R8   Rj   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_interp_nonmono_raiseæ  s    'c         C   st   t  d t j d g d t d d d ƒƒ} | j d d ƒ } t  d d d	 g d t d d d ƒƒ} t | | ƒ d  S(
   Ni   i   R   s   1/1/2000t   periodsR>   R   g      ð?g      @(   R   R   R   R   RÓ   R   (   R+   RN   R:   R;   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_interp_datetime64í  s
    *c         C   sA   t  j d d d g ƒ } | j d d ƒ } | } t | | ƒ d  S(   Ng      ð?g       @g      @Re   i   (   R@   R   RÓ   R   (   R+   R8   R:   R;   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_interp_limit_no_nansõ  s    R  c         C   sZ   t  d d t j d g ƒ } d j | ƒ } t j t d | ƒ | j d | ƒ Wd  QXd  S(   Ni    i   i   s"   invalid method '{}' to interpolateRd   R>   (   R   R   R   RI   R   Rf   Ri   RÓ   (   R+   R>   R8   Rj   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_no_orderü  s    c         C   sq   t  d d t j d d t j d g ƒ } | j d d d d ƒ } t  d	 d
 d d d d d g ƒ } t | | ƒ d  S(   Ni   i   i   i   i   R>   R  Rî   g      ð?g       @g      @g      @g      @g      @g      @(   R   R   R   RÓ   R   (   R+   R8   R:   R;   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_spline  s    '!t   scipyt   min_versions   0.15c         C   sÃ   t  d d d d t j d t j g ƒ } | j d d d d d	 d ƒ } t  d
 d d d d d d g ƒ } t | | ƒ | j d d d d d	 d ƒ } t  d
 d d d d d d g ƒ } t | | ƒ d  S(   Ni   i   i   i   i   R>   R  Rî   t   extg      ð?g       @g      @g      @g      @g      @i    g      @(   R   R   R   RÓ   R   (   R+   R8   t   result3t	   expected3t   result1t	   expected1(    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_spline_extrapolate  s    '!!c         C   so   t  d d t j d d t j d g ƒ } | j d d d d	 d
 d ƒ d | j d d d d	 ƒ d k sk t ‚ d  S(   Ni   i   i   gffffff@i   R>   R  Rî   i   R8   i    i   (   R   R   R   RÓ   RJ   (   R+   R8   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_spline_smooth  s    'c         C   sy   t  t j d ƒ d ƒ } t j | t j j d d d ƒ <| j d d d d	 ƒ } | j d d d d	 ƒ } t | | ƒ d  S(
   Ni
   i   i    i	   i   R>   R  Rî   i   (   R   R   RÃ   R   R    Rb   RÓ   R   (   R+   R8   R*  R+  (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_spline_interpolation  s
    c      
   C   s©   t  j t j d ƒ d ƒ } t j | t j j d d d ƒ <d } t j t	 d | ƒ | j
 d d	 ƒ Wd  QXd
 } t j t	 d | ƒ | j
 d d	 d d ƒ Wd  QXd  S(   Ni
   i   i    i	   i   s&   invalid method 'spline' to interpolateRd   R>   R  s.   order needs to be specified and greater than 0Rî   (   R@   R   R   RÃ   R   R    Rb   R   Rf   Ri   RÓ   (   R+   R8   Rj   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_spline_error$  s    c         C   sü   t  d t j d g d t j d d d g ƒ ƒ} | j d d ƒ } t  d d d	 g d t j d d d g ƒ ƒ} t | | ƒ t  d t j d g d t j d d d
 g ƒ ƒ} | j d d ƒ } t  d d d	 g d t j d d d
 g ƒ ƒ} t | | ƒ d  S(   Ni   i   R   i   R>   RÒ   g      ð?g       @g      @i   g®(%«ªú?(   R   R   R   R@   t   to_timedeltaRÓ   R   (   R+   RN   R:   R;   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_interp_timedelta641  s    c         C   sT   t  d d ƒ } t j | d  d  d … <| j d d ƒ } | j ƒ  } t | | ƒ d  S(   Ns   1/1/2000s	   1/20/2000i   R>   Ru   (   R&   R   R   RÓ   R   (   R+   R•   R:   RO   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt%   test_series_interpolate_method_valuesB  s
    c         C   s  t  j d d d d d ƒ} t  j d d d d	 g | ƒ } | j | t  j d
 d ƒ ƒ j ƒ  } | j | ƒ j d d ƒ } t  j d d d d d ƒ} t  j d d d d	 g | ƒ } | j | t  j d d ƒ ƒ j ƒ  } | j | ƒ j d d ƒ } t j	 | j
 | j
 ƒ d  S(   Ns   1/1/2012R   i   R   t   12Di    i   i   i$   R/   i   R>   RÒ   t   12Ht   hours(   R@   R   R   t   appendt
   DateOffsett   sort_valuesRÄ   RÓ   R(   Rt   Ru   (   R+   R   R•   Rã   RO   R:   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt    test_series_interpolate_intradayK  s    %%c         C   s?   t  j d d d d g ƒ } t j t ƒ  | j ƒ  Wd  QXd  S(   Ni   i    i   i   (   R@   R   R(   R)   R*   t   nonzero(   R+   R¶   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   test_nonzero_warningZ  s    (/   RÌ   RÍ   RÝ   R9   t   skip_if_no_scipyRå   Rç   Ré   Rë   R   RÎ   RÏ   t   paramRð   Rö   R÷   Rø   Rù   Rû   Rþ   R  R	  R  R  R  R  R  R  R  R  RE   RF   R  R  R!  R"  R#  R$  t
   skip_if_noR,  R-  R.  R/  R1  R2  R9  R;  (    (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyRÐ   Y  sZ   						*					(			
'	'				(0   R    R   t   distutils.versionR   t   numpyR   R   R   RY   t   pandas._libs.tslibR   t   pandas.compatR   t   pandas.errorsR   t   pandas.util._test_decoratorst   utilt   _test_decoratorsR9   t   pandasR@   R   R   R	   R
   R   R   R   R   R   R   t   pandas.core.seriesR   t   pandas.util.testingt   testingR(   R   R   R%  t   __version__R  R   RE   R   R   R&   R'   RÐ   (    (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_missing.pyt   <module>   s8   F
		ÿ ÿ ÿ &