ó
šxŠ\c           @   s`  d  d l  m  Z  m Z d  d l Z d  d l Z d  d l Z d  d l m Z m Z m	 Z	 m
 Z
 m Z m Z 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 „  Z e ƒ  Z d e f d „  ƒ  YZ  d e f d	 „  ƒ  YZ! d
 e f d „  ƒ  YZ" d e f d „  ƒ  YZ# d e f d „  ƒ  YZ$ d e f d „  ƒ  YZ% d S(   iÿÿÿÿ(   t   datetimet	   timedeltaN(   t   Categoricalt	   DataFramet   DatetimeIndext   Indext   NaTt   Periodt   PeriodIndext
   RangeIndext   Seriest	   Timedeltat   TimedeltaIndext	   Timestampt   compatt   isnat   timedelta_ranget   to_timedelta(   t   nanopsc          C   sí   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 ƒj d d ƒ t  j d d d ƒt  j d d d ƒt  j d d d ƒg }  t	 j
 j d ƒ } g  |  D] } t | d | d d ƒ^ q» } |  | } | S(   Ni
   t   namet   at   tzs
   US/Easternt   index(   t   tmt   makeBoolIndext   makeIntIndext   makeFloatIndext   makeDateIndext   tz_localizet   makePeriodIndext   makeStringIndext   makeUnicodeIndext   npt   randomt   randnR
   (   t   indexest   arrt   idxt   seriest   objs(    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   get_objs   s    +
t   TestReductionsc           B   sz   e  Z e j j d  d d g ƒ e j j d e ƒ d „  ƒ ƒ Z d „  Z e j j d d d g d d g g ƒ d	 „  ƒ Z RS(
   t   opnamet   maxt   mint   objc         C   s¾   t  | | ƒ ƒ  } t | t ƒ s9 t  | j | ƒ ƒ  } n* t j d t  | j | ƒ ƒ  d | j ƒ } y | | k sx t ‚ Wn> t	 k
 r¹ | j
 d ƒ j
 d ƒ } | j | k sº t ‚ n Xd  S(   Nt   ordinalt   freqs   M8[ns]t   int64(   t   getattrt
   isinstanceR   t   valuest   pdR   t   _ndarray_valuesR/   t   AssertionErrort	   TypeErrort   astypet   value(   t   selfR*   R-   t   resultt   expected(    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_ops(   s    	c         C   s7  x½d d g D]¯} x¦t  t g D]˜} | t  k r< d | n d | } | t j d g ƒ } t | | ƒ ƒ  d k sy t ‚ | t j g ƒ } t j t | | ƒ ƒ  ƒ s¬ t ‚ t j t | | ƒ d t ƒ ƒ sÓ t ‚ | g  ƒ } t j t | | ƒ ƒ  ƒ s t ‚ t j t | | ƒ d t ƒ ƒ s't ‚ | t j	 t
 d d d	 ƒ g ƒ } t | | ƒ ƒ  t
 d d d	 ƒ k srt ‚ t | | ƒ d t ƒ t j	 k s™t ‚ t | | ƒ ƒ  d	 k s·t ‚ t | | ƒ d t ƒ } | t k rót j | ƒ st ‚ n | d
 k st ‚ | t j	 t
 d d d	 ƒ t j	 g ƒ } t | | ƒ ƒ  sVt t
 d d d	 ƒ ƒ ‚ t | | ƒ d t ƒ t j	 k s}t ‚ t | | ƒ ƒ  d	 k s›t ‚ t | | ƒ d t ƒ } | t k r×t j | ƒ sét ‚ n | d
 k sét ‚ xÌ d d g D]¾ } | g  d | ƒ} t | | ƒ ƒ  t j	 k s/t ‚ t | | ƒ d t ƒ t j	 k sVt ‚ t j t d d ƒ t | | ƒ ƒ  Wd  QXt j t d d ƒ t | | ƒ d t ƒ Wd  QXqöWq  Wq Wt  t j d d d ƒƒ } | j ƒ  d k sót ‚ | j ƒ  d k st ‚ t  t j d	 t j d g ƒ } | j ƒ  d	 k sAt ‚ | j ƒ  d k sYt ‚ | j d t ƒ d
 k swt ‚ | j d t ƒ d
 k s•t ‚ t  t j g ƒ } | j ƒ  d
 k s¿t ‚ | j ƒ  d
 k s×t ‚ | j d t ƒ d
 k sõt ‚ | j d t ƒ d
 k st ‚ t  t j	 t
 d d d	 ƒ t
 d d d ƒ t j	 g ƒ } | j ƒ  d	 k sat ‚ | j ƒ  d k syt ‚ | j d t ƒ d
 k s—t ‚ | j d t ƒ d
 k sµt ‚ t  t j	 g ƒ } | j ƒ  d
 k sßt ‚ | j ƒ  d
 k s÷t ‚ | j d t ƒ d
 k st ‚ | j d t ƒ d
 k s3t ‚ d  S(   NR+   R,   t   argR%   g       @t   skipnaiÛ  i   i   iÿÿÿÿs   M8[ns]s   datetime64[ns, UTC]t   dtypet   matchs   empty sequencei   R0   i    i   i   i   (   R   R
   R    t   nanR1   R6   R4   R   t   FalseR   R    t   isnant   pytestt   raisest
   ValueErrort   aranget   argmint   argmax(   R:   R*   t   klasst   arg_opR-   R;   R@   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_nanops:   sv     !'!'!*''*'!'('s   op, expected_colR   t   bc         C   s‚   t  t j d d d d d ƒd d g ƒ} | j j t j d d	 ƒ ƒ | d
 <t | | ƒ d d ƒ } | | } t j | | ƒ d  S(   Ns   2016-01-01 00:00:00t   periodsi   R   t   UTCt   columnsR   t   secondsi  RN   t   axisi   (	   R   R4   t
   date_rangeR   t   subtractR   R1   R   t   assert_series_equal(   R:   t   opt   expected_colt   dfR;   R<   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_same_tz_min_max_axis_1   s    	"
(	   t   __name__t
   __module__RE   t   markt   parametrizeR'   R=   RM   RZ   (    (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyR)   &   s
   !	St   TestIndexReductionsc        	   B   s³   e  Z e j j d  d d d d d f d d d	 f d  g ƒ d „  ƒ Z d „  Z d „  Z d „  Z d „  Z	 e j j d d d g ƒ d „  ƒ Z
 d „  Z d „  Z d „  Z d „  Z RS(!   s   start,stop,stepi    i  i   iô  iúÿÿÿi
   i   i   iüÿÿÿi   c         C   sû   t  | | | ƒ } | j j ƒ  } | j ƒ  } | | k s? t ‚ | j d t ƒ } | | k sc t ‚ | j j ƒ  } | j ƒ  } | | k s t ‚ | j d t ƒ } | | k s´ t ‚ t  | | | ƒ } t | j ƒ  ƒ sß t ‚ t | j ƒ  ƒ s÷ t ‚ d  S(   NR?   (   R	   t   _int64indexR+   R6   RC   R,   R   (   R:   t   startt   stopt   stepR%   R<   R;   t   result2(    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_max_min_range    s    c         C   sŒ  t  d d d g ƒ } | j s$ t ‚ t  d t j d d g ƒ } | j sO t ‚ x€ | | g D]r } | j ƒ  t d ƒ k s€ t ‚ | j ƒ  t d ƒ k sž t ‚ | j ƒ  d k s¶ t ‚ | j	 ƒ  d k s\ t ‚ q\ Wx³ d d g D]¥ } t  g  ƒ } t
 j t | | ƒ ƒ  ƒ st ‚ t  t
 j g ƒ } t
 j t | | ƒ ƒ  ƒ sEt ‚ t  t
 j t
 j t
 j g ƒ } t
 j t | | ƒ ƒ  ƒ sß t ‚ qß Wd  S(	   Ns   1 dayss   2 dayss   3 daysR   i    i   R,   R+   (   R   t   is_monotonicR6   R    RB   R,   R   R+   RI   RJ   R4   R   R1   R   (   R:   t   idx1t   idx2R%   RW   R-   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_minmax_timedelta64»   s     !!c         C   sY  t  d d d d ƒ} t j | ƒ t d ƒ k s6 t ‚ t j | ƒ t d ƒ k sW t ‚ d } t j t d | ƒ t j | d d ƒWd  QXt j t d | ƒ t j | d d ƒWd  QXt j	 | ƒ d k sÖ t ‚ t j
 | ƒ d	 k sñ t ‚ d } t j t d | ƒ t j	 | d d ƒWd  QXt j t d | ƒ t j
 | d d ƒWd  QXd  S(
   Ns
   16815 dayss
   16820 daysR/   t   Ds$   the 'out' parameter is not supportedRA   t   outi    i   (   R   R    R,   R   R6   R+   RE   RF   RG   RI   RJ   (   R:   t   tdt   errmsg(    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_numpy_minmax_timedelta64Ö   s    !!c         C   s´  t  g  t d ƒ D]# } t d ƒ t d | | ƒ ^ q ƒ } | j ƒ  } | j ƒ  } t t d d ƒ ƒ } | | k s{ t ‚ | j ƒ  j ƒ  } | d | k s£ t ‚ | j	 d ƒ } t
 t j d d ƒ ƒ } | | k sÜ t ‚ | j ƒ  } t d	 ƒ } | | k st ‚ | j ƒ  j ƒ  } | d | k s.t ‚ | j ƒ  } t d
 ƒ } | | k sXt ‚ | j ƒ  j ƒ  } | d | k s€t ‚ | j ƒ  } t t  | j ƒ  j ƒ j ƒ  ƒ } | | k s¿t ‚ | j ƒ  j ƒ  } | d | k sçt ‚ x3 d d d d g D] } t j t t | | ƒ ƒ qúWt  t d ƒ t d ƒ g ƒ } | j ƒ  j ƒ  t d d ƒ k sbt ‚ t  t d ƒ t d ƒ t d ƒ g ƒ } | j ƒ  j ƒ  t d d ƒ k s°t ‚ d  S(   Ni
   t   20130101RR   i	   i    gš™™™™™¹?i(
  t   mss   00:00:09s   00:01:21t   skewt   kurtt   semt   prods
   2015-02-03s
   2015-02-07t   daysi   s
   2015-02-15i   (   R
   t   rangeR   R   t   difft   meanR   R6   t   to_framet   quantileR   R    t   timedelta64t   mediant   sumt   stdt   dropnaR3   RE   RF   R7   R1   (   R:   t   it   sRl   R;   R<   RW   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_timedelta_opsë   sB    6!'c         C   s   | } t  j d d d g d | ƒ} | j s3 t ‚ t  j d t  j d d t  j g d | ƒ} | j sm t ‚ xŒ | | g D]~ } | j ƒ  t d d | ƒk s¤ t ‚ | j ƒ  t d d | ƒk sÈ t ‚ | j ƒ  d k sà t ‚ | j	 ƒ  d k sz t ‚ qz Wd  S(   Ns
   2011-01-01s
   2011-01-02s
   2011-01-03R   i    i   (
   R4   R   Rf   R6   R   R,   R   R+   RI   RJ   (   R:   t   tz_naive_fixtureR   Rg   Rh   R%   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_minmax_tz"  s    $$RW   R,   R+   c         C   s£   t  g  ƒ } t j t | | ƒ ƒ  ƒ s- t ‚ t  t j g ƒ } t j t | | ƒ ƒ  ƒ s` t ‚ t  t j t j t j g ƒ } t j t | | ƒ ƒ  ƒ sŸ t ‚ d  S(   N(   R   R4   R   R1   R6   R   (   R:   RW   R-   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_minmax_nat_datetime644  s    !!c         C   sh  t  j d d d d ƒ } t j | ƒ t d d d ƒk s? t ‚ t j | ƒ t d d d ƒk sf t ‚ d	 } t j t	 d
 | ƒ t j | d d ƒWd  QXt j t	 d
 | ƒ t j | d d ƒWd  QXt j
 | ƒ d k så t ‚ t j | ƒ d k s t ‚ d	 } t j t	 d
 | ƒ t j
 | d d ƒWd  QXt j t	 d
 | ƒ t j | d d ƒWd  QXd  S(   NRa   s
   2016-01-15t   ends
   2016-01-20s   2016-01-15 00:00:00R/   Rj   s   2016-01-20 00:00:00s$   the 'out' parameter is not supportedRA   Rk   i    i   (   R4   RT   R    R,   R   R6   R+   RE   RF   RG   RI   RJ   (   R:   t   drRm   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_numpy_minmax_datetime64@  s    ''c         C   sò  t  j t d d d g d d ƒ} | j s0 t ‚ t  j d t d d t g d d ƒ} | j sd t ‚ xb | | g D]T } | j ƒ  t  j d d d ƒk sž t ‚ | j ƒ  t  j d d d ƒk sq t ‚ qq W| j ƒ  d k sá t ‚ | j ƒ  d k sù t ‚ | j	 ƒ  d k st ‚ | j	 ƒ  d	 k s)t ‚ xÂ d
 d g D]´ } t g  d d ƒ} t
 | | ƒ ƒ  } | t k srt ‚ t t g d d ƒ} t
 | | ƒ ƒ  } | t k s«t ‚ t t t t g d d ƒ} t
 | | ƒ ƒ  } | t k s6t ‚ q6Wd  S(   Ns
   2011-01-01s
   2011-01-02s
   2011-01-03R/   Rj   i   i    i   i   R,   R+   t   M(   R4   R   R   Rf   R6   R,   R   R+   RI   RJ   R1   (   R:   Rg   Rh   R%   RW   R-   R;   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_minmax_periodW  s.    '+c         C   sh  t  j d d d d ƒ } t j | ƒ t d d d ƒk s? t ‚ t j | ƒ t d d d ƒk sf t ‚ d } t j t	 d | ƒ t j | d	 d
 ƒWd  QXt j t	 d | ƒ t j | d	 d
 ƒWd  QXt j
 | ƒ d
 k så t ‚ t j | ƒ d k s t ‚ d } t j t	 d | ƒ t j
 | d	 d
 ƒWd  QXt j t	 d | ƒ t j | d	 d
 ƒWd  QXd  S(   NRa   s
   2016-01-15R†   s
   2016-01-20R/   Rj   s$   the 'out' parameter is not supportedRA   Rk   i    i   (   R4   t   period_rangeR    R,   R   R6   R+   RE   RF   RG   RI   RJ   (   R:   t   prRm   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_numpy_minmax_periody  s    ''c         C   sÂ   t  j t d ƒ d t d ƒ d t ƒ} t j t ƒ  | j ƒ  Wd  QXt j t ƒ  | j ƒ  Wd  QXt  j t d ƒ d t d ƒ d t	 ƒ} | j ƒ  d k s¦ t
 ‚ | j ƒ  d k s¾ t
 ‚ d  S(   Nt   aabbcat
   categoriest   cabt   orderedt   cRN   (   R4   t   CategoricalIndext   listRC   RE   RF   R7   R,   R+   t   TrueR6   (   R:   t   ci(    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_min_max_categoricalŽ  s    		(   i    i  i   (   iô  i    iúÿÿÿi@B iÀ½ðÿi@B i@B i@B iÀ½ðÿ(   i    i
   i   (   R[   R\   RE   R]   R^   Re   Ri   Rn   R‚   R„   R…   Rˆ   RŠ   R   R—   (    (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyR_   ›   s   !			7	$		"	t   TestSeriesReductionsc           B   s©  e  Z d  „  Z e j j d e e g ƒ e j j d d! d" g ƒ d „  ƒ ƒ Z e j j d d# d$ g ƒ d „  ƒ Z	 e j j d	 d
 d d d g ƒ d „  ƒ Z
 d „  Z e j j d e e g ƒ d „  ƒ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z e j j d e j g  ƒ e f e j d d d g ƒ e f e j d% d& g ƒ e f e j d d d d d' e j d g ƒ e f g ƒ d „  ƒ Z d  „  Z RS((   c         C   sÿ   t  t j j d ƒ ƒ } | j ƒ  } t j | d d +t j | d d +t j | j ƒ  ƒ s_ t	 ‚ t j j d d ƒ j
 d ƒ } t j | d  d  … d f <t j d t ƒ ! t j | j ƒ  | j ƒ  ƒ Wd  QXt j | d d	 ƒ} t j | ƒ j ƒ  sû t	 ‚ d  S(
   Ni
   i   i   id   t   f4i   s   mode.use_inf_as_naRS   i   (   R
   R    R!   R"   t   copyt   infRB   t   isinfR}   R6   R8   R4   t   option_contextR•   R   t   assert_almost_equalR   t   nansumt   all(   R:   R   t   s2R$   t   res(    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_sum_inf¤  s    "t   use_bottlenecks   method, unitR}   g        Rt   g      ð?c      	   C   sT  t  j d | ƒ <t g  ƒ } t | | ƒ ƒ  } | | k sC t ‚ t | | ƒ d d ƒ } | | k sm t ‚ t | | ƒ d d ƒ } t  j | ƒ sš t ‚ t | | ƒ d t ƒ } | | k t | | ƒ d t d d ƒ } | | k sì t ‚ t | | ƒ d t d d ƒ } t  j | ƒ st ‚ t t j g ƒ } t | | ƒ ƒ  } | | k sUt ‚ t | | ƒ d d ƒ } | | k st ‚ t | | ƒ d d ƒ } t  j | ƒ s¬t ‚ t | | ƒ d t ƒ } | | k t | | ƒ d t d d ƒ } | | k sþt ‚ t | | ƒ d t d d ƒ } t  j | ƒ s1t ‚ t t j d g ƒ } t | | ƒ ƒ  } | d k sjt ‚ t | | ƒ d d ƒ } | d k s”t ‚ t | | ƒ d d ƒ } | d k s¾t ‚ t | | ƒ d t ƒ } | d k sèt ‚ t | | ƒ d t d d ƒ } | d k st ‚ t | | ƒ d t d d ƒ } | d k sHt ‚ t	 t j
 d	 ƒ ƒ } t | | ƒ d ƒ | k j ƒ  s„t ‚ t  j d g ƒ } t | | ƒ d d ƒ } t  j | ƒ sÃt ‚ t  j t j g ƒ } t | | ƒ d d ƒ } t  j | ƒ st ‚ t  j t j d g ƒ } t | | ƒ d d ƒ } t  j | ƒ sJt ‚ Wd  QXd  S(
   NR¤   t	   min_counti    i   R?   g      ð?i
   i   (   i
   i    (   R4   R   R
   R1   R6   R   R•   R    RB   R   t   emptyR    (   R:   t   methodt   unitR¤   R   R;   RY   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt
   test_empty¶  sf    

'c         C   s*  t  j d t j t j t j g d t  j j d d	 g ƒ ƒ} t | | ƒ d d ƒ } t  j d | g d d d g ƒ} t j | | ƒ t | | ƒ d d d d ƒ } t  j d | g d d d g ƒ} t j | | ƒ t | | ƒ d d d d ƒ } t  j d t j g d d d g ƒ} t j | | ƒ d  S(
   Ni   R   R   RN   i    t   levelR¥   (   R   RN   (   i    i   (	   R4   R
   R    RB   t
   MultiIndext   from_productR1   R   RV   (   R:   R§   R¨   R   R;   R<   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_empty_multi  s    !!!$R§   Rx   R|   R~   t   varc         C   sd   t  t d t ƒ | ƒ ƒ  } t j | ƒ s0 t ‚ t  t d d ƒ | ƒ ƒ  } | t j k s` t ‚ d  S(   NR@   s   m8[ns](   R1   R
   t   floatR4   R   R6   R   (   R:   R§   R;   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_ops_consistency_on_empty+  s    c         C   sD   t  d t j g d d d g ƒ} t j | ƒ } t j | d ƒ d  S(   Ng      ð?R   i    i   (   R
   R    RB   RŸ   R   Rž   (   R:   t   serR;   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_nansum_buglet:  s    !c      	   C   s¯  t  j d | ƒ —xÃ d d g D]µ } t j d d | ƒ} t | ƒ } | j d t ƒ } t | ƒ | j d d ƒ k s} t ‚ | j	 d t ƒ } t | ƒ d k s§ t ‚ | j
 d t ƒ } t | ƒ | d k s  t ‚ q  WxÉ d	 d
 g D]» } t j d d | ƒ} t | ƒ } | j d t ƒ } | | j d | ƒ k s=t ‚ | j	 d t ƒ } t j t | ƒ d ƒ smt ‚ | j
 d t ƒ } t j t | ƒ | d ƒ sæ t ‚ qæ WWd  QXd  S(   NR¤   t   int32R0   i@KL R@   R?   i    iÿÿÿÿt   float32t   float64g        (   R4   R   R    RH   R
   R}   RC   t   intR6   R,   R+   t   allcloseR¯   (   R:   R¤   R@   t   vR   R;   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_sum_overflow?  s&    $ c         C   s½   x¶ d D]® } t  g  d | ƒj ƒ  t j k s4 t ‚ t  g  d | ƒj ƒ  t j k s[ t ‚ t  g  d | ƒj d t ƒ t j k sˆ t ‚ t  g  d | ƒj d t ƒ t j k s t ‚ q Wd  S(   Ns   m8[ns]s   M8[ns]s   M8[ns, UTC]R@   R?   (   s   m8[ns]s   m8[ns]s   M8[ns]s   M8[ns, UTC](   R
   R,   R4   R   R6   R+   RC   (   R:   R@   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt+   test_empty_timeseries_reductions_return_nat[  s
    ''-c         C   sê   t  j d d ƒ } t | d | ƒ} t j t d t ƒ t  j | ƒ } Wd  QX| d k sa t ‚ t j t ƒ  | j ƒ  } Wd  QX| d k s• t ‚ t j t d t ƒ: d } t	 j
 t d | ƒ t  j | d | ƒWd  QXWd  QXd  S(   Ni   i   R   t   check_stacklevels$   the 'out' parameter is not supportedRA   Rk   (   R    RH   R
   R   t   assert_produces_warningt   FutureWarningRC   RI   R6   RE   RF   RG   (   R:   t   dataR   R;   t   msg(    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_numpy_argmin_deprecatedc  s    
c         C   sê   t  j d d ƒ } t | d | ƒ} t j t d t ƒ t  j | ƒ } Wd  QX| d k sa t ‚ t j t ƒ  | j ƒ  } Wd  QX| d k s• t ‚ t j t d t ƒ: d } t	 j
 t d | ƒ t  j | d | ƒWd  QXWd  QXd  S(	   Ni   i   R   R»   i
   s$   the 'out' parameter is not supportedRA   Rk   (   R    RH   R
   R   R¼   R½   RC   RJ   R6   RE   RF   RG   (   R:   R¾   R   R;   R¿   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_numpy_argmax_deprecated|  s    
c         C   s\  t  j ƒ  j d ƒ } t j | d d +| | j ƒ  | j ƒ  k sG t ‚ t j	 | j d t
 ƒ ƒ sh t ‚ | j ƒ  } | | j ƒ  | j ƒ  k s– t ‚ | j j j ƒ  j | j ƒ  ƒ | j j ƒ  k sÌ t ‚ | t j } t j	 | j ƒ  ƒ sô t ‚ t t j d d d ƒƒ } | j ƒ  } | d k s-t ‚ t j | d <| j ƒ  } | d	 k sXt ‚ d  S(
   NR&   i   i   R?   t   20130102RO   i   i    i   (   R   t   makeStringSeriest   renameR    t   NaNt   idxminR,   R6   R4   R   RC   R   R   R3   t   tolistRI   RB   R
   RT   (   R:   t   string_seriest   nonat   allnaR   R;   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_idxmin”  s     "!"c         C   s  t  j ƒ  j d ƒ } t j | d d +| | j ƒ  | j ƒ  k sG t ‚ t j	 | j d t
 ƒ ƒ sh t ‚ | j ƒ  } | | j ƒ  | j ƒ  k s– t ‚ | j j j ƒ  j | j ƒ  ƒ | j j ƒ  k sÌ t ‚ | t j } t j	 | j ƒ  ƒ sô t ‚ d d l m } t | d d d	 ƒƒ } | j ƒ  } | d k s:t ‚ t j | d <| j ƒ  } | d
 k set ‚ t j d d d g d d d g ƒ } | j ƒ  } | d k s§t ‚ | j ƒ  } | d k sÅt ‚ t j | j | j ƒ } | j ƒ  } | d k sût ‚ | j ƒ  } | d k st ‚ d  S(   NR&   i   i   R?   iÿÿÿÿ(   RT   RÂ   RO   i   i   i   i   i   gš™™™™™ñ?gÍÌÌÌÌÌ @gÍÌÌÌÌÌ@(   R   RÃ   RÄ   R    RÅ   t   idxmaxR+   R6   R4   R   RC   R   R   R3   RÇ   RJ   RB   t   pandasRT   R
   RÆ   (   R:   RÈ   RÉ   RÊ   RT   R   R;   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_idxmax³  s6    "!"$c         C   sk   t  j ƒ  } | d k } | j ƒ  s+ t ‚ | j ƒ  s= t ‚ t d t g ƒ } d | j ƒ  k sg t ‚ d  S(   Ni    t   abc(   R   t   makeTimeSeriesR    R6   t   anyR
   R•   (   R:   t   tst   bool_seriesR   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_all_anyà  s    c      
   C   sË  t  t j t g ƒ } t  t j t g ƒ } | j d t ƒ sB t ‚ | j d t ƒ sZ t ‚ t j | j d t ƒ ƒ s{ t ‚ | j d t ƒ s” t ‚ t	 j  t t t t t t g d d d d d d d g ƒ} t
 j | j d d ƒ t  t t t g ƒ ƒ t
 j | j d d ƒ t  t t t g ƒ ƒ t j t ƒ  | j d t d d ƒ Wd  QXt j t ƒ  | j d t d d ƒ Wd  QXt j t ƒ  | j d t ƒ Wd  QXt j t ƒ  | j d t ƒ Wd  QXd  S(   NR?   R   i    i   i   Rª   t	   bool_only(   R
   R    RB   R•   RC   R    R6   RD   RÑ   R4   R   RV   RE   RF   t   NotImplementedError(   R:   t   s1R¡   R   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_all_any_paramsê  s$    !++c         C   s}  t  j d d d d d ƒ} t | ƒ t  j d ƒ } | j ƒ  } | d k sR t ‚ | j ƒ  } | d k sp t ‚ t j | d <| j ƒ  } | d	 k s› t ‚ | j ƒ  } | d k s¹ t ‚ t t  j d d d ƒƒ } t t  j d
 d d ƒƒ } t | | ƒ } | | j	 ƒ  } t
 j | | ƒ | j ƒ  } t  j d ƒ } | | k sLt ‚ | j ƒ  } t  j d ƒ } | | k syt ‚ d  S(   Ns   2012-1-1RO   i   R/   Rj   t   20120101i    i   i   t   20120102s   2 dayss   1 days(   R4   RT   R
   R   RÆ   R6   RÌ   R    RB   t   absR   RV   R+   R   R,   (   R:   t   dtiRl   R;   R×   R¡   R<   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_timedelta64_analytics  s,    s   test_input,error_typet   foot   bart   bazi   i   c      
   C   s   t  j | ƒ  | j ƒ  Wd QXt  j | ƒ  | j d t ƒ Wd QXt  j | ƒ  | j ƒ  Wd QXt  j | ƒ  | j d t ƒ Wd QXd S(   sU   
        Cases where ``Series.argmax`` and related should raise an exception
        NR?   (   RE   RF   RÆ   RC   RÌ   (   R:   t
   test_inputt
   error_type(    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_assert_idxminmax_raises1  s    c         C   s  t  j d t j t j t j g ƒ } | j ƒ  d k s= t ‚ t j | j d t ƒ ƒ s^ t ‚ | j	 ƒ  d k sv t ‚ t j | j	 d t ƒ ƒ s— t ‚ t  j
 d t ƒ o | j ƒ  d k sÂ t ‚ t j | j d t ƒ ƒ sã t ‚ | j	 ƒ  d k sû t ‚ t j | j	 d t ƒ ƒ Wd  QXd  S(   Ni    i   R?   i   s   mode.use_inf_as_na(   R4   R
   R    R›   RB   RÆ   R6   RD   RC   RÌ   R   R•   (   R:   R   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_idxminmax_with_infN  s    %!!!(   R}   g        (   Rt   g      ð?(   R}   g        (   Rt   g      ð?(   i   (   i   N(   R[   R\   R£   RE   R]   R^   R•   RC   R©   R­   R°   R²   R¹   Rº   RÀ   RÁ   RË   RÎ   RÔ   RØ   RÝ   R4   R
   RG   R7   t   NoneR    RB   Rã   Rä   (    (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyR˜   Ÿ  s8   	\	!	$					-	
		,	$t   TestDatetime64SeriesReductionsc           B   s  e  Z e j j d  e e j e j g ƒ e e j e j d ƒ g ƒ e e j d ƒ e j d ƒ g ƒ g ƒ d „  ƒ Z	 e j j d e j
 e j e j g ƒ e j
 e j e j d ƒ g ƒ e j
 e j d ƒ e j d ƒ g ƒ g ƒ d „  ƒ Z d „  Z d „  Z RS(   t   nat_sert   natc         C   s|   | j  ƒ  t j k s t ‚ | j ƒ  t j k s6 t ‚ | j  d t ƒ t j k sW t ‚ | j d t ƒ t j k sx t ‚ d  S(   NR?   (   R,   R4   R   R6   R+   RC   (   R:   Rç   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_minmax_nat_seriesf  s    !t   nat_dfc         C   sŒ   | j  ƒ  d t j k s t ‚ | j ƒ  d t j k s> t ‚ | j  d t ƒ d t j k sc t ‚ | j d t ƒ d t j k sˆ t ‚ d  S(   Ni    R?   (   R,   R4   R   R6   R+   RC   (   R:   Rê   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_minmax_nat_dataframeq  s    %c         C   sã   t  j d d ƒ } | j t j j t | ƒ ƒ ƒ } | j ƒ  } | j ƒ  } t	 | t  j
 ƒ sc t ‚ t	 | t  j
 ƒ s{ t ‚ | | d k s‘ t ‚ | | d k s§ t ‚ | j ƒ  | d k sÃ t ‚ | j ƒ  | d k sß t ‚ d  S(   Ns   1/1/2000s
   12/31/2000i    iÿÿÿÿ(   R4   RT   t   takeR    R!   t   permutationt   lenR,   R+   R2   R   R6   (   R:   t   rngt   rng2t   the_mint   the_max(    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_min_max|  s    !c      
   C   s  t  j d d d d d ƒ} d d d d d d d d d d g
 } t i | d	 6t j j t | ƒ ƒ d
 6| d 6ƒ } | j j ƒ  } t  j	 | j j
 d ƒ } t | t  j	 ƒ s² t ‚ | | k sÄ t ‚ | j j ƒ  } t  j	 | j j
 d ƒ } t | t  j	 ƒ st ‚ | | k st ‚ d  S(   Ns   1/1/2000RO   i
   R/   t   4ht   At   Bt   Ct   TSt   Vt   Liÿÿÿÿi    (   R4   RT   R   R    R!   R"   Rî   Rø   R+   R   t   iatR2   R6   R,   (   R:   Rï   t   lvlsRY   R;   t   exp(    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_min_max_seriesŠ  s    $3(   R[   R\   RE   R]   R^   R
   R4   R   R   Ré   R   Rë   Ró   Rþ   (    (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyRæ   a  s   36	t   TestCategoricalSeriesReductionsc           B   s   e  Z d  „  Z d „  Z RS(   c         C   s3  t  t d d d d g d t ƒƒ } t j t ƒ  | j ƒ  Wd  QXt j t ƒ  | j ƒ  Wd  QXt  t d d d d g d t ƒƒ } | j ƒ  } | j ƒ  } | d k s² t	 ‚ | d k sÄ t	 ‚ t  t d d d d g d d d d d g d t ƒƒ } | j ƒ  } | j ƒ  } | d k s$t	 ‚ | d k s6t	 ‚ t  t t
 j d d t
 j g d d d d d g d t ƒƒ } | j ƒ  } | j ƒ  } t
 j | ƒ sŸt	 ‚ | d k s±t	 ‚ t  t t
 j d d t
 j g d d	 d
 d d d g d t ƒƒ } | j ƒ  } | j ƒ  } t
 j | ƒ st	 ‚ | d k s/t	 ‚ d  S(   NR   RN   R’   t   dR‘   R   i   i   i   i   i   (   R
   R   RC   RE   RF   R7   R,   R+   R•   R6   R    RB   RD   (   R:   t   catt   _mint   _max(    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyRó   Ÿ  s:    $$*9c         C   s	  t  t d d t j d g d d d g d t ƒƒ } | j ƒ  } | j ƒ  } t j | ƒ s` t ‚ | d k sr t ‚ | j d t ƒ } | j d t ƒ } | d k s¨ t ‚ | d k sº t ‚ | j d t	 ƒ } | j d t	 ƒ } t j | ƒ só t ‚ | d k st ‚ d  S(   NR   RN   R   R‘   t   numeric_only(
   R
   R   R    RB   R•   R,   R+   RD   R6   RC   (   R:   R  R  R  (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_min_max_numeric_onlyÃ  s    -(   R[   R\   Ró   R  (    (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyRÿ   š  s   	$t   TestSeriesModec           B   sö  e  Z e j j d  e e g  d e j ƒf e	 e g  d e j ƒf g ƒ d „  ƒ Z
 e j j d e d d d d g d g f e d d d d d d d g d d g f e	 d d d d g d g f e	 d d d d d d d g d d g f g ƒ e j j d e e j d e j d	 ƒ ƒ d
 „  ƒ ƒ Z e j j d  e d g f e	 d e j g f g ƒ d „  ƒ Z e j j d e d g d g d g f e	 d g e j g d g f g ƒ d „  ƒ Z e j j d e d g d g f e	 d g e j g f g ƒ d „  ƒ Z e j j d e d d d g d d g f e	 e j g e j d d g f g ƒ d „  ƒ Z e j j d e d d d g d d g f e	 e j g e j d d g f g ƒ d „  ƒ Z e j j d e e d d g d d d g ƒe d  g d d d  g ƒe d d g d d d d g d! e ƒf e	 e e j g d d d g ƒe e j d  g d d d  g ƒe e j d d g d d d d g d! e ƒf g ƒ d" „  ƒ Z e j j d e d( g d d) g f e	 d* g d d+ g f g ƒ d$ „  ƒ Z e j j e j d% d& ƒd' „  ƒ Z RS(,   s   dropna, expectedR@   c         C   s8   t  g  d t j ƒ} | j | ƒ } t j | | ƒ d  S(   NR@   (   R
   R    Rµ   t   modeR   RV   (   R:   R   R<   R   R;   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_mode_emptyÞ  s    s   dropna, data, expectedi   i   i   t   dtt
   AllIntegert   Floatc         C   sG   t  | d | ƒ} | j | ƒ } t  | d | ƒ} t j | | ƒ d  S(   NR@   (   R
   R  R   RV   (   R:   R   R¾   R<   R	  R   R;   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_mode_numericalç  s    g      ð?c         C   sP   t  d d d t j t j g ƒ } | j | ƒ } t  | ƒ } t j | | ƒ d  S(   Ni   i   (   R
   R    RB   R  R   RV   (   R:   R   R<   R   R;   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_mode_numerical_nan÷  s    !s'   dropna, expected1, expected2, expected3RN   Rß   RB   c         C   s0  d g d d g d } t  | d d ƒ} | j | ƒ } t  | d d ƒ} t j | | ƒ d d d t j t j t j g } t  | d t ƒ} | j | ƒ } t  | d t ƒ} t j | | ƒ d d d t j t j t j g } t  | d t ƒj t ƒ } | j | ƒ } t  | d t ƒ} t j | | ƒ d  S(	   NR   i   RN   i   R@   R’   RÞ   Rß   (	   R
   R  R   RV   R    RB   t   objectR8   t   str(   R:   R   t	   expected1t	   expected2t	   expected3R¾   R   R;   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_mode_str_obj  s    !!s   dropna, expected1, expected2RÞ   c         C   sœ   t  d d d g ƒ } | j | ƒ } t  | ƒ } t j | | ƒ t  d d d t j t j t j g ƒ } | j | ƒ } t  | d t ƒ} t j | | ƒ d  S(   Ni   RÞ   R@   (   R
   R  R   RV   R    RB   R  (   R:   R   R  R  R   R;   R<   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_mode_mixeddtype  s    's
   1900-05-03s
   2011-01-03s
   2013-01-02c         C   s®   t  d d d d d g d d ƒ} | j | ƒ } t  | d d ƒ} t j | | ƒ t  d d d d d d d g d d ƒ} | j | ƒ } t  | d d ƒ} t j | | ƒ d  S(   Ns
   2011-01-03s
   2013-01-02s
   1900-05-03RB   R@   s   M8[ns](   R
   R  R   RV   (   R:   R   R  R  R   R;   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_mode_datetime+  s    		s   -1 dayss   0 dayss   1 dayss   2 mins   1 dayc      	   C   s±   t  d d d d d g d d ƒ} | j | ƒ } t  | d d ƒ} t j | | ƒ t  d d d d	 d
 d
 d d g d d ƒ} | j | ƒ } t  | d d ƒ} t j | | ƒ d  S(   Ns   1 dayss   -1 dayss   0 daysRB   R@   s   timedelta64[ns]s   1 days   -1 days   -1 day 2 mins   2 min(   R
   R  R   RV   (   R:   R   R  R  R   R;   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_mode_timedelta>  s    		R   R   R‘   c      	   C   s$  t  t d d t j t j g ƒ ƒ } | j | ƒ } t  | d d ƒ} t j | | ƒ t  t d d d t j t j g ƒ ƒ } | j | ƒ } t  | d d ƒ} t j | | ƒ t  t d d d d d t j t j g d d d d g d t ƒƒ } | j | ƒ } t  | d d ƒ} t j | | ƒ d  S(	   Ni   i   R@   t   categoryR   i   R   R‘   (   R
   R   R    RB   R  R   RV   R•   (   R:   R   R  R  R  R   R;   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_mode_categoryR  s    	$''i?   c         C   s¥   t  d d d g d t j ƒ} | j | ƒ } t  | d t j ƒ} t j | | ƒ t  d d g d t j ƒ} | j | ƒ } t  | d t j ƒ} t j | | ƒ d  S(   Ni   i   i?   R@   l            l            l            (   R
   R    t   uint64R  R   RV   (   R:   R   R  R  R   R;   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_mode_intoverflowk  s    t   reasons   only PY3c         C   s   t  d t j g ƒ } t  d d d t j t j g ƒ } t j t d t ƒ/ | j d t ƒ } | j ƒ  j	 d t
 ƒ } Wd  QXt j | | ƒ d  S(   NRÞ   i   R»   R   t   drop(   R
   R    RB   R   R¼   t   UserWarningRC   R  t   sort_valuest   reset_indexR•   RV   (   R:   R<   R   R;   (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   test_mode_sortwarning{  s    !l            l            l            l            (   R[   R\   RE   R]   R^   R•   R
   R    Rµ   RC   R  R”   t	   typecodesR  RB   R  R  R  R  R  R   R  R  t   skipifR   t   PY3R   (    (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyR  Ù  sL   *'-	-$-'00'?'(&   R    R   t   numpyR    RE   RÍ   R4   R   R   R   R   R   R   R   R	   R
   R   R   R   R   R   R   R   t   pandas.coreR   t   pandas.util.testingt   utilt   testingR   R(   R'   R  R)   R_   R˜   Ræ   Rÿ   R  (    (    (    sF   lib/python2.7/site-packages/pandas/tests/reductions/test_reductions.pyt   <module>   s    j		uÿ ÿ Ã9?