ó
¦–Õ\c        
   @   s  d  d l  m  Z  d  d l Z d  d l Z d  d l Z d  d l Z d  d l j Z	 d  d l
 m Z m Z m Z m Z e j j d „  ƒ Z d „  Z e j j d „  ƒ Z e d „ Z e d „ Z d	 „  Z d
 „  Z d „  Z e j j d e d g ƒ d „  ƒ Z e j j d e j i d d d g d 6d d d g d 6d d d d g ƒd e j g  ƒ f e j i d d d g d 6d d d g d 6d d d d g ƒd e j g  ƒ f e j d d d g ƒ d d f g ƒ e j j d d d d d d d  d! g ƒ d" „  ƒ ƒ Z  e j j d e d g ƒ d# „  ƒ Z! e j j d e d g ƒ d$ „  ƒ Z" d% „  Z# d& „  Z$ e j j d e d g ƒ d' „  ƒ Z% d( „  Z& e j j d e d g ƒ d) „  ƒ Z' e j j d* d+ d, d- d. d/ d0 g ƒ d1 „  ƒ Z( e j j) e d2 d3 ƒZ* e* d4 „  ƒ Z+ d S(5   iÿÿÿÿ(   t   datetimeN(   t	   assert_eqt   assert_dask_grapht	   make_metat
   HAS_INT_NAc          C   sí  i t  j i d d d g d 6d d d g d 6d	 d
 d d g ƒd 6t  j i d d d g d 6d d d g d 6d	 d d d g ƒd 6t  j i d d d g d 6d
 d
 d
 g d 6d	 d d d g ƒd 6}  t i d d 6d d 6d	 t  j g  d ƒ ƒ} t j |  d | d
 d d d g ƒ } | j ƒ  } t  j i d d d d d d d d g d 6d d d d d d d d g d 6ƒ } t  j i d d d d d d d d g d 6d d d d d d d d
 g d 6ƒ } t j | d ƒ } t j | d ƒ } i t  j i d d d g d 6d d d g d 6d	 d
 d d g ƒd 6t  j i d d d g d 6d d d g d 6d	 d d d g ƒd 6t  j i d d d g d 6d d
 d g d 6d	 d d d g ƒd 6} t j | d | d
 d d d g ƒ }	 |	 j ƒ  }
 | | | | f | | j d
 d d d d g ƒ | | f | | | | f | j d
 d d d g ƒ | j d
 d g ƒ | | f | j d
 d g ƒ | j d
 d d d d g ƒ | | f | |	 | |
 f | |	 j d
 d g ƒ | |
 f | j d
 d d g ƒ |	 j d
 d d g ƒ | |
 f | |
 | |
 f | | | | f g
 } xL | D]D \ } } } } t | j	 | j
 | j	 | j
 ƒ t | | | | ƒ q	Wt  j i d d d d d d d d d g	 d 6d d d d d d d d
 d g	 d 6d	 d
 d d d d d d d d g	 ƒ} t j | d ƒ } t  j i d d d d d d d d d g	 d 6d d d d d d d d d g	 d 6d	 d
 d d d d d d d d g	 ƒ} t j | d ƒ } t  j i d d d d d d d d g d 6d d d d d d d d g d 6d	 t d ƒ ƒ} t  j i d d d d d d d d g d 6d d d d d d d d
 g d 6d	 t d ƒ ƒ} t j | d ƒ } t j | d ƒ } t  j i d d d d d d d d g d 6d d d d d d d d g d 6d d d d d d d d g d 6d	 t d ƒ ƒ} t  j i d d d d d d d d g d 6d d d d d d d d
 g d 6d d d d d d d d
 g d 6d	 t d ƒ ƒ} t j | d ƒ } t j | d ƒ } | | | | f | j d
 d g ƒ | | | f | j d
 d d g ƒ | j d
 d d g ƒ | | f | | | | f | j d d d g ƒ | j d d g ƒ | | f | j d d d d g ƒ | j d d d g ƒ | | f | | | | f | j d d d g ƒ | j d d g ƒ | | f | | | | f | | | | f | | | | f g } xX | D]P \ } } } } t | j	 | j
 | j	 | j
 d t ƒt | | | | d t ƒq•Wd  S(   Ni   i   i   t   ai   i   i   t   bt   indexi    t   xi   i   i	   t   i8t   yi
   t   aaabcdeht   abcdefght   ct   dt   ht   et   allow_comparison_ops(   R   i    (   R   i   (   R   i   (   R
   i    (   R
   i   (   R
   i   (   t   pdt	   DataFrameR   t   Indext   ddt   computet   from_pandast   repartitiont   check_series_arithmeticsR   R   t   check_frame_arithmeticst   listt   False(   t   dskt   metat   ddf1t   pdf1t   pdf2t   pdf3t   ddf2t   ddf3t   dsk4t   ddf4t   pdf4t   casest   lt   rt   elt   ert   pdf5t   ddf5t   pdf6t   ddf6t   pdf7t   pdf8t   ddf7t   ddf8t   pdf9t   pdf10t   ddf9t   ddf10(    (    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyt   test_arithmetics   s¦    /,,,$(%(%/,,$'*	-	*	$+%$+%$("("("("*	'	'	c          C   s  t  j i d d d d g d 6d d d d	 g d
 6ƒ }  t j |  d d ƒ} t | j | j d j ƒ t | j | j d j ƒ k sŠ t ‚ t | j | j d j ƒ t | j | j d j ƒ k sÊ t ‚ t | j | j d j ƒ t | j | j d j ƒ k s
t ‚ d  S(   Ni   i   i   i   R   i   i   i   i   R
   t   npartitions(	   R   R   R   R   t   sortedR   R
   t   daskt   AssertionError(   t   dfR   (    (    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyt#   test_deterministic_arithmetic_namesu   s
    5@@c          C   sE  t  j i d d d d d g d 6d d d d d g d 6d	 d d d d d g ƒ}  t j |  d ƒ } t  j i d d d
 d d g d 6d d d d
 d g d 6d	 d d d d
 d g ƒ} t j | d ƒ } t  j i d d d d d g d 6d d d d d g d 6d	 d d d d d g ƒ} t j | d ƒ } t  j i d d d
 d d g d 6d d d d
 d g d 6d	 d d d d d g ƒ} t j | d ƒ } t  j i d d d d d g d 6d d d d d g d 6d	 d d d d d g ƒ} t j | d ƒ }	 t  j i d d d
 d d g d 6d d d d
 d g d 6d	 d d d d d
 g ƒ}
 t j |
 d ƒ } | | |  | f | | | |  f | j d d d g ƒ | j d d d g ƒ |  | f | j d d d d g ƒ | j d d d d g ƒ | |  f | | | | f | | | | f | j d d d d d g ƒ | j d d d d d g ƒ | | f | j d d g ƒ | j d d d d g ƒ | | f |	 | | |
 f | |	 |
 | f |	 j d d d d g ƒ | j d d d d
 g ƒ | |
 f | j d d
 g ƒ |	 j d d d d g ƒ |
 | f | | |  | f | |  | |  f | | | | f | | | | f |	 |
 | |
 f | | |
 | f g } xX | D]P \ } } } } t | j | j | j | j d t ƒt	 | | | | d t ƒqWWt  j i d d d d d d
 d d g d 6d d
 d d d d d d g d 6d	 d d d d d d d d g ƒ} t  j i d d
 d d d d d d g d 6d d d d d d d d g d 6d	 d d d d d d d d g ƒ} t j | d ƒ } t j | d ƒ } t  j i d d d d d d
 d d g d 6d d
 d d d d d d g d 6d	 d d d d d d d d g ƒ} t  j i d d
 d d d d d d g d 6d d d d d d d d g d 6d	 d d d d d d d d g ƒ} t j | d ƒ } t j | d ƒ } | | | | f | | | | f | j d d d g d t
 ƒ| j d d d d g d t
 ƒ| | f | j d d d d g ƒ | j d d d d d g d t
 ƒ| | f | j d d d d g d t
 ƒ| j d d d d g d t
 ƒ| | f | | | | f | | | | f | | | | f | | | | f | | | | f | | | | f g } xX | D]P \ } } } } t | j | j | j | j d t ƒt	 | | | | d t ƒqíWd  S(   Ni   i   i   i   i   R   i   R   R   i   i   i	   i
   i   i   i   i   R   i    iûÿÿÿi   t   forceiÿÿÿÿi   (   R   R   R   R   R   R   R   R   R   R   t   True(   R    R   R!   R#   R"   R$   R'   R&   R-   R.   R/   R0   R(   R)   R*   R+   R,   R1   R2   R3   R4   R5   R6   R7   R8   (    (    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyt    test_arithmetics_different_index~   sš    888888*	0	$*	0	*	$("!("!("!("!'*'$c         C   sˆ  t  |  t j ƒ s t ‚ t  | t j t j f ƒ s9 t ‚ t  | t j ƒ sQ t ‚ t  | t j ƒ si t ‚ t |  | ƒ t | | ƒ t |  | | | ƒ t |  | | | ƒ t |  | | | ƒ t |  | | | ƒ t |  | | | ƒ t |  | | | ƒ t |  | | | ƒ | r®t |  | @| | @ƒ t |  | B| | Bƒ t |  | A| | Aƒ t |  | k | | k ƒ t |  | k  | | k  ƒ t |  | k | | k ƒ t |  | k | | k ƒ t |  | k | | k ƒ t |  | k | | k ƒ t |  j | ƒ | j | ƒ ƒ t |  j | ƒ | j | ƒ ƒ t |  j | ƒ | j | ƒ ƒ t |  j	 | ƒ | j	 | ƒ ƒ t |  j
 | ƒ | j
 | ƒ ƒ t |  j | ƒ | j | ƒ ƒ n  t |  d | d ƒ t |  d | d ƒ t |  d | d ƒ t |  d | d ƒ t |  t @| t @ƒ t |  t B| t Bƒ t |  t A| t Aƒ t |  d | d ƒ t |  d | d ƒ t |  d | d ƒ t |  d k | d k ƒ t |  d k  | d k  ƒ t |  d k | d k ƒ t |  d k | d k ƒ t |  d k | d k ƒ t |  d k | d k ƒ t d | d | ƒ t d | d | ƒ t d | d | ƒ t d | d | ƒ t t | @t | @ƒ t t | Bt | Bƒ t t | At | Aƒ t d | d | ƒ t d | d | ƒ t d | d | ƒ t d | k d | k ƒ t d | k  d | k  ƒ t d | k d | k ƒ t d | k d | k ƒ t d | k d | k ƒ t d | k d | k ƒ t |  j d ƒ | j d ƒ ƒ t |  j d ƒ | j d ƒ ƒ t |  j d ƒ | j d ƒ ƒ t |  j	 d ƒ | j	 d ƒ ƒ t |  j
 d ƒ | j
 d ƒ ƒ t |  j d ƒ | j d ƒ ƒ t |  | ƒ t t |  ƒ t | ƒ ƒ | r„t |  | k | | k ƒ n  d  S(   Ni   (   t
   isinstanceR   t   SeriesR=   R   R   t   ltt   gtt   let   get   net   eqRA   t   abs(   R)   R*   R+   R,   R   (    (    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyR   ß   sŽ    !"c         C   sˆ  t  |  t j ƒ s t ‚ t  | t j t j f ƒ s9 t ‚ t  | t j ƒ sQ t ‚ t  | t j ƒ si t ‚ t |  | ƒ t | | ƒ t |  | | | ƒ t |  | | | ƒ t |  | | | ƒ t |  | | | ƒ t |  | | | ƒ t |  | | | ƒ t |  | | | ƒ | r®t |  | @| | @ƒ t |  | B| | Bƒ t |  | A| | Aƒ t |  | k | | k ƒ t |  | k  | | k  ƒ t |  | k | | k ƒ t |  | k | | k ƒ t |  | k | | k ƒ t |  | k | | k ƒ t |  j | ƒ | j | ƒ ƒ t |  j | ƒ | j | ƒ ƒ t |  j | ƒ | j | ƒ ƒ t |  j	 | ƒ | j	 | ƒ ƒ t |  j
 | ƒ | j
 | ƒ ƒ t |  j | ƒ | j | ƒ ƒ n  t |  d | d ƒ t |  d | d ƒ t |  d | d ƒ t |  d | d ƒ t |  t @| t @ƒ t |  t B| t Bƒ t |  t A| t Aƒ t |  d | d ƒ t |  d | d ƒ t |  d | d ƒ t |  d k | d k ƒ t |  d k  | d k  ƒ t |  d k | d k ƒ t |  d k | d k ƒ t |  d k | d k ƒ t |  d k | d k ƒ t d |  d | ƒ t d |  d | ƒ t d |  d | ƒ t d |  d | ƒ t t |  @t | @ƒ t t |  Bt | Bƒ t t |  At | Aƒ t d |  d | ƒ t d |  d | ƒ t d |  d | ƒ t d |  k d | k ƒ t d |  k  d | k  ƒ t d |  k d | k ƒ t d |  k d | k ƒ t d |  k d | k ƒ t d |  k d | k ƒ t |  j d ƒ | j d ƒ ƒ t |  j d ƒ | j d ƒ ƒ t |  j d ƒ | j d ƒ ƒ t |  j	 d ƒ | j	 d ƒ ƒ t |  j
 d ƒ | j
 d ƒ ƒ t |  j d ƒ | j d ƒ ƒ t |  | ƒ t t |  ƒ t | ƒ ƒ | r„t |  | k | | k ƒ n  d  S(   Ni   (   RC   R   R   R=   R   R   RE   RF   RG   RH   RI   RJ   RA   RK   (   R)   R*   R+   R,   R   (    (    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyR   4  sŽ    !"c          C   s+  t  j d ƒ }  t  j d ƒ } t j j i |  d 6d d ƒ } t j j i | d	 6d d ƒ } t | t j j ƒ sw t ‚ t | t j j ƒ s’ t ‚ t | |  ƒ t | | ƒ t | | |  | ƒ t | | |  | ƒ t | | |  | ƒ t | | |  | ƒ t | | |  | ƒ t | | |  | ƒ t | | |  | ƒ t | | @|  | @ƒ t | | B|  | Bƒ t | | A|  | Aƒ t | | k |  | k ƒ t | | k  |  | k  ƒ t | | k |  | k ƒ t | | k |  | k ƒ t | | k |  | k ƒ t | | k |  | k ƒ t | d |  d ƒ t | d |  d ƒ t | d |  d ƒ t | d |  d ƒ t | t @|  t @ƒ t | t B|  t Bƒ t | t A|  t Aƒ t | d |  d ƒ t | d |  d ƒ t | d |  d ƒ t | d k |  d k ƒ t | d k  |  d k  ƒ t | d k |  d k ƒ t | d k |  d k ƒ t | d k |  d k ƒ t | d k |  d k ƒ t d | d | ƒ t d | d | ƒ t d | d | ƒ t d | d | ƒ t t | @t | @ƒ t t | Bt | Bƒ t t | At | Aƒ t d | d | ƒ t d | d | ƒ t d | d | ƒ t d | k d | k ƒ t d | k  d | k  ƒ t d | k d | k ƒ t d | k d | k ƒ t d | k d | k ƒ t d | k d | k ƒ t | |  ƒ t t	 | ƒ t	 |  ƒ ƒ t | | k |  | k ƒ d  S(
   Ni
   i   R)   i    R	   R*   i   (   R)   i    (   R*   i    (
   t   npt   int64R   t   coret   ScalarRC   R=   R   RA   RK   (   R+   R,   R)   R*   (    (    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyt   test_scalar_arithmeticsˆ  sv    c       	   C   sP  t  j j i d d 6d d ƒ }  d } t j d d d d d	 d
 d g ƒ } t  j | d ƒ } t j i d d d d d	 d
 d g d 6d d
 d	 d d d d g d 6ƒ } t  j | d ƒ } | |  } t | t j ƒ sÖ t ‚ t	 | | | ƒ |  | } t | t  j ƒ s	t ‚ t	 | | | ƒ | |  } t | t  j ƒ s<t ‚ t	 | | | ƒ |  | } t | t  j ƒ sot ‚ t	 | | | ƒ | |  } t | t j ƒ s¢t ‚ t	 | | | ƒ |  | } t | t  j ƒ sÕt ‚ t	 | | | ƒ | |  } t | t  j ƒ st ‚ t	 | | | ƒ |  | } t | t  j ƒ s;t ‚ t	 | | | ƒ d  S(   Ni
   t   si    R	   i   i   i   i   i   i   i   R   R   (   RQ   i    (
   R   RN   RO   R   RD   R   R   RC   R=   R   (   RQ   R   t   pdst   ddst   pdft   ddft   result(    (    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyt+   test_scalar_arithmetics_with_dask_instancesÎ  s>    $%"







c             sQ  t  j i t j d ƒ d 6t j d d d d g d d 6t j g d d 6t j d ƒ d	 6d
 t d ƒ d t d ƒ ƒ}  t  j t j j d d ƒ d
 t d ƒ d t d ƒ ƒ} |  j } | j } t  j	 t j j d ƒ d
 t d ƒ ƒ} t
 j |  d ƒ } t
 j | d ƒ } | j } | j } t
 j j i d d 6d d ƒ }	 xÈ| | |  | f | | | | f | j d d d g ƒ | |  | f | j d d d d g ƒ | | | f | | j d d g ƒ |  | f | | j d d d d d g ƒ | | f | d |  d f | d | d f | |	 |  d f | |	 | d f g
 D]Ü\ ‰  ‰ }
 } t ˆ  |
 ƒ t ˆ | ƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ q$Wx$| | |  | f | | j  |  | j  f g D]ø\ ‰  ‰ }
 } t ˆ  |
 ƒ t ˆ | ƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t ˆ  j ˆ d d ƒ|
 j | d d ƒƒ t! j" t# ‡  ‡ f d †  ƒ q/Wx| | |  | f | | |  | f g D]ù\ ‰  ‰ }
 } t ˆ  |
 ƒ t ˆ | ƒ xÊd d d
 d g D]¶} t ˆ  j ˆ d | ƒ|
 j | d | ƒƒ t ˆ  j ˆ d | ƒ|
 j | d | ƒƒ t ˆ  j ˆ d | ƒ|
 j | d | ƒƒ t ˆ  j ˆ d | ƒ|
 j | d | ƒƒ t ˆ  j ˆ d | ƒ|
 j | d | ƒƒ t ˆ  j ˆ d | ƒ|
 j | d | ƒƒ t ˆ  j ˆ d | ƒ|
 j | d | ƒƒ t ˆ  j ˆ d | ƒ|
 j | d | ƒƒ t ˆ  j ˆ d | ƒ|
 j | d | ƒƒ t ˆ  j ˆ d | ƒ|
 j | d | ƒƒ t ˆ  j ˆ d | ƒ|
 j | d | ƒƒ t ˆ  j ˆ d | ƒ|
 j | d | ƒƒ t ˆ  j ˆ d | ƒ|
 j | d | ƒƒ t ˆ  j ˆ d | ƒ|
 j | d | ƒƒ t ˆ  j ˆ d | ƒ|
 j | d | ƒƒ t ˆ  j ˆ d | ƒ|
 j | d | ƒƒ qWqPWd  S(   Ni
   t   Ai   i   i   i   t   Bt   Ct   DR   t
   abcdefghijt   columnst   ABCDt
   abcdefghjkt   ABCXt
   ABCDXabcdeRQ   i    R	   R   t   ft   jR   t   kR   R   t
   fill_valuet   axisc              s   ˆ  j  ˆ d d ƒS(   NRf   i   (   t   add(    (   R)   R*   (    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyt   <lambda>F  t    (   RQ   i    ($   R   R   RL   t   aranget   nanR   t   randomt   randnRX   RD   R   R   RN   RO   R   R   Rg   t   subt   mult   divt   truedivt   floordivt   modt   powt   raddt   rsubt   rmult   rdivt   rtruedivt	   rfloordivt   rmodt   rpowt   Xt   pytestt   raisest
   ValueError(   R    R!   t   ps1t   ps2t   ps3R   R#   t   ds1t   ds2RQ   R+   R,   Rf   (    (   R)   R*   sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyt$   test_frame_series_arithmetic_methodsþ  s     		'		!!$'4+++++++++++++++/=++++++++++++++++ 7+++++++++++++++t   split_everyi   c         C   s”  i t  j i d d d g d 6d d d g d 6d	 d
 d d g ƒd 6t  j i d d d g d 6d d d g d 6d	 d d d g ƒd 6t  j i d d d g d 6d
 d
 d
 g d 6d	 d d d g ƒd  6} t i d d 6d d 6d	 t  j g  d ƒ ƒ} t j | d | d
 d d d g ƒ } | j ƒ  } t  j d g t j g d d g t j g d ƒ } t j	 | d ƒ } t  j d g t j g d ƒ } t j	 | d ƒ } t  j t j g d ƒ }	 t j	 |	 d ƒ }
 t  j t
 t t
 t t
 g d t ƒ} t j	 | d ƒ } xž| j | j f | j | j f | d | d f | d | d f | | f | | f |
 |	 f | | f g D]2\ } } t | t j ƒ sˆt ‚ t | t  j ƒ s t ‚ t | j d |  ƒ | j ƒ  ƒ t | j d |  ƒ | j ƒ  ƒ t | j d |  ƒ | j ƒ  ƒ t | j d |  ƒ | j ƒ  ƒ t | j d |  ƒ | j ƒ  ƒ t j d  ƒ $ t | j d |  ƒ | j ƒ  ƒ Wd  QXt j d  ƒ $ t | j d |  ƒ | j ƒ  ƒ Wd  QXt j d  ƒ $ t | j d |  ƒ | j ƒ  ƒ Wd  QXt | j d d
 d |  ƒ | j d d
 ƒ ƒ t | j d d
 d |  ƒ | j d d
 ƒ ƒ t | j d d
 d |  ƒ | j d d
 ƒ ƒ t | j d |  ƒ | j ƒ  ƒ t | j d |  ƒ | j ƒ  ƒ t | j d t d |  ƒ | j d t ƒ ƒ t | j d t d |  ƒ | j d t ƒ ƒ t | j d t d |  ƒ | j d t ƒ ƒ t | j d t d |  ƒ | j d t ƒ ƒ t | j d t d |  ƒ | j d t ƒ ƒ t | j d t d |  ƒ | j d t ƒ ƒ t | j d t d |  ƒ | j d t ƒ ƒ t | j d t d d
 d |  ƒ | j d t d d
 ƒ ƒ t | j d t d d
 d |  ƒ | j d t d d
 ƒ ƒ t | j d t d d
 d |  ƒ | j d t d d
 ƒ ƒ t | j d t d |  ƒ | j d t ƒ ƒ qdWt | j j d |  ƒ d ƒ t | j j d |  ƒ d ƒ t | j j d |  ƒ d ƒ t | j j d |  ƒ d ƒ t | j j d |  ƒ d ƒ t | j j d |  ƒ d ƒ t | j j d |  ƒ d ƒ t | j j d |  ƒ d ƒ t | j j d d
 d |  ƒ d ƒ t | j j d d
 d |  ƒ d ƒ t | j j d d
 d |  ƒ d ƒ t | j j d |  ƒ d ƒ t | j j d |  ƒ d ƒ t | j  j d |  ƒ | j  j ƒ  ƒ t | j  j d |  ƒ | j  j ƒ  ƒ t | j  j d |  ƒ t  j! | j  ƒ j ƒ  ƒ d  S(!   Ni   i   i   R   i   i   i   R   R   i    R   i   i   i	   R	   t   dtypeR‡   t   ddoft   skipnas
   series-sums   series-prods
   series-mins
   series-maxs   series-counts
   series-stds
   series-vars
   series-sems   series-means   drop-duplicates(   R   i    (   R   i   (   R   i   ("   R   R   R   R   R   R   RD   RL   Rk   R   RA   R   t   boolR   R   RC   R=   R   t   sumt   prodt   mint   maxt   countR~   t   warnst   Nonet   stdt   vart   semt   meant   nuniqueR   R   t   notnull(   R‡   R   R   R   R    t   nans1t   nands1t   nans2t   nands2t   nans3t   nands3t   boolst   booldsRS   RR   (    (    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyt   test_reductions`  sš    /,,,$5 $!"%%%+++"""%%s   frame,axis,outi   i   R   i   i   i   R   R   i    g      @t   redfuncRŒ   R   RŽ   R   R–   R”   R“   c   	      C   sR  t  j |  d ƒ } t  j t j d g ƒ d ƒ j ƒ  } | d  k	 rW t  j | d ƒ } n  t t | ƒ } t |  j | ƒ } t | j | ƒ } | d k rµ | | d | d d d | ƒn | | d | d | ƒt	 | | |  d | ƒƒ | | d | d	 t
 d | ƒt	 | | |  d | ƒƒ | | d | d	 d
 d | ƒt	 | | |  d | ƒƒ d  S(   Ni   i    i   R”   R“   Rf   R‰   t   outR‡   i   (   R”   R“   (   R   R   R   RD   RŒ   R’   t   getattrRL   t	   __class__R   R   (	   t   frameRf   R£   R¢   t   dsk_int   dsk_outt
   np_redfunct
   pd_redfunct   dsk_redfunc(    (    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyt   test_reductions_out½  s    $c      	   C   s/  t  j t j j t t g d d ƒd d d d d g ƒ} t d	 ƒ d
 | d <t j	 | d ƒ } t
 | j d |  ƒ | j ƒ  ƒ t
 | j d d d |  ƒ | j d d ƒ ƒ t
 | j d d d |  ƒ | j d d ƒ ƒ t
 | j d |  ƒ | j ƒ  ƒ t
 | j d d d |  ƒ | j d d ƒ ƒ t
 | j d d d |  ƒ | j d d ƒ ƒ t
 | j j d |  ƒ | j j ƒ  ƒ t
 | j j d |  ƒ | j j ƒ  ƒ t j	 t  j t t t t t g d d d d d d g ƒd ƒ } t j	 t  j t j j t t g d d ƒƒ d ƒ } | j d |  d | ƒ t
 | | j ƒ  ƒ | j d d d |  d | ƒ t
 | | j d d ƒ ƒ | j d |  d d d | ƒ t
 | | j d d ƒ ƒ | j d |  d | ƒ t
 | | j ƒ  ƒ | j d d d |  d | ƒ t
 | | j d d ƒ ƒ | j d |  d d d | ƒ t
 | | j d d ƒ ƒ d  S(   Nt   sizeid   i   R]   RX   RY   RZ   R[   t   abcdei   t   Ei
   R‡   Rf   i   i    R   R£   (   id   i   (   id   (   R   R   RL   Rl   t   choiceRA   R   R   R   R   R   t   allt   anyRX   RD   (   R‡   R>   RU   t   ddf_out_axis_defaultt   ddf_out_axis1(    (    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyt   test_allanyä  s6    $++++%%!3c         C   sN  t  j i d d d d g d 6d d d d	 g d
 6ƒ } t j | d d ƒ} xÇ| | j g D]¶} | j d |  ƒ j | j d |  ƒ j k s t ‚ | j d |  ƒ j | j d |  ƒ j k sÀ t ‚ | j	 d |  ƒ j | j	 d |  ƒ j k sð t ‚ | j
 d |  ƒ j | j
 d |  ƒ j k s t ‚ | j d |  ƒ j | j d |  ƒ j k sPt ‚ | j d |  ƒ j | j d |  ƒ j k s€t ‚ | j d |  ƒ j | j d |  ƒ j k s°t ‚ | j d |  ƒ j | j d |  ƒ j k sàt ‚ | j d |  ƒ j | j d |  ƒ j k sZ t ‚ qZ W| j j d |  ƒ j | j j d |  ƒ j k sJt ‚ d  S(   Ni   i   i   i   R   i   i   i   i   R
   R:   R‡   (   R   R   R   R   R   RŒ   t   _nameR=   R   RŽ   R   R   R“   R”   R•   R–   R—   (   R‡   R>   RU   R   (    (    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyt"   test_deterministic_reduction_names  s.    5"c             sS  i t  j i d d d g d 6d d d g d 6d	 d
 d d g ƒd 6t  j i d d d g d 6d d d g d 6d	 d d d g ƒd 6t  j i d d d g d 6d
 d
 d
 g d 6d	 d d d g ƒd 6}  t i d d 6d d 6d	 t  j g  d ƒ ƒ} t j |  d | d
 d d d g ƒ } | j ƒ  } x-d d g D]‰  x| j | j g D]‰ t j t	 ‡  ‡ f d †  ƒ t j t	 ‡  ‡ f d †  ƒ t j t	 ‡  ‡ f d †  ƒ t j t	 ‡  ‡ f d †  ƒ t j t
 ‡  ‡ f d †  ƒ t j t	 ‡  ‡ f d †  ƒ t j t	 ‡  ‡ f d †  ƒ t j t	 ‡  ‡ f d †  ƒ t j t	 ‡  ‡ f d †  ƒ qEWq,Wd  S(   Ni   i   i   R   i   i   i   R   R   i    R   i   i   i	   R	   R]   c              s   ˆ j  d ˆ  ƒ S(   NRf   (   RŒ   (    (   Rf   RQ   (    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyRh   :  Ri   c              s   ˆ j  d ˆ  ƒ S(   NRf   (   R   (    (   Rf   RQ   (    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyRh   ;  Ri   c              s   ˆ j  d ˆ  ƒ S(   NRf   (   RŽ   (    (   Rf   RQ   (    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyRh   <  Ri   c              s   ˆ j  d ˆ  ƒ S(   NRf   (   R   (    (   Rf   RQ   (    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyRh   =  Ri   c              s   ˆ j  d ˆ  ƒ S(   NRf   (   R   (    (   Rf   RQ   (    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyRh   ?  Ri   c              s   ˆ j  d ˆ  ƒ S(   NRf   (   R“   (    (   Rf   RQ   (    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyRh   @  Ri   c              s   ˆ j  d ˆ  ƒ S(   NRf   (   R”   (    (   Rf   RQ   (    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyRh   A  Ri   c              s   ˆ j  d ˆ  ƒ S(   NRf   (   R•   (    (   Rf   RQ   (    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyRh   B  Ri   c              s   ˆ j  d ˆ  ƒ S(   NRf   (   R–   (    (   Rf   RQ   (    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyRh   C  Ri   (   R   i    (   R   i   (   R   i   (   R   R   R   R   R   R   R   R~   R   R€   t	   TypeError(   R   R   R   R    (    (   Rf   RQ   sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyt"   test_reduction_series_invalid_axis-  s(    /,,,$c       	   C   s  d „  }  t  j d d d d d g ƒ } t j | d ƒ } t | j ƒ  | j ƒ  ƒ |  | | d ƒ t | j ƒ  | j ƒ  ƒ t | j ƒ  | j ƒ  ƒ t | j ƒ  | j ƒ  ƒ |  | | d	 ƒ |  | | d
 ƒ |  | | d ƒ |  | | d ƒ t | j	 ƒ  | j	 ƒ  ƒ xPt  j t  j
 d d d d d g d t ƒƒ t  j t  j
 t d ƒ d t ƒƒ t  j t  j d d d d d ƒƒ g D]Ü } t j | d ƒ } |  | | d ƒ |  | | d ƒ t | j ƒ  | j ƒ  ƒ t | j ƒ  | j ƒ  ƒ t | j ƒ  | j ƒ  ƒ |  | | d	 ƒ |  | | d
 ƒ |  | | d ƒ |  | | d ƒ t | j	 ƒ  | j	 ƒ  ƒ qyWt  j t  j d d d d d ƒƒ } t j | d ƒ } t | j ƒ  | j ƒ  ƒ t | j ƒ  | j ƒ  ƒ t | j ƒ  | j ƒ  ƒ t | j ƒ  | j ƒ  ƒ t | j	 ƒ  | j	 ƒ  ƒ d  S(   Nc            sH   t  j t t f ‡  ‡ f d †  ƒ t  j t t f ‡ ‡ f d †  ƒ d  S(   Nc              s   t  ˆ  ˆ ƒ ƒ  j ƒ  S(   N(   R¤   R   (    (   R   t   func(    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyRh   K  Ri   c              s   t  ˆ ˆ  ƒ ƒ  S(   N(   R¤   (    (   Rº   t   p(    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyRh   M  Ri   (   R~   R   R¸   R€   (   R   R»   Rº   (    (   R   Rº   R»   sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyt   check_raisesI  s    R   R   R   R   R   i   R   R“   R”   R•   R–   i   i   i   i   t   orderedR®   s
   2011-01-01t   freqR[   t   periodsRŒ   s   1 days(   R   RD   R   R   R   RŒ   RŽ   R   R   R—   t   CategoricalRA   R   t
   date_ranget   timedelta_range(   R¼   RR   RS   (    (    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyt"   test_reductions_non_numeric_dtypesF  sD    	-!+$c      	      su  i t  j i d d d g d 6d d d g d 6d	 d
 d d g ƒd 6t  j i d d d g d 6d d d g d 6d	 d d d g ƒd 6t  j i d d d g d 6d
 d
 d
 g d 6d	 d d d g ƒd  6} t i d d 6d d 6d	 t  j g  d ƒ ƒ} t j | d | d
 d d d g ƒ ‰  ˆ  j ƒ  } t ˆ  j d |  ƒ | j ƒ  ƒ t ˆ  j d |  ƒ | j ƒ  ƒ t ˆ  j	 d |  ƒ | j	 ƒ  ƒ t ˆ  j
 d |  ƒ | j
 ƒ  ƒ t ˆ  j d |  ƒ | j ƒ  ƒ t ˆ  j d |  ƒ | j ƒ  ƒ t ˆ  j d |  ƒ | j ƒ  ƒ t ˆ  j d |  ƒ | j ƒ  ƒ t ˆ  j d d
 d |  ƒ | j d d
 ƒ ƒ t ˆ  j d d
 d |  ƒ | j d d
 ƒ ƒ t ˆ  j d d
 d |  ƒ | j d d
 ƒ ƒ t ˆ  j d |  ƒ | j ƒ  ƒ xBd
 d d	 d g D].} t ˆ  j d | d |  ƒ | j d | ƒ ƒ t ˆ  j d | d |  ƒ | j d | ƒ ƒ t ˆ  j	 d | d |  ƒ | j	 d | ƒ ƒ t ˆ  j
 d | d |  ƒ | j
 d | ƒ ƒ t ˆ  j d | d |  ƒ | j d | ƒ ƒ t ˆ  j d | d |  ƒ | j d | ƒ ƒ t ˆ  j d | d |  ƒ | j d | ƒ ƒ t ˆ  j d | d |  ƒ | j d | ƒ ƒ t ˆ  j d | d d
 d |  ƒ | j d | d d
 ƒ ƒ t ˆ  j d | d d
 d |  ƒ | j d | d d
 ƒ ƒ t ˆ  j d | d d
 d |  ƒ | j d | d d
 ƒ ƒ t ˆ  j d | d |  ƒ | j d | ƒ ƒ qÊWt j t ‡  f d †  ƒ t ˆ  j d |  ƒ d ƒ t ˆ  j d |  ƒ d ƒ t ˆ  j	 d |  ƒ d ƒ t ˆ  j
 d |  ƒ d ƒ t ˆ  j d |  ƒ d ƒ t ˆ  j d |  ƒ d ƒ t ˆ  j d |  ƒ d ƒ t ˆ  j d |  ƒ d ƒ t ˆ  j d |  ƒ d ƒ t ˆ  j d |  ƒ d ƒ t ˆ  j d |  ƒ d ƒ t ˆ  j d |  ƒ d ƒ t ˆ  j d |  ƒ d ƒ t ˆ  j d d d |  ƒ d ƒ t ˆ  j d d d |  ƒ d ƒ t ˆ  j	 d d d |  ƒ d ƒ t ˆ  j
 d d d |  ƒ d ƒ t ˆ  j d d d |  ƒ d ƒ t ˆ  j d d d |  ƒ d ƒ t ˆ  j d d d |  ƒ d ƒ t ˆ  j d d d |  ƒ d ƒ t ˆ  j d d d |  ƒ d ƒ d  S(!   Ni   i   i   R   i   i   i   R   R   i    R   i   i   i	   R	   R‡   R‰   R]   Rf   c              s   ˆ  j  d d ƒ j ƒ  S(   NRf   t	   incorrect(   RŒ   R   (    (   R   (    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyRh   ²  Ri   s   dataframe-sums   dataframe-prods   dataframe-mins   dataframe-maxs   dataframe-counts   dataframe-stds   dataframe-vars   dataframe-sems   dataframe-mean(   R   i    (   R   i   (   R   i   (   R   R   R   R   R   R   R   RŒ   R   RŽ   R   R   R“   R”   R•   R–   R~   R   R€   R   (   R‡   R   R   R    Rf   (    (   R   sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyt   test_reductions_frame  sœ    /,,,$+++c       
   C   s  t  j i d d d d d d d d g d	 6d
 d d d t j d d d g d 6t  j g g  t d d ƒ D] }  t d |  d ƒ ^ qc d 6t d ƒ d 6ƒ } t rÖ t  j	 d d d d d  d d d g d t  j ƒ  ƒ| d <n  t j | d ƒ } t | j ƒ  | j ƒ  ƒ t | j ƒ  | j ƒ  ƒ t | j ƒ  | j ƒ  ƒ t | j ƒ  | j ƒ  ƒ t | j ƒ  | j ƒ  ƒ t | j ƒ  | j ƒ  ƒ t | j ƒ  | j ƒ  ƒ t | j ƒ  | j ƒ  ƒ t | j d d ƒ | j d d ƒ ƒ t | j d d ƒ | j d d ƒ ƒ t | j d d ƒ | j d d ƒ ƒ | j ƒ  } | j ƒ  } t | | ƒ t | j ƒ  | j ƒ  ƒ | d	 d g } | j ƒ  j | j k s‹t ‚ d  S(   Ni   i   i   i   i   i   i   i   t   intg      ð?g       @g      @g      @g      @g      @g       @t   floatiÛ  t   dtR   t   strRˆ   t   intnaR‰   i    (   R   R   RL   Rk   t   NaTt   rangeR    R   R   t   arrayR’   t
   Int64DtypeR   R   R   RŒ   R   RŽ   R   R   R“   R”   R•   R–   t   _get_numeric_dataR<   R=   (   t   iR>   RU   RV   t   expectedt   numerics(    (    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyt   test_reductions_frame_dtypesÙ  s0    ("9:%%%c         C   sµ  t  j i d d t j d d d d d g d 6d d t j t j t j d t j t j g d	 6t j g d d
 6ƒ } t j | d ƒ } t | j ƒ  | j d |  ƒ ƒ t | j ƒ  | j d |  ƒ ƒ t | j	 ƒ  | j	 d |  ƒ ƒ t | j
 ƒ  | j
 d |  ƒ ƒ t | j ƒ  | j d |  ƒ ƒ t | j ƒ  | j d |  ƒ ƒ t | j ƒ  | j d |  ƒ ƒ t | j ƒ  | j d |  ƒ ƒ t | j d d ƒ | j d d d |  ƒ ƒ t | j d d ƒ | j d d d |  ƒ ƒ t | j d d ƒ | j d d d |  ƒ ƒ t | j ƒ  | j d |  ƒ ƒ t j d t ƒ ƒt | j d t ƒ | j d t d |  ƒ ƒ t | j d t ƒ | j d t d |  ƒ ƒ t | j	 d t ƒ | j	 d t d |  ƒ ƒ t | j
 d t ƒ | j
 d t d |  ƒ ƒ t | j d t ƒ | j d t d |  ƒ ƒ t | j d t ƒ | j d t d |  ƒ ƒ t | j d t ƒ | j d t d |  ƒ ƒ t | j d t d d ƒ | j d t d d d |  ƒ ƒ t | j d t d d ƒ | j d t d d d |  ƒ ƒ t | j d t d d ƒ | j d t d d d |  ƒ ƒ t | j d t ƒ | j d t d |  ƒ ƒ t | j d d d t ƒ | j d d d t d |  ƒ ƒ t | j d d d t ƒ | j d d d t d |  ƒ ƒ t | j	 d d d t ƒ | j	 d d d t d |  ƒ ƒ t | j
 d d d t ƒ | j
 d d d t d |  ƒ ƒ t | j d d d t ƒ | j d d d t d |  ƒ ƒ t | j d d d t ƒ | j d d d t d |  ƒ ƒ t | j d d d t ƒ | j d d d t d |  ƒ ƒ t | j d d d t d d ƒ | j d d d t d d d |  ƒ ƒ t | j d d d t d d ƒ | j d d d t d d d |  ƒ ƒ t | j d d d t d d ƒ | j d d d t d d d |  ƒ ƒ t | j d d d t ƒ | j d d d t d |  ƒ ƒ Wd  QXd  S(   Ni   i   i   i   i   i   i   R   R   R   i   R‡   R‰   i    t   recordRŠ   Rf   (   R   R   RL   Rk   R   R   R   RŒ   R   RŽ   R   R   R“   R”   R•   R–   t   warningst   catch_warningsRA   R   (   R‡   R>   RU   (    (    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyt   test_reductions_frame_nanù  sz    +.+++%%%t
   comparisonRE   RF   RG   RH   RI   RJ   c         C   s¼   t  j d d d d d d d g ƒ } t  j d d d	 t j d d d
 g ƒ } t j | d ƒ } t j | d ƒ } d } t | |  ƒ } t | |  ƒ } t | | d | ƒ| | d | ƒƒ d  S(   Ni   i   i   i   i   i   i   iÿÿÿÿi   g333333@Re   (   R   RD   RL   Rk   R   R   R¤   R   (   RØ   RQ   t   s_nant   dst   ds_nanRe   t   comparison_pdt   comparison_dd(    (    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyt   test_series_comparison_nan<  s    $'t   reasons
   integer nac          C   sS   t  j d d  d g d t  j ƒ  ƒ}  t j |  d ƒ } t |  j ƒ  | j ƒ  ƒ d  S(   Ni   i   Rˆ   (   R   RD   R’   t
   Int32DtypeR   R   R   RŒ   (   R   R   (    (    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyt   test_sum_intnaM  s    $(,   R    RÕ   R~   t   numpyRL   t   pandasR   t   dask.dataframet	   dataframeR   t   dask.dataframe.utilsR   R   R   R   t   markt   slowR9   R?   RB   RA   R   R   RP   RW   R†   t   parametrizeR   R¡   R   RD   R’   R¬   Rµ   R·   R¹   RÃ   RÅ   RÓ   R×   RÞ   t   skipift   skip_if_no_intnaRá   (    (    (    sN   lib/python2.7/site-packages/dask/dataframe/tests/test_arithmetics_reduction.pyt   <module>   sH   "g		aUT	F	0	b$]$6$,$		9$Z	 $C0