ó
¦–Õ\c           @   s  d  d l  Z d  d l Z d  d l j j Z d  d l Z d  d l	 m
 Z
 d  d l m Z d  d l j Z d  d l j Z d  d l m Z d  d l m Z m Z d  d l m Z d  d l m Z m Z d „  Z d	 „  Z d
 „  Z d „  Z  d „  Z! d „  Z" d „  Z# d „  Z$ d „  Z% d „  Z& d „  Z' d „  Z( e j) j* d d ƒ d „  ƒ Z+ d „  Z, d „  Z- d „  Z. d „  Z/ d „  Z0 d „  Z1 e j) j2 d e3 e4 g ƒ d „  ƒ Z5 d „  Z6 d  „  Z7 d! „  Z8 d" „  Z9 d# „  Z: d$ „  Z; d% „  Z< d& „  Z= d' „  Z> d( „  Z? d) „  Z@ d* „  ZA d+ „  ZB d S(,   iÿÿÿÿN(   t   Lock(   t
   ThreadPool(   t   _meta_from_array(   t   Delayedt   delayed(   t   tmpfile(   t	   assert_eqt   is_categorical_dtypec       
   C   sð  t  j d d g d d g g d t  j ƒ}  t |  ƒ } t | t j ƒ sN t ‚ | d j t  j k sj t ‚ | d j t  j k s† t ‚ t	 j
 | j t j d d g ƒ ƒ t  j d d g d	 d
 g g d t  j ƒ}  t |  d d d g ƒ} t | t j ƒ st ‚ | d j t  j k st ‚ | d j t  j k s:t ‚ t	 j
 | j t j d d g ƒ ƒ t j t ƒ  t |  d d d d g ƒWd  QXt  j j d ƒ t  j j d d ƒ }  t j |  d d d d d g ƒ}  t |  j ƒ d k sìt ‚ d  S(   Ni   i   i   i   t   dtypei    g      ð?g       @g      @g      @t   columnst   at   bt   ci*   iÉ   t	   chunksizei2   i   (   t   npt   arrayt   int64R   t
   isinstancet   pdt	   DataFramet   AssertionErrorR   t   tmt   assert_index_equalR	   t   Indext   float64t   pytestt   raisest
   ValueErrort   randomt   seedt   randt   ddt
   from_arrayt   lent	   divisions(   t   xt   res(    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt   test_meta_from_array   s$    *"*"!c       	   C   sŽ  t  j d d d g d t  j ƒ}  t |  ƒ } t | t j ƒ sE t ‚ | j t  j k s] t ‚ t  j d d d g d t  j	 ƒ}  t |  d d	 ƒ} t | t j ƒ s¨ t ‚ | j
 d	 k s½ t ‚ | j t  j	 k sÕ t ‚ t  j d d d g d t  j	 ƒ}  t |  d d	 g ƒ} t | t j ƒ s#t ‚ | d	 j t  j	 k s?t ‚ t j | j t j d	 g ƒ ƒ t j t ƒ  t |  d d
 d g ƒWd  QXd  S(   Ng      ð?g       @g      @R   i   i   i   R	   R#   R
   R   (   R   R   R   R   R   R   t   SeriesR   R   t   object_t   nameR   R   R   R	   R   R   R   R   (   R#   R$   (    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt   test_meta_from_1darray0   s     !!!c       
   C   s‹  t  j g  t d ƒ D] }  |  |  d f ^ q d d t  j f d t  j f g ƒ} t | ƒ } t | t j ƒ st t	 ‚ | d j
 t  j k s t	 ‚ | d j
 t  j k s¬ t	 ‚ t j | j t j d d g ƒ ƒ t | d d d g ƒ} t | t j ƒ sþ t	 ‚ | d j
 t  j k st	 ‚ | d j
 t  j k s6t	 ‚ t j | j t j d d g ƒ ƒ t j t ƒ  t | d d d d g ƒWd  QXd  S(   Ni
   R   R
   R   R	   R   (   R   R   t   rangeR   R   R   R   R   R   R   R   R   R   R	   R   R   R   R   (   t   iR#   R$   (    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt   test_meta_from_recarrayF   s    /!""c       
   C   sj  t  j d ƒ j d d ƒ }  t j |  d d ƒ} t | t j ƒ sH t ‚ t j	 | j
 t j d d d g ƒ ƒ | j d k s‚ t ‚ | j ƒ  j |  k j ƒ  s£ t ‚ t j |  d d d
 t d ƒ ƒ} t | t j ƒ sÜ t ‚ t j	 | j
 t j d d d g ƒ ƒ | j d k st ‚ | j ƒ  j |  k j ƒ  s7t ‚ t j t ƒ  t j t  j d d ƒ ƒ Wd  QXd  S(   Ni
   i   R   i   i    i   i   i   i	   R	   t   abcR
   R   R   t   shapei   (   i    i   i   i	   (   i    i   i   i	   (   i
   i
   i
   (   R   t   aranget   reshapeR   R    R   R   R   R   R   R	   R   R   R"   t   computet   valuest   allt   listR   R   R   t   ones(   R#   t   d(    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt   test_from_arrayY   s    %!!%!c          C   sÏ   t  j g  t d ƒ D] }  |  |  d f ^ q d d d g ƒ} t j | d d ƒ} t | t j ƒ sk t ‚ t | j	 ƒ d d g k sŒ t ‚ | j
 d k s¡ t ‚ | j ƒ  j d t ƒ | k j ƒ  sË t ‚ d  S(   Ni
   R   R
   t   i4R   R   i   i    i   i	   t   index(   R
   R8   (   R   R8   (   i    i   i   i	   (   R   R   R*   R   R    R   R   R   R4   R	   R"   R1   t
   to_recordst   FalseR3   (   R+   R#   R6   (    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt!   test_from_array_with_record_dtypek   s    /!c             sG   t  j d ƒ ‰  t d d ƒ }  ‡  f d †  } |  j | t d ƒ ƒ d  S(   Nt   bcolzt	   processesi   c            sÓ  ˆ  j  d d d g d d d g d d d g g d	 d
 d d g ƒ} t j | d d ƒ} | j d k sl t ‚ t | j d ƒ s… t ‚ t | j j	 d d ƒ ƒ d d d g k sµ t ‚ t | j
 j	 d d ƒ ƒ d d d g k så t ‚ t j | d d d d
 ƒ} t | j j	 d d ƒ ƒ } | d d d g k sK| d d d g k sKt ‚ t t j | d d ƒj ƒ t t j | d d ƒj ƒ k st ‚ t t j | d d ƒj ƒ t t j | d d ƒj ƒ k sÏt ‚ d  S(   Ni   i   i   g      ð?g       @g      @R
   R   t   namesR#   t   yR   t	   schedulert   syncR9   (   t   ctableR   t
   from_bcolzt   npartitionsR   R   t   dtypesR4   R#   R1   R
   R9   t   sortedt   dask(   R+   t   tR6   t   L(   R=   (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt   checkz   s    0000'(   R   t   importorskipR   t   mapR*   (   t   poolRK   (    (   R=   s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt    test_from_bcolz_multiple_threadsv   s    c          C   sw  t  j d ƒ }  |  j d d d g d d d g d d	 d g g d
 d d d g ƒ} t j | d d ƒ} | j d k s{ t ‚ t | j d ƒ s” t ‚ t	 | j
 j d d ƒ ƒ d d d g k sÄ t ‚ t	 | j j d d ƒ ƒ d d	 d g k sô t ‚ t	 | j j d d ƒ ƒ } | d d d g k s*t ‚ t j | d d d d ƒ} t	 | j j d d ƒ ƒ } | d d d g k s| d d d g k st ‚ t t j | d d ƒj ƒ t t j | d d ƒj ƒ k sÒt ‚ t t j | d d ƒj ƒ t t j | d d ƒj ƒ k st ‚ t j | d d ƒj } | j d ƒ | j ƒ  t t j | d d ƒj ƒ t | ƒ k sst ‚ d  S(   NR=   i   i   i   g      ð?g       @g      @R
   R   R?   R#   R@   R   RA   RB   i    R9   i   g      @(   i   g      @R   (   R   RL   RC   R   RD   RE   R   R   RF   R4   R#   R1   R
   R9   RG   RH   t   appendt   flush(   R=   RI   R6   RJ   t   dsk(    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt   test_from_bcolz   s,    0000''
c             sû   t  j d ƒ }  t t ƒ  ƒ ‰  |  j d d d g d d d g d d	 d g g d
 d d d g d d ƒ} t j | d d ƒ} t j | d d d t ƒ} t j | d d d t ƒ} t	 | | ƒ t	 | | ƒ t
 ‡  f d †  | j j ƒ  Dƒ ƒ s÷ t ‚ d  S(   NR=   i   i   i   g      ð?g       @g      @R
   R   R?   R#   R@   t   chunklenR   t   lockc         3   s+   |  ]! } | D] } t  | ˆ  ƒ Vq q d  S(   N(   R   (   t   .0t   vt   item(   t   locktype(    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pys	   <genexpr>¼   s   (   R   RL   t   typeR    RC   R   RD   t   TrueR;   R   t   anyRH   R2   R   (   R=   RI   R
   R   R   (    (   RY   s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt   test_from_bcolz_no_lock°   s    0c       
   C   s¹   t  j d ƒ }  t d ƒ ˜ } |  j d d d g d d d g d	 d
 d	 g g d d d d	 g d | ƒ} | j ƒ  t j | d d ƒ} t | j j	 ƒ  ƒ d d d g k s¯ t
 ‚ Wd  QXd  S(   NR=   s   .bcolzi   i   i   g      ð?g       @g      @R
   R   R?   R#   R@   t   rootdirR   (   R   RL   R   RC   RQ   R   RD   R4   R#   R1   R   (   R=   t   fnRI   R6   (    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt   test_from_bcolz_filenameÁ   s    0	
c          C   s›   t  j d ƒ }  |  j d d d g d d d g d d	 d g g d
 d d d g ƒ} t j | d d ƒ} t | j d j ƒ  j ƒ d d d g k s— t	 ‚ d  S(   NR=   i   i   i   g      ð?g       @g      @R
   R   R?   R#   R@   R   i    (
   R   RL   RC   R   RD   R4   t   locR1   R	   R   (   R=   RI   t   df(    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt   test_from_bcolz_column_orderÎ   s
    0c       
   C   s!  t  d ƒ }  t j t d |  d t j j t |  ƒ ƒ ƒ d t j d d d t |  ƒ ƒ ƒ} t	 j
 | d ƒ } t | j ƒ d k s‡ t ‚ t | j ƒ t | j ƒ d	 k s¯ t ‚ t | j d
 t | j d
 ƒ ƒ sØ t ‚ t j | | j ƒ  ƒ t	 j
 | d d ƒ} d } t j t ƒ   } t	 j
 | d d d d ƒWd  QX| t | j ƒ k sUt ‚ t j t t f ƒ  } t	 j
 | ƒ Wd  QX| t | j ƒ k s›t ‚ t | j ƒ d k s¶t ‚ t | j ƒ t | j ƒ d	 k sÞt ‚ t | j d
 t | j d
 ƒ ƒ st ‚ t j | | j ƒ  ƒ d  S(   Nt   aaaaaaabbbbbbbbcccccccR
   R   R9   t   startt   20120101t   periodsi   i   i    R   i   s;   Exactly one of npartitions and chunksize must be specified.RE   i   (   R4   R   R   t   dictR   R   t   randnR!   t
   date_rangeR   t   from_pandasRH   R   R"   R   RZ   R9   R   t   assert_frame_equalR1   R   R   R   t   strt   value(   R
   Rb   t   ddft   msgt   err(    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt   test_from_pandas_dataframe×   s(    -!()()c          C   s»  t  j i d d d g d 6ƒ }  xÞ d d d g D]Í } t j |  | ƒ } t | j ƒ  ƒ d k se t ‚ | j d d k s~ t ‚ | j d d k s— t ‚ t j |  d | ƒ} t | j ƒ  ƒ d k sÊ t ‚ | j d d k sã t ‚ | j d d k s/ t ‚ q/ Wx´ t t	 g D]¦ } x d d g D] } t  j i d g | d 6ƒ }  t j |  d	 d
 d | ƒ} t
 |  | ƒ t  j d g | d d ƒ} t j | d	 d
 d | ƒ} t
 | | ƒ q WqWd  S(   Ni   i   i   R#   i   i    iÿÿÿÿR   RE   i   t   sortR(   (   R   R   R   Rk   R!   R1   R   R"   R[   R;   R   R&   (   Rb   R+   R
   Rs   Ro   t   st   ds(    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt   test_from_pandas_smallî   s$    t   reasont    c       	   C   s’   t  j i d d d d d d g d 6t d ƒ d	 6d
 d d d d d d g ƒ}  x> d d d d g D]* } t j |  d | ƒj | k s` t ‚ q` Wd  S(   Ni   i   i   i   i   i   R#   t   abdabdR@   R9   i
   i   i   i(   i2   i<   RE   (   R   R   R4   R   Rk   RE   R   (   Rb   t   n(    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt(   test_from_pandas_npartitions_is_accurate  s    2c          C   sh  d }  t  j t j j |  ƒ d t  j d d d |  ƒ ƒ} t j | d ƒ } t | j	 ƒ d k sf t
 ‚ t | j ƒ t | j	 ƒ d k sŽ t
 ‚ t | j d t | j d ƒ ƒ s· t
 ‚ t j | | j ƒ  ƒ t j | d	 d
 ƒ} t | j	 ƒ d k sý t
 ‚ t | j ƒ t | j	 ƒ d k s%t
 ‚ t | j d t | j d ƒ ƒ sNt
 ‚ t j | | j ƒ  ƒ d  S(   Ni   R9   Re   Rf   Rg   i   i   i    R   i   (   R   R&   R   R   Ri   Rj   R   Rk   R!   RH   R   R"   R   RZ   R9   R   t   assert_series_equalR1   (   Rz   Rt   Ru   (    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt   test_from_pandas_series  s    ()()c          C   s¢   t  j i d d d g d 6d d d d g ƒ}  t j |  d d d t ƒ} | j sY t ‚ t |  | ƒ t j |  d d d t ƒ} | j s‘ t ‚ t |  | ƒ d  S(	   Ni   i   i   R#   R9   RE   Rs   R   (   R   R   R   Rk   R;   t   known_divisionsR   R   (   Rb   Ro   (    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt   test_from_pandas_non_sorted  s    .c          C   s]   t  j i d g d 6d d g ƒ}  t j |  d d ƒ} | j d k sL t ‚ t | |  ƒ d  S(   Ni   R#   R9   RE   (   i   i   (   R   R   R   Rk   R"   R   R   (   Rb   Ro   (    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt   test_from_pandas_single_row*  s    "c          C   sž   t  j i d d d d d d d d d	 g	 d
 6t t d ƒ ƒ d 6ƒ }  |  j j d ƒ |  _ t j |  d ƒ } t |  | ƒ t j |  d d ƒ} t |  | ƒ d  S(   Ns
   2015-08-28s
   2015-08-27s
   2015-08-26s
   2015-08-25s
   2015-08-24s
   2015-08-21s
   2015-08-20s
   2015-08-19s
   2015-08-18t   Datei	   t   Vals   datetime64[ns]i   R   (	   R   R   R4   R*   R   t   astypeR   Rk   R   (   Rb   Ro   (    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt$   test_from_pandas_with_datetime_index1  s    	c          C   s/  t  j d d d ƒ}  t j |  d d d g ƒ } t | t j ƒ sH t ‚ t j | j	 t
 j d d d g ƒ ƒ t | j ƒ d	 d d
 d g k s” t ‚ | j d d ƒ j |  j d d ƒ k j ƒ  sÇ t ‚ t j |  d d d d g ƒ} t | t j ƒ sý t ‚ t j | j	 | j	 ƒ | j | j k s+t ‚ d  S(   Ni
   i   t   chunksi   i   R
   R   R   i    i   i	   RA   RB   R	   (   i
   i   (   i   i   (   t   daR5   R   t   from_dask_arrayR   R   R   R   R   R	   R   R   R4   R"   R1   R2   R3   R    (   R#   Rb   t   df2(    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt   test_DataFrame_from_dask_array=  s    %'3c          C   s"  t  j d d d ƒ}  t j |  d ƒ } t | t j ƒ s? t ‚ | j d k sT t ‚ t | j	 ƒ d d d d g k s{ t ‚ | j
 d d	 ƒ j |  j
 d d	 ƒ k j ƒ  s® t ‚ t j |  ƒ } t | t j ƒ sÕ t ‚ | j d  k sê t ‚ t j |  ƒ } t | t j ƒ st ‚ t | | ƒ d  S(
   Ni
   R…   i   R
   i    i   i	   RA   RB   (   R†   R5   R   R‡   R   R&   R   R(   R4   R"   R1   R2   R3   t   NoneR    R   (   R#   t   sert   ser2(    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt   test_Series_from_dask_arrayM  s    '3t   as_framec         C   sq   t  j t j t d ƒ d t d ƒ ƒd d ƒ} |  rE | j ƒ  } n  t  j | j d | j	 ƒ} t
 | | ƒ d  S(   Ni
   R9   t
   abcdefghijRE   i   (   R   Rk   R   R&   R*   R4   t   to_frameR‡   R2   R9   R   (   RŽ   Rt   t   result(    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt   test_from_dask_array_index`  s    '	c       
   C   s  t  j j d d d d ƒ }  t j t ƒ , } t j |  d t j	 t
 j d ƒ ƒ ƒWd  QX| j d ƒ sm t ‚ t j t j t d ƒ ƒ d d	 ƒ} t j t j t d ƒ ƒ d d
 ƒ} t j t ƒ   } t j | j d | j ƒWd  QX| j d ƒ sû t ‚ | j d ƒ st ‚ d  S(   Nt   sizei
   R…   i   R9   s   must be an instancei   RE   i   i   s   must have the same numbers   4 != 2(   i
   (   i   (   R†   R   t   uniformR   R   R   R   R‡   R   R   R   R/   t   matchR   Rk   R&   R*   R2   R9   (   R#   t   mR
   R   (    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt!   test_from_dask_array_index_raisesj  s    +$$c          C   sÎ  t  j d d d ƒ}  t j t ƒ  t j |  ƒ Wd  QXt j t ƒ  t j |  j ƒ  ƒ Wd  QXt  j d d d ƒ}  t j |  ƒ } t	 | t j
 ƒ s t ‚ | j ƒ  j |  j ƒ  k j ƒ  sÄ t ‚ t j | j t j d d d g ƒ ƒ t j |  j ƒ  ƒ } t	 | t j
 ƒ st ‚ | j ƒ  j |  j ƒ  k j ƒ  s=t ‚ t j | j t j d d d g ƒ ƒ t j t ƒ  t j |  d d g ƒWd  QXt j t ƒ ! t j |  j ƒ  d d g ƒWd  QXt j |  d d d	 d
 g ƒ} t	 | t j
 ƒ söt ‚ | j ƒ  j |  j ƒ  k j ƒ  st ‚ t j | j t j d d	 d
 g ƒ ƒ t j |  j ƒ  d d d	 d
 g ƒ} t	 | t j
 ƒ s~t ‚ | j ƒ  j |  j ƒ  k j ƒ  s¥t ‚ t j | j t j d d	 d
 g ƒ ƒ d  S(   Ni   R…   i   i
   i    i   R	   R
   R   R   (   i   i   i   (   i
   i   (   i   i   (   R†   R5   R   R   R   R   R‡   R    R1   R   R   R   R2   R3   R   R   R	   R   R   (   R#   t   d1t   d2(    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt'   test_from_dask_array_compat_numpy_arrayy  s4    '%'%"'%$'c          C   s¯  t  j d d d ƒ}  t j |  ƒ } t | t j ƒ s< t ‚ | j ƒ  j |  j ƒ  k j	 ƒ  sc t ‚ | j
 d  k sx t ‚ t j |  j ƒ  ƒ } t | t j ƒ s¥ t ‚ | j ƒ  j |  j ƒ  k j	 ƒ  sÌ t ‚ | j
 d  k sá t ‚ t j |  d d ƒ} t | t j ƒ st ‚ | j ƒ  j |  j ƒ  k j	 ƒ  s5t ‚ | j
 d k sJt ‚ t j |  j ƒ  d d ƒ} t | t j ƒ s}t ‚ | j ƒ  j |  j ƒ  k j	 ƒ  s¤t ‚ | j
 d k s¹t ‚ t j |  d d g ƒ} t | t j ƒ sét ‚ | j ƒ  j |  j ƒ  k j	 ƒ  st ‚ t j | j t j d g ƒ ƒ t j |  j ƒ  d d g ƒ} t | t j ƒ set ‚ | j ƒ  j |  j ƒ  k j	 ƒ  sŒt ‚ t j | j t j d g ƒ ƒ d  S(   Ni
   R…   i   R	   R(   (   R†   R5   R   R‡   R   R&   R   R1   R2   R3   R(   RŠ   R    R   R   R   R	   R   R   (   R#   R˜   R™   (    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt*   test_from_dask_array_compat_numpy_array_1dž  s2    ''''''c          C   s¸   t  j d
 d g d d d g ƒ}  t j |  d d ƒ} t j | ƒ } t j | j t	 j
 d d g ƒ ƒ t | t	 j |  ƒ ƒ t t j | d	 d d g ƒt	 j |  d	 d d g ƒƒ d  S(   Ni   R
   i   R   R   R8   t   objectR…   R	   (   i   R
   (   i   R   (   R
   R8   (   R   Rœ   (   i   (   R   R   R†   R    R   R‡   R   R   R	   R   R   R   R   (   R#   R@   Rb   (    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt!   test_from_dask_array_struct_dtypeÁ  s    !"c          C   sÀ  t  j i t j d ƒ d	 6t j d d ƒ d
 6d t j t j f f t j d ƒ j ƒ }  t j |  ƒ } t | t j	 ƒ s} t
 ‚ | j s t
 ‚ t | t j	 t j d ƒ ƒ d t ƒi t j j d ƒ d 6t j j d ƒ d 6} t  j | d t j t j f d f t j ƒ }  t j |  ƒ } t | t j ƒ s2t
 ‚ | j sBt
 ‚ t | t j |  j ƒ  ƒ d t ƒt  j | d t j t j f t j f f t j ƒ }  t j t ƒ  t j |  ƒ } Wd  QXd  S(   Ni   R#   i    i   i   t   check_indexi   i   (   R#   i    (   R#   i   (   i   i   (   R#   i    i    (   i   i   (   R#   i   i    (   i   (   R†   t   ArrayR   R/   t   nanR   R   R‡   R   R&   R   R~   R   R   R;   R   R   R   R1   R   R   R   (   t   dxRb   RR   (    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt#   test_from_dask_array_unknown_chunksÌ  s     /'%-"3c          C   s3  t  j d ƒ t j i d d d d g d 6d d d	 d
 g d 6d t j d d d d g d d ƒƒ}  t j |  d ƒ } | j ƒ  j ƒ  t	 |  j
 t ƒ ƒ k s¢ t ‚ | j t ƒ j ƒ  t	 |  j
 t ƒ ƒ k sÒ t ‚ | j j t ƒ j ƒ  t	 |  j j ƒ  ƒ k st ‚ | j j ƒ  j ƒ  t	 |  j ƒ k s/t ‚ d  S(   Ns   dask.bagR
   R   R   R6   R#   i   i   i   i   R@   R9   g      ð?g       @g      @g      @R(   t   ind(   R   RL   R   R   R   R   Rk   t   to_bagR1   R4   t
   itertuplesR;   R   R[   R#   t	   iteritems(   R
   Ro   (    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt   test_to_bagä  s    $-03c          C   s¢   t  j d ƒ d d l m }  t j i d d d d g d 6d	 d
 d d g d 6d t j d d d d g d d ƒƒ} t j | d	 ƒ } |  | j	 ƒ  | j	 ƒ  ƒ d  S(   Ns
   dask.arrayiÿÿÿÿ(   R   R
   R   R   R6   R#   i   i   i   i   R@   R9   g      ð?g       @g      @g      @R(   R£   (
   R   RL   t   dask.array.utilsR   R   R   R   R   Rk   R:   (   R   Rb   Ro   (    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt   test_to_recordsñ  s    $c          C   sÝ  t  j d t j j d d ƒ d t d ƒ ƒ }  |  j d  |  j d d !|  j d d	 !|  j d	 d !g } g  t d ƒ D] } t | j	 ƒ | ƒ ^ qq } | d
 j
 ƒ  } d „  } x+d  d
 d d d	 d g g D]} t j | d | d | ƒ} t | |  ƒ t | j | ƒ j
 ƒ  ƒ d d d d g k s(t ‚ | j | d  k	 k sCt ‚ t j g  | D] } | j ^ qPd | j d | ƒ}	 t |	 |  j ƒ t |	 j | ƒ j
 ƒ  ƒ d d d d g k sºt ‚ | j | d  k	 k sÇ t ‚ qÇ Wg  |  j D] }
 |
 d f ^ qã} t t j | d | ƒ|  ƒ t t j g  | D] } | j ^ q'd d ƒ|  j ƒ t j t ƒ * t j | d | d d
 d d d	 g ƒWd  QXt j t ƒ # } t j | d | j ƒj
 ƒ  Wd  QXt | j ƒ j d ƒ sÙt ‚ d  S(   Nt   dataR“   i
   i   R	   t   abcdi   i   i   i    c         S   s   t  j t |  ƒ g ƒ S(   N(   R   R&   R!   (   R#   (    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt   <lambda>  Rx   t   metaR"   i   t   f8R
   s)   Metadata mismatch found in `from_delayed`(   i
   i   (   R
   R®   (   R   R   R   R   t   normalR4   t   ilocR*   R   t   __getitem__R1   RŠ   R   t   from_delayedR   t   map_partitionsR   R~   R
   R	   R   R   R   Rm   Rn   t
   startswith(   Rb   t   partsR+   t   dfsR­   t   my_lenR"   Ro   R6   Rt   R   t   meta2t   e(    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt   test_from_delayedü  s.    -7.	"3+	3"5+"c       
      s  t  j d d d d d d g d g  t d ƒ D]! }  t |  d	 |  d	 d	 ƒ ^ q+ d
 t d ƒ ƒ ‰  t  j d d d d d d g d t d	 ƒ g ƒ } t j t ‡  f d †  ƒ ƒ  g d | ƒ} t j t ƒ  } | j	 ƒ  j
 d d ƒ Wd  QXd } | t | j ƒ k s
t ‚ d  S(   NR	   s   (1)s   (2)t   datet   entt   valRª   i   i   R9   c              s   ˆ  S(   N(    (    (   Rb   (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyR¬   )  Rx   R­   RA   RB   sR   The columns in the computed data do not match the columns in the provided metadata(   R   R   R*   R   R²   R   R   R   R   t   reset_indexR1   Rm   Rn   R   (   R+   t   misordered_metaRo   t   infoRp   (    (   Rb   s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt!   test_from_delayed_misordered_meta  s    	4	*c          C   sŸ   t  j i d d g d 6d d d g ƒ}  t  j i d d g d 6d d d g ƒ} t j t |  ƒ t | ƒ g d	 d
 ƒ} | j s† t ‚ | j d k s› t ‚ d  S(   Ni   i   R#   R9   i
   i   id   iÈ   R"   RG   (   i   id   iÈ   (   R   R   R   R²   R   R~   R   R"   (   R
   R   t   A(    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt   test_from_delayed_sorted3  s
    (('c          C   sç   t  j i d d d d g d 6d d d d	 g d
 6ƒ }  t j |  d d ƒ} | j ƒ  \ } } t | t ƒ sq t ‚ t | t ƒ s† t ‚ t | j	 ƒ  |  j
 d  ƒ | j j ƒ  } | j ƒ  } t | t ƒ sÐ t ‚ t | j	 ƒ  | ƒ d  S(   Ni   i   i   i   R#   i
   i   i   i(   R@   RE   (   R   R   R   Rk   t
   to_delayedR   R   R   R   R1   R°   R#   t   sum(   Rb   Ro   R
   R   R#   R¡   (    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt   test_to_delayed=  s    5c          C   sS  t  j i t t d ƒ ƒ d 6ƒ }  t j |  d d ƒ} | d j d  } | j ƒ  d } t | j	 ƒ d k  ss t
 ‚ | j d t ƒ d } t | j	 ƒ t | j	 ƒ k s­ t
 ‚ t | j d ƒ | j ƒ  ƒ t | j d ƒ | j ƒ  ƒ | j j ƒ  } | j ƒ  } | j d t ƒ } t | j	 ƒ t | j	 ƒ k  s6t
 ‚ t | j ƒ  | j ƒ  ƒ d  S(   Ni   R#   RE   i   i   i    t   optimize_graph(   R   R   R4   R*   R   Rk   Ra   RÄ   R!   RH   R   R;   RG   R   t   get_partitionR1   R#   RÅ   (   Rb   Ro   t   ddf2R6   R™   R#   R¡   t   dx2(    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt   test_to_delayed_optimize_graphN  s    "$$c          C   s  t  j d d d ƒ}  t j i t j d d d d d ƒd 6t t d ƒ ƒ d	 6ƒ } t j | d
 d ƒj	 d ƒ } t j
 |  d | j d d ƒ} | j j | j j k s­ t ‚ | j j | j j k sË t ‚ t j i t j d d d ƒ d 6t t d ƒ ƒ d	 6ƒ } t j | d
 d ƒj	 d ƒ } t j
 |  d | j d d ƒ} | j j | j j k s]t ‚ | j j | j j k s{t ‚ d  S(   Ni
   R…   i   s
   2019-01-01Rg   t   freqt   1TR»   t   val1RE   i   R9   R	   t   val2i    i   gš™™™™™¹?t   idx(   i
   (   i   (   R†   R5   R   R   Rj   R4   R*   R   Rk   t	   set_indexR‡   R9   R   R   R(   R   R/   (   R#   Rb   Ro   RÉ   (    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt    test_from_dask_array_index_dtypec  s    %(C   t   numpyR   t   pandasR   t   pandas.util.testingt   utilt   testingR   R   t	   threadingR    t   multiprocessing.poolR   t
   dask.arrayR   R†   t   dask.dataframet	   dataframeR   t   dask.dataframe.io.ioR   t   dask.delayedR   R   t
   dask.utilsR   t   dask.dataframe.utilsR   R   R%   R)   R,   R7   R<   RO   RS   R]   R`   Rc   Rr   Rv   t   markt   xfailR{   R}   R   R€   R„   R‰   R   t   parametrizeR[   R;   R’   R—   Rš   R›   R   R¢   R§   R©   Rº   RÁ   RÃ   RÆ   RË   RÒ   (    (    (    s>   lib/python2.7/site-packages/dask/dataframe/io/tests/test_io.pyt   <module>   sX   							 												$
		%	#					 		
		