ó
šxŠ\c           @   sÕ  d  d l  m Z d  d l m Z d  d l Z d  d l Z d  d l m Z d  d l Z d  d l	 m
 Z
 m Z 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 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& m' Z' d e( f d „  ƒ  YZ) d d d d d d d d d d d d d g Z* e j+ d „  ƒ Z, e j+ d e* ƒ d „  ƒ Z- d „  Z. d e( f d „  ƒ  YZ/ d  e( f d! „  ƒ  YZ0 d S("   iÿÿÿÿ(   t   LooseVersion(   t   productN(   t   nan(   t   PY35t   lranget   range(   t   Categoricalt   CategoricalIndext	   DataFramet   Seriest   compatt
   date_ranget   isnat   notna(   t	   is_scalar(   t
   MultiIndex(   t	   Timestamp(   t   assert_almost_equalt   assert_frame_equalt   assert_index_equalt   assert_series_equalt   TestSeriesAnalyticsc           B   sT  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 d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z e j d „  ƒ Z e j d „  ƒ Z d „  Z d „  Z d „  Z d „  Z d „  Z e  j! j" e# d d ƒd „  ƒ Z$ d „  Z% d „  Z& d  „  Z' d! „  Z( e  j! j) d" e e* g ƒ e  j! j) d# d$ d% d& g e+ j, d$ d% d& g ƒ g ƒ d' „  ƒ ƒ Z- d( „  Z. d) „  Z/ d* „  Z0 d+ „  Z1 d, „  Z2 e  j! j) d- g  e3 ƒ  e+ j4 g  ƒ g ƒ d. „  ƒ Z5 d/ „  Z6 d0 „  Z7 d1 „  Z8 d2 „  Z9 d3 „  Z: d4 „  Z; d5 „  Z< d6 „  Z= d7 „  Z> d8 „  Z? d9 „  Z@ d: „  ZA d; „  ZB d< „  ZC d= „  ZD d> „  ZE d? „  ZF d@ „  ZG dA „  ZH dB „  ZI e  j! j) dC e+ jJ e+ jK g ƒ e  j! j) dD eL dE e ƒ eL dF eM ƒ  ƒ g ƒ e jN dG „  ƒ ƒ ƒ ZO e jN dH „  ƒ ZP dI „  ZQ e jN dJ „  ƒ ZR RS(K   c         C   si  t  d d d d d g d d ƒ} | j ƒ  } t  d d | j ƒ  d d d d d g d d d	 d
 d d d d d d d g ƒ} t j | | ƒ t  t t t t t g d d ƒ} | j ƒ  } t  d d t d g d d d	 d
 d d d g ƒ} t j | | ƒ t  d d d d d g d d ƒ} | j ƒ  } t  d d d d g d d d	 d
 d d d g ƒ} t j | | ƒ d  S(   Ni    i   i   i   i   t   namet   int_datai   t   indext   countt   meant   stdt   mins   25%s   50%s   75%t   maxt	   bool_datat   uniquet   topt   freqt   at   bt   ct   dt   str_data(   R	   t   describeR   t   tmR   t   Truet   False(   t   selft   st   resultt   expected(    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_describe   s"    !'!!c   	      C   sÒ   | } t  | ƒ } t d d d ƒ } t d d d ƒ } t t | | d | ƒd | ƒ} | j ƒ  } t d d | j ƒ  j d d | j | ƒ | j | ƒ g d | d d d	 d
 d d d g ƒ} t j	 | | ƒ d  S(   Niâ  i   i   t   tzR   i    R   R   R   R    R!   t   firstt   last(
   t   strR   R	   R   R'   t   value_countsR   t   tz_localizeR(   R   (	   R+   t   tz_naive_fixtureR0   R   t   startt   endR,   R-   R.   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_describe_with_tz3   s    !%c         C   s/  |  j  d | d t ƒ| j ƒ  } t | j j t j ƒ s@ t ‚ t	 g  t
 d ƒ D] } t d | d ƒ ^ qP ƒ } | j d k sˆ t ‚ | j d ƒ } | j d k s¬ t ‚ t | d ƒ sÂ t ‚ | j ƒ  } t	 t d ƒ d	 d
 ƒ} t | | ƒ | j ƒ  } t	 t d ƒ d g d	 d
 ƒ} t | | ƒ d  S(   Nt   argsortt   check_dtypei   s
   201301%02di   s   datetime64[ns]iÿÿÿÿi   t   dtypet   int64(   t   _check_accum_opR*   R:   t
   issubclassR<   t   typet   npt   integert   AssertionErrorR	   R   R   t   shiftR   R   R   (   R+   t   datetime_seriest	   argsortedt   iR,   t   shiftedR-   R.   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_argsortD   s    3c         C   sÝ   t  t j j d d d d ƒƒ } | j d d ƒ } | j ƒ  } t j | j d d ƒ} t j | j d d ƒ} t j | t  | ƒ d t ƒt j | t  | ƒ d t ƒd	 } t	 j
 t d
 | ƒ t j | | ƒ Wd  QXd  S(   Ni    id   t   sizei'  t   kindt	   mergesortt	   quicksortR;   sk   ndarray Expected type <(class|type) 'numpy\.ndarray'>, found <class 'pandas\.core\.series\.Series'> insteadt   match(   R	   RA   t   randomt   randintR:   t   valuesR(   R   R*   t   pytestt   raisesRC   t   assert_numpy_array_equal(   R+   R,   t   mindexert   qindexert	   mexpectedt	   qexpectedt   msg(    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_argsort_stableX   s    !c         C   s   |  j  d | ƒ d  S(   Nt   cumsum(   R>   (   R+   RE   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_cumsumi   s    c         C   s   |  j  d | ƒ d  S(   Nt   cumprod(   R>   (   R+   RE   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_cumprodl   s    c         C   s•   t  j | j ƒ  j t j j t j | ƒ ƒ ƒ | j ƒ  } t j	 | d  d  d … <| j ƒ  d d  d … } t j j | j
 ƒ  ƒ } t  j | | ƒ d  S(   Ni   i   (   R(   RT   t   cumminRQ   RA   t   minimumt
   accumulatet   arrayt   copyt   NaNt   dropnaR   (   R+   RE   t   tsR-   R.   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_cummino   s    	c         C   s•   t  j | j ƒ  j t j j t j | ƒ ƒ ƒ | j ƒ  } t j	 | d  d  d … <| j ƒ  d d  d … } t j j | j
 ƒ  ƒ } t  j | | ƒ d  S(   Ni   i   (   R(   RT   t   cummaxRQ   RA   t   maximumRa   Rb   Rc   Rd   Re   R   (   R+   RE   Rf   R-   R.   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_cummaxz   s    	c         C   sÆ   t  j t  j d d d d d d g ƒ ƒ } t  j t  j d d d d d d g ƒ ƒ } | j d t ƒ } t j | | ƒ t  j t  j d d d d d d g ƒ ƒ } | j d t ƒ } t j | | ƒ d  S(   Nt   NaTs   2000-1-2s   2000-1-1s   2000-1-3t   skipna(   t   pdR	   t   to_datetimeR_   R)   R(   R   R*   (   R+   R,   R.   R-   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_cummin_datetime64…   s    c         C   sÆ   t  j t  j d d d d d d g ƒ ƒ } t  j t  j d d d d d d g ƒ ƒ } | j d t ƒ } t j | | ƒ t  j t  j d d d d d d g ƒ ƒ } | j d t ƒ } t j | | ƒ d  S(   NRk   s   2000-1-2s   2000-1-1s   2000-1-3Rl   (   Rm   R	   Rn   Rh   R)   R(   R   R*   (   R+   R,   R.   R-   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_cummax_datetime64”   s    c         C   sÆ   t  j t  j d d d d d d g ƒ ƒ } t  j t  j d d d d d d g ƒ ƒ } | j d t ƒ } t j | | ƒ t  j t  j d d d d d d g ƒ ƒ } | j d t ƒ } t j | | ƒ d  S(   NRk   s   2 mins   1 mins   3 minRl   (   Rm   R	   t   to_timedeltaR_   R)   R(   R   R*   (   R+   R,   R.   R-   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_cummin_timedelta64£   s,    c         C   sÆ   t  j t  j d d d d d d g ƒ ƒ } t  j t  j d d d d d d g ƒ ƒ } | j d t ƒ } t j | | ƒ t  j t  j d d d d d d g ƒ ƒ } | j d t ƒ } t j | | ƒ d  S(   NRk   s   2 mins   1 mins   3 minRl   (   Rm   R	   Rq   Rh   R)   R(   R   R*   (   R+   R,   R.   R-   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_cummax_timedelta64½   s,    c         C   sW   t  j d ƒ t t j d ƒ ƒ } t j | ƒ } t t t d d d t g ƒ | ƒ d  S(   Ns1   skipping due to Series no longer being an ndarrayi   i    (   RR   t   skipR	   RA   t   aranget   diffR   R   (   R+   R,   t   r(    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_npdiff×   s    c         C   s°   t  t | ƒ } t j | | ƒ j | t j | ƒ ƒ d | ƒ| j ƒ  } t j | d  d  d … <| | ƒ d d  d … } | t j | j ƒ  ƒ ƒ } t j | j | d t	 ƒd  S(   NR;   i   i   (
   t   getattrRA   R(   RT   RQ   Rb   Rc   Rd   Re   R*   (   R+   R   t   datetime_series_R;   t   funcRf   R-   R.   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyR>   á   s    c         C   s¥   t  t t  t t g } t d d d d d g d t d ƒ d d	 ƒ} t | j j | ƒ d t d
 ƒ d d	 ƒ} t j t ƒ  | j | ƒ } Wd  QXt j	 | | ƒ d  S(   Ni   iÿÿÿÿi   i   i   R   t   abcdeR   t   foot   ac(
   R)   R*   R	   t   listRQ   t   compressR(   t   assert_produces_warningt   FutureWarningR   (   R+   t   condR,   R.   R-   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_compressñ   s    c         C   s4  t  t t  t t g } t d d d d d g d t d ƒ d d	 ƒ} t | j j | ƒ d t d
 ƒ d d	 ƒ} t j t d t ƒ! t j	 t
 j | | ƒ | ƒ Wd  QXt j t d t ƒu d } t j t d | ƒ t
 j | | d d ƒWd  QXd } t j t d | ƒ t
 j | | d | ƒWd  QXWd  QXd  S(   Ni   iÿÿÿÿi   i   i   R   R|   R   R}   R~   t   check_stacklevels%   the 'axis' parameter is not supportedRN   t   axiss$   the 'out' parameter is not supportedt   out(   R)   R*   R	   R   RQ   R€   R(   R   R‚   R   RA   RR   RS   t
   ValueError(   R+   Rƒ   R,   R.   RY   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_numpy_compressû   s    "c         C   sn   d | j  _ | j d ƒ } t t j | j d ƒ d | j  d d ƒ} t | | ƒ | j | j k sj t ‚ d  S(   Nt
   index_namei   R   R   Rf   (   R   R   t   roundR	   RA   RQ   R   RC   (   R+   RE   R-   R.   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt
   test_round  s    c      
   C   s‹   t  d d d g ƒ } t j | d d ƒ} t  d d d g ƒ } t | | ƒ d	 } t j t d
 | ƒ t j | d d d | ƒWd  QXd  S(   Ng{®Gázø?gÃõ(\Âõ?g¸…ëQ¸®?t   decimalsi    g       @g      ð?g        s$   the 'out' parameter is not supportedRN   R‡   (   R	   RA   R‹   R   RR   RS   Rˆ   (   R+   R,   R‡   R.   RY   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_numpy_round  s    c         C   sÁ   t  j s t j d ƒ n  t d d d g d t d ƒ ƒ} t | ƒ } t d d d	 g d t d ƒ ƒ} t j | | ƒ d
 } t d d d g d t d ƒ ƒ} t | | ƒ } t j | | ƒ d  S(   Ns5   build in round cannot be overridden prior to Python 3g+‡ÙÎ÷ñ?g–C‹lçû @g–C‹lçû@R   i   g      ð?g       @g      @i   gìQ¸…ëñ?gö(\Âõ @gö(\Âõ@(	   R
   t   PY3RR   Rt   R	   R   R‹   R(   R   (   R+   R,   R-   t   expected_rounded0R   t   expected_rounded(    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_built_in_round   s    	
!!!c         C   sG   t  d d d g d t d ƒ ƒ} | j ƒ  } t | t  ƒ sC t ‚ d  S(   Ng      ð?R   i   (   R	   R   t   prodt
   isinstanceRC   (   R+   R,   R-   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_prod_numpy16_bug/  s    !c         C   s  d d  l  j } t j | j | ƒ d ƒ t j | d  j | d ƒ d ƒ t | d  j | d d d ƒƒ sr t ‚ | d  j | j ƒ } | d j | j ƒ } t | j | d d ƒƒ s¿ t ‚ t	 j
 | d  d  d … j | d d  d … ƒ ƒ s÷ t ‚ | d  j ƒ  } t	 j | (t | j | ƒ ƒ s,t ‚ t j ƒ  } t j ƒ  } | j | ƒ } | j | | ƒ \ }	 }
 t j | |	 ƒ d  S(	   Niÿÿÿÿi   i   i   t   min_periodsi   i   i
   (   t   scipy.statst   statsR(   R   t   corrR   RC   t   reindexR   RA   t   isnanRc   R   t   makeTimeSeriest   pearsonr(   R+   RE   R˜   t   ts1t   ts2t   cpt   At   BR-   R.   t   _(    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt	   test_corr5  s$    !8
c   	      C   s  d d  l  } d d  l j } t j ƒ  } t j ƒ  } | d  | d )| j | d d ƒ} | j | | ƒ d } t j | | ƒ | j | d d ƒ} | j | | ƒ d } t j | | ƒ t	 | j
 ƒ t	 d ƒ k  rî t j d	 j | j
 ƒ ƒ n  t d
 d d d d d d d d
 d g
 ƒ } t d d d d d d d d d d g
 ƒ } d } d } t j | j | d d ƒ| ƒ t j | j | d d ƒ| ƒ d  S(   Niÿÿÿÿi   iûÿÿÿt   methodt   kendalli    t   spearmans   0.9s/   skipping corr rank because of scipy version {0}g‰|U6ÅÆì¿g™~ì¢¦%î?gõÉab¹†ð¿gÝd	çŠî¿g+¸~œè?g	ù$ Wv°¿gàBG@¿Æ Àgü‚ÄÍÚ?g¯^EF4ð¿g»~¶@èã¿g§üsù¿g]’˜Úã?g\‚ßÈ4‘¿gñ\ÆêÂò?gˆ¦’$öð¿gH=ú!+º¿gIÑ±  ì¿gE½Œb™ì?g)óêw¼¤Û?g•äÊêg»â?(   t   scipyR—   R˜   R(   Rœ   R™   t
   kendalltauR   t	   spearmanrR    t   __version__RR   Rt   t   formatR	   (	   R+   R¨   R˜   R¡   R¢   R-   R.   t   kexpt   sexp(    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_corr_rankU  s0    c         C   so   t  j t j j d ƒ ƒ } t  j t j j d ƒ ƒ } d } t j t d | ƒ | j | d d ƒWd  QXd  S(   Ni
   s9   method must be either 'pearson', 'spearman', or 'kendall'RN   R¥   t   ____(	   Rm   R	   RA   RO   t   randnRR   RS   Rˆ   R™   (   R+   t   s1t   s2RY   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_corr_invalid_methodw  s
    c         C   sT  d „  } t  d d d d d g ƒ } t  d d d d d g ƒ } d } t j | j | d | ƒ| ƒ t j | j | d | ƒd	 ƒ t j | d
  j | d d | ƒd	 ƒ t j | d  d  d … j | d d  d … d | ƒƒ sè t ‚ t j | | g ƒ } t j i d	 d 6d d 6i d d 6d	 d 6g ƒ } t j | j	 ƒ  j d | ƒ | ƒ d  S(   Nc         S   s   |  | k j  ƒ  r d Sd S(   Ng      ð?g        (   t   all(   R"   R#   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   <lambda>ƒ  s    i   i   i   i   i   i    R¥   g      ð?i   (
   R	   R(   R   R™   RA   R›   RC   Rm   R   t	   transpose(   R+   RE   t   my_corrR²   R³   R.   t   df(    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_corr_callable_method€  s$    	%+c         C   s<  t  j | j | ƒ | j ƒ  d ƒ t  j | d  j | d ƒ | d d !j ƒ  d ƒ t j | d  d  d … j | d d  d … ƒ ƒ s t ‚ | d  j ƒ  } t j | (t	 | j | ƒ ƒ sÂ t ‚ t	 | d  j | d d d ƒƒ së t ‚ | d  j
 | j ƒ } | d j
 | j ƒ } t	 | j | d d ƒƒ s8t ‚ d  S(   Ni   i   i   i   i
   R–   i   (   R(   R   t   covR   RA   R›   RC   Rc   R   R   Rš   R   (   R+   RE   R    Rž   RŸ   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_cov   s    8
c         C   s#  | j  ƒ  t | ƒ k s t ‚ t j | d  d  d … <| j  ƒ  t j | ƒ j ƒ  k s[ t ‚ t j t	 d ƒ d d d t
 d d g g ƒ } t t j t | ƒ ƒ d | ƒ} | j  d d ƒ } t d d d g d d d t
 g ƒ} t | | ƒ t
 | j d d d g <t | j  d d ƒ | d ƒ d  S(	   Ni   t   aabbcci   R   t   leveli   i    i   (   R   t   lenRC   RA   Rd   t   isfinitet   sumR   t   from_arraysR   R   R	   Ru   R   t   iloc(   R+   RE   t   miRf   t   leftt   right(    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt
   test_count¹  s    '-!$c      	   C   sâ  t  t j j d ƒ d d d d d g ƒ} t t j j d d ƒ d d d	 d
 g d d d d d g ƒj } | j | ƒ } t  t j | j | j ƒ d d d	 d
 g ƒ} t | | ƒ | j	 d t
 | j ƒ ƒ } | j | ƒ } t | | ƒ | j | j ƒ } t j | | j k ƒ st ‚ t | j | d	 j ƒ | d	 ƒ t | j | d ƒ | d ƒ t | j | d ƒ | d ƒ d } t j t d | ƒ | j | j d  ƒ Wd  QXd } t j t d | ƒ | j | j ƒ Wd  QXd  S(   Ni   R   t   pt   qRw   R,   i   t   1t   2t   3t   columnss0   Dot product shape mismatch, \(4L?,\) vs \(3L?,\)RN   s   matrices are not aligned(   R	   RA   RO   R±   R   t   Tt   dotRQ   R   Rš   t   reversedR   Rµ   RC   R   RR   RS   t	   ExceptionRˆ   (   R+   R"   R#   R-   R.   t   b2RY   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_dotÊ  s(    *'-!t   reasons    matmul supported for Python>=3.5c      	   C   sy  t  t j j d ƒ d d d d d g ƒ} t t j j d d ƒ d d d	 d
 g d d d d d g ƒj } t j | | ƒ } t  t j | j	 | j	 ƒ d d d	 d
 g ƒ} t
 | | ƒ t j | j | ƒ } t  t j | j j	 | j j	 ƒ d d d	 d
 g ƒ} t
 | | ƒ t j | | ƒ } t j | j	 | j	 ƒ } t | | ƒ t j | j	 | ƒ } t j | j	 | j	 ƒ } t | | ƒ t j | j	 j ƒ  | ƒ } t j | j	 | j	 ƒ } t | | ƒ t j | j j	 | ƒ } t j | j j	 | j	 ƒ } t | | ƒ t j | j j	 j ƒ  | ƒ } t j | j j	 | j	 ƒ } t | | ƒ t | j ƒ | d <t j | j | ƒ } t  t j | j j	 | j j	 ƒ d d d	 d
 g ƒ} t
 | | ƒ | j t ƒ } t j | j | ƒ } t  t j | j j	 | j j	 ƒ d d d	 d
 g ƒ} t
 | | ƒ d } t j t d | ƒ | j | j	 d  ƒ Wd  QXd } t j t d | ƒ | j | j ƒ Wd  QXd  S(   Ni   R   RÈ   RÉ   Rw   R,   i   RÊ   RË   RÌ   RÍ   s,   Dot product shape mismatch, \(4,\) vs \(3,\)RN   s   matrices are not aligned(   R	   RA   RO   R±   R   RÎ   t   operatort   matmulRÏ   RQ   R   R   t   tolistt   intRÈ   t   astypeRR   RS   RÑ   Rˆ   (   R+   R"   R#   R-   R.   RY   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_matmulé  sR    *'-!!!c         C   s  | j  ƒ  } t j t ƒ & | j | ƒ j ƒ  | k s= t ‚ Wd  QXt j t ƒ & | j | ƒ j ƒ  | k st t ‚ Wd  QX| j	 d | ƒ j ƒ  | k sž t ‚ | j	 d | ƒ j ƒ  | k sÂ t ‚ | j	 d d ƒ } t
 j	 | d d ƒ } t | | ƒ t | t ƒ st ‚ d  S(   Nt   lowert   upperg      à¿g      à?(   t   medianR(   R   R‚   t
   clip_lowerR   RC   t
   clip_upperR   t   clipRA   R   R”   R	   (   R+   RE   t   valR-   R.   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt	   test_clip/  s    ''$$c         C   s[  t  t j d d d g ƒ t  d  d d d g ƒ t  t j t j d d d	 g d
 d ƒƒ g } xú | D]ò } | d } t j t ƒ  | j	 | ƒ } Wd  QXt j t ƒ  | j
 | ƒ } Wd  QX| t | ƒ j ƒ  | k sÝ t ‚ | t | ƒ j ƒ  | k sÿ t ‚ t t | ƒ ƒ t t | ƒ ƒ k s)t ‚ t t | ƒ ƒ t t | ƒ ƒ k sa t ‚ qa Wd  S(   Ng      ð?g       @g      @R"   R#   R$   i   i   i   t   unitt   D(   R	   RA   R   t   NoneRm   Rn   R(   R   R‚   RÞ   Rß   R   R   RC   R   R   R   (   R+   t   sersR,   t   threshRÛ   RÜ   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_clip_types_and_nulls?  s    -	$
""*c         C   sã   t  d d d g ƒ } t | j t j ƒ t  d d d g ƒ ƒ t | j d t j d t j ƒ t  d d d g ƒ ƒ t | j d d d t j g ƒ t  d d t j g ƒ ƒ t | j d d t j d g ƒ t  d t j d g ƒ ƒ d S(	   s'   Should process np.nan argument as None i   i   i   RÜ   RÛ   i    i   N(   R	   R   Rà   RA   R   (   R+   R,   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_clip_with_na_argsP  s    (c         C   s  t  d d d g ƒ } t  d d d g ƒ } t j t ƒ * t | j | ƒ t  d d d g ƒ ƒ Wd  QXt j t ƒ * t | j | ƒ t  d d d g ƒ ƒ Wd  QXt  d d d g ƒ } t  d d d g ƒ } t | j | | ƒ t  d d d g ƒ ƒ t | j d | ƒ t  d d d g ƒ ƒ d  S(   Ng      ð?g      @g       @g      @g      ø?g      @g      @(   R	   R(   R   R‚   R   RÞ   Rß   Rà   (   R+   R,   t	   thresholdRÛ   RÜ   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_clip_against_series_  s    (t   inplaceRÜ   i   i   i   c         C   sq   t  j d d d g ƒ } | j d | d | ƒ } t  j d d d g ƒ } | rW | } n  t j | | d	 t ƒd  S(
   Ni   i   i   RÜ   Rì   i   i   i   t   check_exact(   Rm   R	   Rà   R(   R   R)   (   R+   Rì   RÜ   t   originalR-   R.   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_clip_against_list_liker  s    	c         C   sð   t  d ƒ } t t  d ƒ t  d ƒ g ƒ } | j d | ƒ } t t  d ƒ t  d ƒ g ƒ } t | | ƒ t  d d d ƒ} t t  d d d ƒt  d d d ƒg ƒ } | j d | ƒ } t t  d d d ƒt  d d d ƒg ƒ } t | | ƒ d  S(   Ns   2015-12-01 09:30:30s   2015-12-01 09:30:00s   2015-12-01 09:31:00RÜ   R0   s
   US/Eastern(   R   R	   Rà   R   (   R+   t   tR,   R-   R.   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_clip_with_datetimes~  s    c         C   sÓ  t  j t t t t t t t g ƒ } | } t  j t g t | ƒ ƒ } | } i t j d 6t j d 6t j j	 d 6t j
 j	 d 6} t | | | | f | ƒ } xL | D]D \ } } t | | | j ƒ ƒ }	 t | | ƒ ƒ  }
 t |
 |	 ƒ q¤ Wt  j t t t t g ƒ } t  j d d t d g d t ƒ} t  j t d t d g ƒ } t  j t t t t g ƒ } t  j t t t t g ƒ } i | d 6| d 6| d 6| d 6} x1 | D]) } t | | ƒ ƒ  } t | | | ƒ q¢Wd  S(   NR[   R]   R_   Rh   i    i   R<   (   Rm   R	   R*   R)   R¿   RA   R[   R]   R`   Ra   Ri   R   RQ   Ry   R   R   t   object(   R+   R"   R#   R$   R%   t   methodst   argsR,   R¥   R.   R-   t   et   cset   cpet   cmint   cmaxt	   expectedst   res(    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_cummethods_bool“  s2    $
!

c         C   sÖ   t  d d d d d d d d g ƒ } | j d d g ƒ } t  t t t t t t t t g ƒ } t | | ƒ t  t d d ƒ ƒ } d d d	 d
 d d d d d d d d d g d } | j | ƒ j ƒ  d k sÒ t ‚ d  S(   NR¡   R¢   t   CR"   t   abcdefghijki
   i   iÿÿÿÿR#   t   Gt   Yt   Zt   Et   Kt   St   It   Ri   i@ i † (   R	   t   isinR)   R*   R   R   RÁ   RC   (   R+   R,   R-   R.   t   in_list(    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt	   test_isin²  s    $$c      	   C   s•   t  d d d d d d d d g ƒ } d } t j t d | ƒ | j d ƒ Wd  QXt  d d d	 g ƒ } t j t d | ƒ | j d ƒ Wd  QXd  S(
   NR¡   R¢   Rý   R"   sQ   only list-like objects are allowed to be passed to isin\(\), you passed a \[str\]RN   t   aaaR#   R$   (   R	   RR   RS   t	   TypeErrorR  (   R+   R,   RY   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_isin_with_string_scalarÅ  s    $c         C   sƒ  t  t t t t t g ƒ } t  t t t t t g ƒ } t  t d d ƒ ƒ } | j | d d !ƒ } t | | ƒ | j | d d !j ƒ } t | | ƒ | j | d d !j j d ƒ ƒ } t | | ƒ | j | d g ƒ } t | | ƒ | j t j	 | d ƒ g ƒ } t | | ƒ | j t
 | d d !ƒ ƒ } t | | ƒ t  t j t d ƒ d d	 ƒƒ } | j | d d !ƒ } t | | ƒ d  S(
   Ns   jan-01-2013s   jan-05-2013i    i   s   datetime64[D]i   i   Rã   R%   (   R	   R)   R*   R   R  R   RQ   RÙ   RA   t
   datetime64t   setRm   Rq   R   (   R+   R.   t	   expected2R,   R-   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_isin_with_i8Ñ  s$    "!t   emptyc         C   sG   t  d d g ƒ } t  t t g ƒ } | j | ƒ } t j | | ƒ d  S(   NR"   R#   (   R	   R*   R  R(   R   (   R+   R  R,   R.   R-   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_isin_emptyò  s    c         C   sø  d } t  j j | ƒ } t | ƒ } t j t d t ƒ) t  j | ƒ t  j | ƒ k s^ t	 ‚ Wd  QXt d d t  j
 d d g ƒ } t j t d t ƒ> | j ƒ  d k s° t	 ‚ t j | j d t ƒ ƒ sÑ t	 ‚ Wd  QXt j j d	 d
 g d d d g g ƒ } t j d t  j
 d d d t  j
 g d | ƒ} t j d d g d d	 d
 g d t  j ƒ} t j t d t ƒ! t j | j d d ƒ | ƒ Wd  QXt j t  j
 t  j
 g d d	 d
 g ƒ} t j t d t ƒ' t j | j d d d t ƒ | ƒ Wd  QXd } t j t d | ƒ1 t j t d t ƒ | j d d ƒ Wd  QXWd  QXt j d	 d
 d d d g ƒ } d } t j t d | ƒ+ t j t d t ƒ | j ƒ  Wd  QXWd  QXd } t j t d | ƒ1 t j t d t ƒ | j d t ƒ Wd  QXWd  QXd  S(   Niè  R…   i   i   iýÿÿÿi
   i   Rl   R"   R#   i   i   i   R   i   R<   R¾   i    s5   No axis named 1 for object type <(class|type) 'type'>RN   R†   R$   R%   Rõ   s4   unsupported operand type\(s\) for -: 'str' and 'str's-   Series\.ptp does not implement numeric_only\.t   numeric_only(   RA   RO   R±   R	   R(   R   R‚   R*   t   ptpRC   R   Rm   R   R   t   from_productt   float64R   RR   RS   Rˆ   R  t   NotImplementedErrorR)   (   R+   t   Nt   arrt   serR,   RÄ   R.   RY   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_ptpû  sB    *''-*"'(


c         C   sÌ   t  t j j d ƒ d d d d g ƒ} | j d ƒ } t  | j j d ƒ d | j j j d ƒ ƒ} t | | ƒ d d d g } | j | ƒ } t  | j j | ƒ d | j j j | ƒ ƒ} t | | ƒ d  S(	   Ni   R   R"   R#   R$   i   i   i   (   R	   RA   RO   R±   t   repeatRQ   R   R   (   R+   R,   t   repst   expt   to_rep(    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_repeat'  s    '-c      	   C   s£   t  t j d ƒ d d ƒ} t  | j j d ƒ d d d | j j j d ƒ ƒ} t t j | d ƒ | ƒ d } t j t	 d | ƒ t j | d d d	 ƒWd  QXd  S(
   Ni   R   t   xi   R   s%   the 'axis' parameter is not supportedRN   R†   i    (
   R	   RA   Ru   RQ   R  R   R   RR   RS   Rˆ   (   R+   R,   R.   RY   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_numpy_repeat4  s    c         C   s‹   t  d d d g ƒ } | j d d d ƒ} t | ƒ s< t ‚ | d k sN t ‚ | j d d d ƒ} t | ƒ su t ‚ | d k s‡ t ‚ d  S(   Ni   i   i   t   sideRÅ   i    RÆ   (   R	   t   searchsortedR   RC   (   R+   R,   R-   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_searchsorted>  s    c         C   s   t  d d d d d g ƒ } | j d ƒ } t | ƒ s< t ‚ | d k sN t ‚ | j d g ƒ } t j d g d t j ƒ} t j | | ƒ d  S(   Ni   i   iZ   iè  g   ÀZæAi   R<   (	   R	   R$  R   RC   RA   Rb   t   intpR(   RT   (   R+   R,   Rw   Rõ   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt'   test_searchsorted_numeric_dtypes_scalarI  s    c         C   sb   t  d d d d d g ƒ } | j d d g ƒ } t j d d	 g d
 t j ƒ} t j | | ƒ d  S(   Ni   i   iZ   iè  g   ÀZæAi[   g    €„>Ai   i   R<   (   R	   R$  RA   Rb   R&  R(   RT   (   R+   R,   Rw   Rõ   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt'   test_searchsorted_numeric_dtypes_vectorS  s    c         C   sg   t  t j d d d d d ƒƒ } t j d ƒ } | j | ƒ } t | ƒ sQ t ‚ | d k sc t ‚ d  S(   Nt   20120101t   periodsi
   R!   t   2Dt   20120102i   (   R	   Rm   R   R   R$  R   RC   (   R+   R,   t   vRw   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt$   test_search_sorted_datetime64_scalarY  s
    !c         C   s€   t  t j d d d d d ƒƒ } t j d ƒ t j d ƒ g } | j | ƒ } t j d d	 g d
 t j ƒ} t j	 | | ƒ d  S(   NR)  R*  i
   R!   R+  R,  t   20120104i   i   R<   (
   R	   Rm   R   R   R$  RA   Rb   R&  R(   RT   (   R+   R,   R-  Rw   Rõ   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt"   test_search_sorted_datetime64_list`  s
    !c         C   sk   t  d d d g ƒ } | j d d g d t j | ƒ ƒ} t j d d g d t j ƒ} t j | | ƒ d  S(   Ni   i   i   i    t   sorterR<   (   R	   R$  RA   R:   Rb   R&  R(   RT   (   R+   R,   Rw   Rõ   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_searchsorted_sorterg  s    $c         C   s1  t  t j j d d d d ƒƒ } | j s1 t ‚ t  t j d ƒ ƒ } | j t k s[ t ‚ | j t k sp t ‚ t  t j d d d ƒ ƒ } | j	 t k s  t ‚ t  t
 j d d d ƒƒ } | j t k sÐ t ‚ | j t k så t ‚ t  t t | j ƒ  ƒ ƒ ƒ } | j t k st ‚ | j	 t k s-t ‚ d  S(   Ni    i
   RJ   iè  iÿÿÿÿt   20130101R*  (   R	   RA   RO   RP   t   is_monotonicRC   Ru   R)   t   is_monotonic_increasingt   is_monotonic_decreasingRm   R   R   RÐ   R×   R*   (   R+   R,   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_is_monotonicn  s    !c         C   só   t  j d d d g d d d g g d t d ƒ ƒ} t d d g | ƒ } | j d d g } | j d d ƒ } t | | ƒ | j d d d	 g ƒ } t | | ƒ | j d d d
 t ƒ } t | | ƒ | j d d d	 g d
 t ƒ } t | | ƒ d  S(   Ni   i   t   namest   ABCi   i    R¾   R¡   R¢   t   sort_remaining(   R   t   from_tuplesR   R	   RÃ   t
   sort_indexR   R*   (   R+   RÄ   R,   t	   backwardsRû   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_sort_index_level  s    3c         C   s.  t  j t d ƒ d t d ƒ d t ƒ} t  j | d d d t d ƒ ƒ} | j d	 „  ƒ } t  j t d
 ƒ d t d ƒ d t ƒ} t  j | d d d t d ƒ ƒ} t j | | ƒ t j | j	 | j	 ƒ | j d „  ƒ } t  j d g d d d d t d ƒ ƒ} t j | | ƒ | j
 t j k s*t ‚ d  S(   Nt   ABBABCDt
   categoriest   DCBAt   orderedR   t   XXR   t   abcdefgc         S   s
   |  j  ƒ  S(   N(   RÛ   (   R!  (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyR¶   ”  s    t   abbabcdt   dcbac         S   s   d S(   NR¡   (    (   R!  (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyR¶   ž  s    R¡   i   (   Rm   R   R   R)   R	   t   applyR(   R   t   assert_categorical_equalRQ   R<   RA   Rò   RC   (   R+   RQ   R,   R-   R  (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_apply_categorical  s    	!	!(c         C   sG   | j  t ƒ } | j d ƒ } | j  t ƒ j d ƒ } t | | ƒ d  S(   Ni   (   RÙ   RØ   RD   t   floatR   (   R+   RE   Rf   RH   R.   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_shift_int£  s    c         C   so  t  j d d d d g d d ƒ} t | j d  | j d ƒ j d ƒ j ƒ  ƒ | j d ƒ } t | j | j ƒ t j	 | j
 j d  d k ƒ s” t ‚ t j	 | j
 j d  | j
 j d k ƒ sÃ t ‚ | j d	 ƒ } t | j | j ƒ t j	 | j
 j d	 d k ƒ s
t ‚ t j	 | j
 j d
 | j
 j d	  k ƒ s9t ‚ t | j
 j | j
 j ƒ t | j
 j | j
 j ƒ d  S(   NR"   R#   R$   R%   R<   t   categoryiÿÿÿÿi   iþÿÿÿi   (   Rm   R	   R   RÃ   RD   Re   R   R   RA   Rµ   RQ   t   codesRC   R@  (   R+   R,   t   sp1t   sn2(    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_shift_categorical©  s    !,%/%/c         C   sž  d d l  m } t d d d g d d d g g d	 d
 d
 d d g d d
 d d g g ƒ } t t j d ƒ d | ƒ} | j ƒ  } t d | d g d d | g g d d d g d d d d g ƒ} t | | ƒ | j d d ƒ } t | | j	 ƒ t d d g d d d g d d
 g g d	 d d d d d d g d d
 d d d
 d g d d
 d d
 d d
 g g ƒ } t t j
 j d ƒ d | ƒ} t d d d d g d d
 g g d	 d d
 d d d
 d g d d
 d d
 d d
 g g ƒ } t i | j d 6d | ƒj d d ƒ } | j d ƒ j ƒ  } t | | ƒ t j j d d g d t j g g ƒ } t j d
 d g d | ƒ} | j ƒ  }	 t | d
 g d | g g d d d g d | d g ƒ}
 t |	 |
 ƒ t j j d d d d d g d d d d d g d
 d d
 d
 t j g g ƒ } t j d d d d d  g d | ƒ} t d d g d | g | d  g d | g g d d d g ƒ}
 d! d" d | f d# g } t j j | ƒ |
 _ t | j d d ƒ |
 ƒ d  S($   Niÿÿÿÿ(   R   t   levelst   barR}   t   onet   threet   twoRM  i   i    i   g      @R   g       @g      @g        g      ð?RÍ   R¾   i   ie   if   g      @t   catt   dogR"   R#   gš™™™™™ñ?g333333ó?gÍÌÌÌÌÌô?gffffffö?(   R"   i   (   R"   i   (   R#   i   (   t   numpyR   R   R	   RA   Ru   t   unstackR   R   RÎ   RO   R±   RQ   R<  Rm   RÂ   R;  R   (   R+   R   R   R,   t	   unstackedR.   t	   exp_indext   idxRf   RÅ   RÆ   t   tpls(    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_unstack¼  sH    !'!'*!3''$-c         C   sM  t  j d ƒ t  j d ƒ t  j d ƒ t  j d ƒ t  j d ƒ t  j d ƒ g } t  j d d d g ƒ } t  j d d d g d | d d	 ƒ} t  j | d d	 ƒ} t j | j ƒ  | ƒ t  j | d d	 ƒ} t j | j ƒ  | ƒ t  j t j d
 d d g ƒ d d | d d	 ƒ} t j | j d t	 ƒ | ƒ t j | j d t	 ƒ | ƒ d  S(   Ns   2011-01-01 09:00s   2011-01-01 10:00s   2011-01-01 11:00i   i   i   R   R   t   xxxg      @g       @g      @t	   normalize(
   Rm   R   t   DatetimeIndexR	   R(   R   R4   RA   Rb   R)   (   R+   RQ   t   exp_idxR  R,   R\  (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_value_counts_datetimeë  s"    $"c      	   C   sw  t  j d d d ƒt  j d d d ƒt  j d d d ƒt  j d d d ƒt  j d d d ƒt  j d d d ƒg } t  j d d d g d d ƒ} t  j d d d g d	 | d
 d ƒ} t  j | d
 d ƒ} t j | j ƒ  | ƒ t  j | d
 d ƒ} t j | j ƒ  | ƒ t  j t j d d d g ƒ d d	 | d
 d ƒ} t j | j d t	 ƒ | ƒ t j | j d t	 ƒ | ƒ d  S(   Ns   2011-01-01 09:00R0   s
   US/Easterns   2011-01-01 10:00s   2011-01-01 11:00i   i   i   R   R   R_  g      @g       @g      @R`  (
   Rm   R   Ra  R	   R(   R   R4   RA   Rb   R)   (   R+   RQ   Rb  R  R,   R\  (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_value_counts_datetime_tz  s"    $"c      	   C   sw  t  j d d d ƒt  j d d d ƒt  j d d d ƒt  j d d d ƒt  j d d d ƒt  j d d d ƒg } t  j d d d g d d ƒ} t  j d d d g d	 | d
 d ƒ} t  j | d
 d ƒ} t j | j ƒ  | ƒ t  j | d
 d ƒ} t j | j ƒ  | ƒ t  j t j d d d g ƒ d d	 | d
 d ƒ} t j | j d t	 ƒ | ƒ t j | j d t	 ƒ | ƒ d  S(   Ns   2011-01R!   t   Ms   2011-02s   2011-03i   i   i   R   R   R_  g      @g       @g      @R`  (
   Rm   t   Periodt   PeriodIndexR	   R(   R   R4   RA   Rb   R)   (   R+   RQ   Rb  R  R,   R\  (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_value_counts_period  s     $"c         C   s;  t  j d d d d d d g d t ƒ} t  j d d d g d d d d g d t ƒ} t  j d d d g d | d d ƒ} t  j | d d ƒ} t j | j ƒ  | ƒ t  j | d d ƒ} t j | j ƒ  | ƒ t  j t j	 d	 d
 d g ƒ d d | d d ƒ} t j | j d t ƒ | ƒ t j | j d t ƒ | ƒ d  S(   Ni   i   i   RB  R@  R   R   R_  g      @g       @g      @R`  (
   Rm   R   R)   R   R	   R(   R   R4   RA   Rb   (   R+   RQ   Rb  R  R,   R\  (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt%   test_value_counts_categorical_ordered1  s    '$	$"c         C   s;  t  j d d d d d d g d t ƒ} t  j d d d g d d d d g d t ƒ} t  j d d d g d | d d ƒ} t  j | d d ƒ} t j | j ƒ  | ƒ t  j | d d ƒ} t j | j ƒ  | ƒ t  j t j	 d	 d
 d g ƒ d d | d d ƒ} t j | j d t
 ƒ | ƒ t j | j d t
 ƒ | ƒ d  S(   Ni   i   i   RB  R@  R   R   R_  g      @g       @g      @R`  (   Rm   R   R*   R   R	   R(   R   R4   RA   Rb   R)   (   R+   RQ   Rb  R  R,   R\  (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt)   test_value_counts_categorical_not_orderedE  s    '$	$"R{   t   kwargst   keepdimsR‡   c         C   ss   t  j d d g ƒ } t | ƒ d } | j } d j d | d | ƒ } t j t d | ƒ | | |  Wd  QXd  S(   Ni   i   i    sR   the '{arg}' parameter is not supported in the pandas implementation of {fname}\(\)t   argt   fnameRN   (   Rm   R	   R   t   __name__R¬   RR   RS   Rˆ   (   R+   Rk  R{   R,   t   paramR   RY   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt)   test_validate_any_all_out_keepdims_raisesX  s    		c         C   sN   t  j d d g ƒ } d } t j t d | ƒ t j | d d ƒWd  QXd  S(   Ni   i   sP   the 'initial' parameter is not supported in the pandas implementation of sum\(\)RN   t   initiali
   (   Rm   R	   RR   RS   Rˆ   RA   RÁ   (   R+   R,   RY   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_validate_sum_initiali  s    c         C   sK   t  j d d g ƒ } d } t j t d | ƒ | j d t ƒ Wd  QXd  S(   Ni   i   s[   the 'overwrite_input' parameter is not supported in the pandas implementation of median\(\)RN   t   overwrite_input(   Rm   R	   RR   RS   Rˆ   RÝ   R)   (   R+   R,   RY   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_validate_median_initialr  s    c         C   sN   t  j d d g ƒ } d } t j t d | ƒ t j | d t ƒWd  QXd  S(   Ni   i   sQ   the 'keepdims' parameter is not supported in the pandas implementation of sum\(\)RN   Rl  (   Rm   R	   RR   RS   Rˆ   RA   RÁ   R)   (   R+   R,   RY   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_validate_stat_keepdims|  s    (S   Ro  t
   __module__R/   R9   RI   RZ   R\   R^   Rg   Rj   Ro   Rp   Rr   Rs   Rx   R)   R>   R„   R‰   RŒ   RŽ   R’   R•   t   tdt   skip_if_no_scipyR¤   R¯   R´   Rº   R¼   RÇ   RÓ   RR   t   markt   skipifR   RÚ   Râ   Rè   Ré   Rë   t   parametrizeR*   RA   t   asarrayRï   Rñ   Rü   R	  R  R  R	   Rb   R  R  R   R"  R%  R'  R(  R.  R0  R2  R7  R>  RI  RK  RP  R^  Rc  Rd  Rh  Ri  Rj  t   anyRµ   t   dictRò   t   skip_if_np_lt_115Rq  Rs  Ru  Rv  (    (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyR      sŠ   													
	
					 "			 			E				B					!3		,		
		
										/							
t   datetimet
   datetimetzt	   timedeltat   int8t   int16t   int32R=   t   float32R  t   uint8t   uint16t   uint32t   uint64c       
   C   sÍ   t  j i t  j d d d d d g ƒ d 6t  j d d d d d g ƒ j d ƒ d 6t  j d d	 d
 d	 d g ƒ d 6ƒ }  xQ d d d d d d d d d d g
 D]+ } t d d d d d g d | ƒ|  | <qš W|  S(   sª   A DataFrame with many dtypes

    * datetime
    * datetimetz
    * timedelta
    * [u]int{8,16,32,64}
    * float{32,64}

    The columns are the name of the dtype.
    t   2003t   2002t   2001t   2005R  s
   US/EasternR‚  t   3dt   2dt   1dt   5dRƒ  R„  R…  R†  R=   R‡  R  Rˆ  R‰  RŠ  R‹  i   i   i   i   R<   (   Rm   R   Rn   R5   Rq   R	   (   R¹   R<   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   s_main_dtypes—  s    )t   paramsc         C   s   | |  j  S(   s   Each series in s_main_dtypes.(   Rp  (   t   requestR”  (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   s_main_dtypes_split¶  s    c         C   sr   t  |  d | ƒ} t | | ƒ d ƒ } | d k rB d d d g n d d d g } | j | } t j | | ƒ d  S(   NR<   i   t	   nsmallesti    i   i   (   R	   Ry   t   locR(   R   (   t   valsR<   R¥   R,   R-   t   expected_idxrR.   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   assert_check_nselect_boundary¼  s
    *t   TestNLargestNSmallestc        
   B   s  e  Z e j j d  e d d d d d g d d ƒe d d d d d g d d ƒe d d d d d g d d ƒe e d	 ƒ ƒ e e d	 ƒ d d
 ƒg ƒ d „  ƒ Z d „  Z d „  Z	 e j j d e
 d d ƒ ƒ d „  ƒ Z d „  Z d „  Z e j j d d d g ƒ d „  ƒ Z d „  Z RS(   Rw   g      @i   i   t   5R<   Rò   i   t
   complex128R|   RL  c         C   s   | j  } d j d | ƒ } d t | ƒ d d f } | j | j f } xC t | | ƒ D]2 \ } } t j t d | ƒ | | ƒ Wd  QXqU Wd  S(   Ns4   Cannot use method 'n(larg|small)est' with dtype {dt}t   dti   i    iÿÿÿÿRN   (	   R<   R¬   R¿   t   nlargestR˜  R   RR   RS   R  (   R+   Rw   R   RY   Rô   Ró   R¥   Rm  (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt
   test_errorÇ  s    				c         C   sn  | } t  | j d ƒ | j d d g ƒ t  | j d d d ƒ| j d d g ƒ | j d d !} t  | j d ƒ | ƒ t  | j d ƒ | ƒ t  | j d ƒ | ƒ t  | j d ƒ | ƒ t  | j t | ƒ ƒ | j ƒ  ƒ t  | j t | ƒ d ƒ | j ƒ  ƒ t  | j t | ƒ ƒ | j d d d d d g ƒ t  | j t | ƒ d ƒ | j d d d d d g ƒ d  S(	   Ni   i   t   keepR2   i   i    iÿÿÿÿi   (   R   R˜  RÃ   R¡  R¿   t   sort_values(   R+   R—  R,   R  (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_nsmallest_nlargestÙ  s    #)"&2c      
   C   s´  t  d t j d d d g ƒ } t | j ƒ  | j d d d d g ƒ t | j ƒ  | j d d d d g ƒ d } t j t	 d	 | ƒ | j d
 d ƒ Wd  QXt j t	 d	 | ƒ | j d
 d ƒ Wd  QXt  d g d d d d d d d g ƒ} t  d g d d d d d g ƒ} t  d g d d d d d g ƒ} | j d ƒ } t | | ƒ | j d d
 d ƒ} t | | ƒ | j d ƒ } t | | ƒ | j d d
 d ƒ} t | | ƒ d  S(   Ng      @i   i   i   i   i    i   s#   keep must be either "first", "last"RN   R£  t   invalidR   R2   (
   R	   RA   R   R   R¡  RÃ   R˜  RR   RS   Rˆ   (   R+   R,   RY   t   expected_firstt   expected_lastR-   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt	   test_miscí  s&    &&(""t   nc         C   s–   t  d d d d g d d d d d g ƒ} | j | ƒ } | j d t ƒ j | ƒ } t | | ƒ | j | ƒ } | j ƒ  j | ƒ } t | | ƒ d  S(   Ni   i   i   i   R   i    t	   ascending(   R	   R¡  R¤  R*   t   headR   R˜  (   R+   Rª  R,   R-   R.   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_n
  s    *c         C   sP   t  j | ƒ } | j | j } } | | d | d | g } t | | | ƒ d  S(   Ni   (   RA   t   iinfoR   R   Rœ  (   R+   t   nselect_methodt   any_int_dtypet
   dtype_infot   min_valt   max_valRš  (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_boundary_integer  s    c   	      C   sl   t  j | ƒ } | j | j } } t  j | | g d d | ƒ\ } } | | | | g } t | | | ƒ d  S(   Ni    R<   (   RA   t   finfoR   R   t	   nextafterRœ  (	   R+   R¯  t   float_dtypeR±  R²  R³  t   min_2ndt   max_2ndRš  (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_boundary_float  s    s   datetime64[ns]s   timedelta64[ns]c         C   sW   t  j d ƒ } | j | j } } | d | d | d | | g } t | | | ƒ d  S(   NR=   i   i   (   RA   R®  R   R   Rœ  (   R+   R¯  R<   R±  R²  R³  Rš  (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_boundary_datetimelike'  s    !c      	   C   s½   t  d d d d d d d d g ƒ } | j d d d ƒ} t  d d d d d d d g ƒ } t | | ƒ | j d	 d d ƒ} t  d d d d d g d
 d d d d d g ƒ} t | | ƒ d  S(   Ni
   i	   i   i   i   i   R£  Rµ   i   R   i   i   (   R	   R¡  R   R˜  (   R+   R,   R-   R.   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_duplicate_keep_all_ties1  s    $!0(   Ro  Rw  RR   Rz  R|  R	   R   R¢  R¥  R©  R   R­  R´  Rº  R»  R¼  (    (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyR  Å  s   	!'		'			$
t   TestCategoricalSeriesAnalyticsc           B   s°   e  Z d  „  Z d „  Z d „  Z e j j d d d d d d e j d	 d
 e j j	 d d ƒ ƒg ƒ e j j d e
 e g ƒ d „  ƒ ƒ Z e j j d e
 e g ƒ d „  ƒ Z RS(   c      	   C   sa   t  t t j d d t j g d d d d d d g d t ƒƒ } | j ƒ  } | d k s] t ‚ d  S(   Ni   i   R@  i   i   i   RB  (   R	   R   RA   R   R)   R   RC   (   R+   R,   R-   (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyRÇ   ?  s    !c         C   s`  t  t d ƒ d t d ƒ ƒ} t | d d ƒ} | j d t ƒ } t t d ƒ d | j ƒ} t d d d	 d
 g d d d | ƒ} t j | | ƒ | j d t	 ƒ } t t d ƒ d | j ƒ} t d d	 d d
 g d d d | ƒ} t j | | ƒ t d d d d d d g d d ƒ} | j ƒ  } t d d	 d g d d d d d d g ƒ} t j | | ƒ d  S(   Nt   abcccbR@  t   cabdR   R_  t   sorti   i   i   i    R   t   cbadR"   R#   R$   (
   R   R   R	   R4   R*   R   R@  R(   R   R)   (   R+   t   catsR,   Rû   R[  R  (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_value_countsF  s    $$$*c      	   C   sÖ  t  d d d g d d ƒ} t  d d g d t d d g ƒ ƒ} | j d t ƒ } t j | | ƒ | j d t ƒ } t j | | ƒ t  d d d  d d  d  g d d ƒt  t d d d  d d  d  g d	 d d g ƒƒ g } xø | D]ð } t  d d g d t d d g ƒ ƒ} | j d t ƒ } t j | | ƒ t  d
 d d g d t t j	 d d g ƒ ƒ} | j d t
 ƒ } t j | | ƒ t  d d d
 g d t d d t j	 g ƒ ƒ} | j d t
 d t
 ƒ } t j | | ƒ qÞ Wd  S(   NR"   R#   R<   RL  i   i   R   Re   R@  i   RÀ  (   R	   R   R4   R)   R(   R   Rå   R   RA   R   R*   (   R+   R,   R  Rû   t   series(    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   test_value_counts_with_nan]  s&    $!$--R<   t   int_t   uintt   float_t   unicode_s   timedelta64[h]s   datetime64[D]t   marksRÔ   s   GH#7996t
   is_orderedc   
      C   s	  t  j d d d d d g d t  j | ƒ ƒ} t  j d d d d g d t  j | ƒ ƒ} t t | d | d | ƒƒ } t t t t t g ƒ } t j | j	 ƒ  | ƒ t j | j
 ƒ  | | ƒ | j ƒ  } | j
 d	 t ƒ t j | | | ƒ t t t t t g ƒ } t j | j	 d
 d ƒ | ƒ t j | j
 d
 d ƒ | | ƒ | j ƒ  } | j
 d
 d d	 t ƒ t j | | | ƒ t t t t t g ƒ } t j | j	 d
 t ƒ | ƒ t j | j
 d
 t ƒ | | ƒ | j ƒ  } | j
 d
 t d	 t ƒ t j | | | ƒ t  j d d d d d d d g d t  j | ƒ ƒ} t t | d | d | ƒƒ }	 t t t t t t t t g ƒ } t j |	 j	 ƒ  | ƒ t j |	 j
 ƒ  |	 | ƒ |	 j ƒ  } | j
 d	 t ƒ t j | |	 | ƒ t t t t t t t t g ƒ } t j |	 j	 d
 d ƒ | ƒ t j |	 j
 d
 d ƒ |	 | ƒ |	 j ƒ  } | j
 d
 d d	 t ƒ t j | |	 | ƒ t t t t t t t t g ƒ } t j |	 j	 d
 t ƒ | ƒ t j |	 j
 d
 t ƒ |	 | ƒ |	 j ƒ  } | j
 d
 t d	 t ƒ t j | |	 | ƒ d  S(   Ni   i   i   i   i   R<   R@  RB  Rì   R£  R2   (   RA   Rb   R<   R	   R   R*   R)   R(   R   t
   duplicatedt   drop_duplicatesRc   (
   R+   R<   RË  t	   cat_arrayt   input1t   tc1R.   t   sct   input2t   tc2(    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt)   test_drop_duplicates_categorical_non_bool‚  sZ    -*!3!!!!c         C   sÆ  t  t t t t t g d t t g d | ƒƒ } t  t t t t g ƒ } t j | j ƒ  | ƒ t j | j ƒ  | | ƒ | j ƒ  } | j d t ƒ t j | | | ƒ t  t t t t g ƒ } t j | j d d ƒ | ƒ t j | j d d ƒ | | ƒ | j ƒ  } | j d d d t ƒ t j | | | ƒ t  t t t t g ƒ } t j | j d t ƒ | ƒ t j | j d t ƒ | | ƒ | j ƒ  } | j d t d t ƒ t j | | | ƒ d  S(   NR@  RB  Rì   R£  R2   (	   R	   R   R)   R*   R(   R   RÌ  RÍ  Rc   (   R+   RË  t   tcR.   RÑ  (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt%   test_drop_duplicates_categorical_boolÃ  s(    !!(   Ro  Rw  RÇ   RÃ  RÅ  RR   Rz  R|  Rp  t   xfailR)   R*   RÔ  RÖ  (    (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyR½  =  s   			%	';(1   t   distutils.versionR    t	   itertoolsR   RÕ   RX  RA   R   RR   t   pandas.compatR   R   R   t   pandas.util._test_decoratorst   utilt   _test_decoratorsRx  t   pandasRm   R   R   R   R	   R
   R   R   R   t   pandas.api.typesR   t   pandas.core.indexR   t   pandas.core.indexes.datetimesR   t   pandas.util.testingt   testingR(   R   R   R   R   Rò   R   t   main_dtypest   fixtureR”  R—  Rœ  R  R½  (    (    (    sA   lib/python2.7/site-packages/pandas/tests/series/test_analytics.pyt   <module>   sJ   :"ÿ ÿ ÿ ÿ o			x