ó
šxŠ\c           @   sV  d  d l  Z  d  d l Z d  d l m Z d  d l Z d  d l m Z m Z d  d l m	 Z	 d  d l
 m Z d  d l Z d  d l m Z m Z m Z m Z m Z d  d l m Z d  d l m Z d  d	 l m Z m Z m Z m Z d  d
 l m Z d  d l m  Z! d  d l" m# Z# d e f d „  ƒ  YZ$ d e% f d „  ƒ  YZ& d e% f d „  ƒ  YZ' d S(   iÿÿÿÿN(   t   nan(   t
   BlockIndext   IntIndex(   t   lrange(   t   PerformanceWarning(   t	   DataFramet   Panelt   Seriest   bdate_ranget   compat(   t   DatetimeIndex(   t   frame(   t   SparseArrayt   SparseDataFramet   SparseDtypet   SparseSeries(   t   SharedWithSparse(   t   testing(   t   BDayt   TestSparseDataFramec        	   B   s€  e  Z e Z e e j ƒ Z e e j ƒ Z	 d  „  Z
 d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z  d „  Z! d „  Z" d „  Z# d „  Z$ d „  Z% d „  Z& d „  Z' d „  Z( d „  Z) d  „  Z* d! „  Z+ d" „  Z, d# „  Z- d$ „  Z. d% „  Z/ e0 j1 j2 d& e3 e4 g d' d( g d( dX g d) d* g e6 j7 d+ ƒ e6 j8 g e6 j9 d, ƒ e6 j8 g g ƒ d- „  ƒ Z: d. „  Z; d/ „  Z< d0 „  Z= d1 „  Z> d2 „  Z? d3 „  Z@ d4 „  ZA d5 „  ZB d6 „  ZC d7 „  ZD d8 „  ZE d9 „  ZF d: „  ZG d; „  ZH d< „  ZI d= „  ZJ d> „  ZK d? „  ZL d@ „  ZM dA „  ZN dB „  ZO dC „  ZP dD „  ZQ dE „  ZR e0 j1 jS dF ƒ dG „  ƒ ZT dH „  ZU dI „  ZV dJ „  ZW dK „  ZX dL „  ZY e0 j1 jZ dM dN ƒ dO „  ƒ Z[ dP „  Z\ dQ „  Z] dR „  Z^ dS „  Z_ e0 j1 jZ dM dT ƒ dU „  ƒ Z` dV „  Za dW „  Zb RS(Y   c         C   s„   x= | j  ƒ  D]/ \ } } | j | } t j | | d t ƒq Wx= | j  ƒ  D]/ \ } } | j | } t j | | d t ƒqM Wd  S(   Nt
   check_kind(   t   iterrowst   loct   tmt   assert_sp_series_equalt   False(   t   selft   float_framet   float_string_framet   kt   vt   exp(    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_iterrows    s    c         C   s…   x~ t  | j ƒ  ƒ D]j \ } } |  j j | d ƒ } | d | _ | j | d  d  … f j d t ƒ } t j	 | | d t
 ƒq Wd  S(   Ni   i    t   dropR   (   t	   enumeratet
   itertuplest   klasst   _constructor_slicedt   namet   iloct   reset_indext   TrueR   R   R   (   R   R   t   it   tupt   st   expected(    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_itertuples*   s
    %c         C   sŠ   t  j d d t  j d d d g d d ƒ} t i | d 6d	 t d
 ƒ ƒ} | j d ƒ j d ƒ } | j d d d ƒ} t j | | ƒ d  S(   Ni    i   i   i   i   t   dtypet   floatt   foot   indexi   i   t
   fill_value(	   t   npt   arrayR    R   t   ranget   fillnat   addR   t   assert_sp_frame_equal(   R   t   datt   dfR   t   res(    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt"   test_fill_value_when_combine_const1   s
    *c         C   sŽ   | j  } | j d k s t ‚ t d t j d ƒ ƒ } | j  } | j d k sT t ‚ t d t j d ƒ ƒ } | j  } | j d k sŠ t ‚ d  S(   Ni    R2   i
   t   columns(   i    i    (   i
   i    (   i    i
   (   t   valuest   shapet   AssertionErrorR   R4   t   arange(   R   t   empty_frameR   t   emptyt   no_colst   matt   no_index(    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_values:   s    			c         C   sP   | j  ƒ  } t | t ƒ s! t ‚ t j | | ƒ | j j | j ƒ sL t ‚ d  S(   N(   t   copyt
   isinstanceR   RA   R   R9   R2   t	   identical(   R   R   t   cp(    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt	   test_copyF   s    c         C   s+  x2 t  j | ƒ D]! \ } } t | t ƒ s t ‚ q Wt | d j t ƒ sQ t ‚ | d j d k sj t ‚ t j	 d d d d d d d d d d g
 d	 d d
 d ƒ} t
 j | | d j ƒ t
 j t j d d d d d d d d d d g
 ƒ | d j ƒ  j ƒ t d t j d ƒ d t j d ƒ ƒ } x2 t  j | ƒ D]! \ } } t | t ƒ s5t ‚ q5Wd „  t  j | ƒ Dƒ } t | ƒ } t
 j | | ƒ | j d  }	 t | d |	 d | j d | j d | j d t ƒ}
 | j |	 ƒ } t
 j |
 | d t ƒt j t ƒ  | j |	 d d ƒWd  QXt | ƒ d  S(   Nt   Ai    g      ð?g       @g      @g      @g      @g      @R3   t   kindt   blockg        R>   i
   R2   c         S   s%   i  |  ] \ } } | j  ƒ  | “ q S(    (   t   to_dict(   t   .0t   cR,   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pys
   <dictcomp>g   s   	 i   t   default_fill_valuet   default_kindRI   t   exact_indicest   level(   R	   t	   iteritemsRJ   R   RA   t   sp_indexR   R3   t   pdR   R   t   assert_sp_array_equalR?   t   assert_numpy_array_equalR4   R5   t   to_denseR   RB   R9   R2   R>   RT   RU   R)   t   reindexR   t   pytestt   raisest	   TypeErrort   repr(   R   R   t   float_frame_int_kindt   float_frame_fill0t   colt   seriesR-   t   sdft   datat   idxt   const	   reindexed(    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_constructorO   s6    *	'	c         C   s…   i d d g d 6d d g d 6} t  d | ƒ } t j rV t  d | d t d	 ƒ ƒ } n t  d | d t d
 ƒ ƒ } t j | | ƒ d  S(   Ni   i   t   bi    i   t   aRh   R>   t   bat   ab(   R   R	   t   PY36t   listR   R9   (   R   t   dR   R-   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_constructor_dict_order~   s     	c      
   C   så   t  | j ƒ } t  | d j d | j d d g ƒ} t j | | j d d g ƒ ƒ t j t | j d d g d d ƒt j t	 d d ƒ t  | j d | j d  ƒWd  QXt j t	 d d	 ƒ t  | j d | j
 d  ƒWd  QXd  S(
   NRN   R2   R>   RW   i   t   matchs   ^Index lengthiÿÿÿÿs   ^Column length(   R   R?   R2   R   R9   R^   R_   R`   Ra   t
   ValueErrorR>   (   R   R   t   sp(    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_constructor_ndarrayŠ   s     c         C   sC   t  ƒ  } t | j ƒ d k s$ t ‚ t | j ƒ d k s? t ‚ d  S(   Ni    (   R   t   lenR2   RA   R>   (   R   Rw   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_constructor_empty    s    	c         C   s,   | j  ƒ  } t | ƒ } t j | | ƒ d  S(   N(   R]   R   R   R9   (   R   R   t   denseRw   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_constructor_dataframe¥   s    c         C   sW   t  j d d d g ƒ } t d t d ƒ d | ƒ } | d j | d j k sS t ‚ d  S(	   Ng      ø?g      @g      @R>   i   R2   i    i   (   R4   R5   R   R   R2   RA   (   R   t   arrRg   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt#   test_constructor_convert_index_onceª   s    c         C   sù   t  t j j d ƒ d d ƒ} | j d d ƒ } t | t ƒ sE t ‚ t | ƒ } t | t ƒ sf t ‚ t  t j j d ƒ d d ƒ} t  t j j d ƒ d d ƒ} | j	 t
 ƒ } t j | j d *| j d t j ƒ } d | j d *| j d d ƒ } d  S(   Ni'  R&   Rn   R3   i    Rm   i'  (   R   R4   t   randomt   randnt	   to_sparseRJ   R   RA   R   t   astypeR0   t   NaNR   (   R   t   xR;   t   yt   x2t   x_sparset   y_sparse(    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_constructor_from_series¯   s    c         C   s–   t  t j j d ƒ d d ƒ} t | ƒ } | j ƒ  j ƒ  } t j | | ƒ t  t j j d ƒ ƒ } t | ƒ } | j ƒ  j ƒ  } t j | | ƒ d  S(   Ni'  R&   Rn   (	   R   R4   R   R€   R   t   to_frameR   R   R9   (   R   R„   t   resultR-   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt"   test_constructor_from_dense_seriesÈ   s    c         C   sC   d t  f d „  ƒ  Y} t j t d d ƒ t | ƒ  ƒ Wd  QXd  S(   Nt   Unknownc           B   s   e  Z RS(    (   t   __name__t
   __module__(    (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyR   Ø   s   Ru   sD   SparseDataFrame called with unknown type "Unknown" for data argument(   t   objectR_   R`   Ra   R   (   R   R   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt"   test_constructor_from_unknown_typeÖ   s    
c         C   s•  t  j d d d d g d t j d d ƒ} | j t t j ƒ k sH t ‚ | j d k s] t ‚ t  j i | d 6ƒ } | d j t t j ƒ k s• t ‚ | d j d k s® t ‚ t  j	 | d d ƒ} | j t t j ƒ k sá t ‚ | j d k sö t ‚ t  j | ƒ } | d j t t j ƒ k s't ‚ | d j d k s@t ‚ t  j i | d 6ƒ } | d j t t j ƒ k sxt ‚ | d j d k s‘t ‚ d  S(   Ni   i    i   R/   R3   R„   R&   (
   RZ   R   R4   t   int64R/   R   RA   R3   R   R   (   R   R}   R;   R,   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_constructor_preserve_attrß   s    *"""c         C   s  t  j d ƒ } d d d d d d g } g  | D] } | D] } | | f ^ q8 q. } t j j | d d	 d
 g ƒ} t  j t | ƒ t | ƒ f ƒ } | j t  j ƒ t j	 | d | d | d t
 ƒ} | j ƒ  }	 t j | d | d | d t
 ƒ}
 t j |	 |
 ƒ d  S(   Nid   i
   i   i   i(   i2   i<   t   namest   trainst
   thresholdsR2   R>   R/   (   R4   RB   RZ   t
   MultiIndext   from_tuplesRD   Ry   t   fillR    R   R0   R   R   R   R9   (   R   R•   R–   R*   t   jt   tuplesR2   t   matrixR;   R‹   R-   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_constructor_nan_dataframeõ   s    ,!!	c         C   sÑ   t  j i d d d g d 6d d d g d 6d d d g d 6d d d d ƒ} t  j i t  j d d d g d d ƒd 6t  j d d d g d d ƒd 6t  j d d d g d d ƒd 6d d ƒ} t j | | ƒ d  S(	   Ni   i    Rn   Rm   RS   R/   t   uint8RT   (   RZ   R   R   R   R9   (   R   R‹   R-   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt"   test_type_coercion_at_construction  s    <	""	c         C   sj   t  t j j d d ƒ ƒ } t j | j d *| j ƒ  } | j ƒ  } t i d d 6ƒ } t	 j
 | | ƒ d  S(   Ni'  i   i'  s   Sparse[float64, nan](   R   R4   R   R€   R    R   R   t   get_dtype_countsR   R   t   assert_series_equal(   R   R;   Rg   R‹   R-   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_dtypes  s    c         C   sX   | j  d k s t ‚ | j  d k s* t ‚ | j  d k s? t ‚ | j  d k sT t ‚ d  S(   Ni
   i   (   i
   i   (   i
   i   (   i
   i   (   i
   i   (   R@   RA   (   R   R   Rc   Rd   t   float_frame_fill2(    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt
   test_shape  s    c         C   sE   t  t j j d d ƒ ƒ } t j | j d *| j ƒ  } t | ƒ d  S(   Ni'  i   i'  (   R   R4   R   R€   R    R   R   t   str(   R   R;   Rg   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_str!  s    c         C   s>   t  j | ƒ } t  j | j ƒ  ƒ } t j | j ƒ  | ƒ d  S(   N(   R4   t   sqrtR]   R   t   assert_frame_equal(   R   R   R<   t   dres(    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_array_interface(  s    c   	      C   sT   d „  } | t  ƒ  t ƒ  ƒ | | | ƒ | | | ƒ | | | ƒ | | | ƒ d  S(   Nc         S   s?   t  j |  ƒ } t  j |  | ƒ t  j | j ƒ  | d t ƒd  S(   Nt   check_dtype(   R   t   round_trip_pickleR9   R¨   R]   R   (   R   t   origR‹   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   _test_roundtrip1  s    (   R   R   (	   R   R   Rc   t   float_frame_denseRd   t   float_frame_fill0_denseR£   t   float_frame_fill2_denseR®   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_pickle-  s    	c         C   sP  t  i t t t d d g d 6d d t t t g d 6ƒ } | j ƒ  } t | t ƒ sY t ‚ t j | j ƒ sq t ‚ t | d j	 t
 ƒ s t ‚ t j | j ƒ  | ƒ | j d d ƒ } t | d j	 t ƒ sÑ t ‚ t  i d d d d d g d 6d d d d d g d 6d t ƒ} | j d	 d ƒ } | j d k s6t ‚ t j | j ƒ  | ƒ d  S(
   Ni   i   RN   t   BRO   t   integeri    R/   R3   (   R   R    R   RJ   R   RA   R4   t   isnanRT   RY   R   R   R¨   R]   R   R0   (   R   R;   Rg   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_dense_to_sparse<  s    "c         C   sã   t  t t t d d d d d d d g
 ƒ } | j d k s? t ‚ t i t t t d d d d d d d g
 d	 6d d d t t t d d d d g
 d
 6t j d ƒ d 6d d d d d d t t t t g
 d 6ƒ } | j d k sß t ‚ d  S(   Ni    i   i   i   i   i   i   gffffffæ?RN   R³   i
   t   Ct   Dg      è?(   R   R    t   densityRA   R   R4   RB   (   R   R;   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_densityN  s    *+%+c         C   s   d  S(   N(    (   R   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_sparse_to_denseY  s    c         C   s   |  j  | ƒ d  S(   N(   t   _check_frame_ops(   R   R   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_sparse_series_ops\  s    c         C   s   |  j  | ƒ d  S(   N(   R¼   (   R   Rc   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_sparse_series_ops_i_  s    c         C   s   |  j  | ƒ d  S(   N(   R¼   (   R   Rd   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_sparse_series_ops_zb  s    c         C   s   |  j  | ƒ d  S(   N(   R¼   (   R   R£   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_sparse_series_ops_fille  s    c      
      s*  d „  } d d d d d g } g  | D] } t  t | ƒ ^ q% } | j } | d | d | d	 | d
 | d j | d  ƒ | d j | d  d  d … ƒ t g  d g  ƒg } x¡ | D]™ ‰  | | | d  d  d … | j ƒ  | d  d  d … j ƒ  t  t ˆ  ƒ ƒ xK t | ƒ D]= \ } }	 ‡  f d †  }
 | | |	 | j ƒ  |	 j ƒ  |
 ƒ q
Wq² W| j | d ƒ | j | d ƒ | j | d ƒ | j | d ƒ | j | d ƒ d  g } xW | D]O ‰  xF | D]> }	 | | |	 | j ƒ  |	 ˆ  ƒ | |	 | |	 | j ƒ  ˆ  ƒ q½Wq°W| | j d  d  … d d g f } d  S(   Nc   	      S   s®   | |  | ƒ } | | | ƒ } | j  } | j d | ƒ } t j | | d t ƒt |  t ƒ rª t | t ƒ rª | |  | ƒ } t | t ƒ s‘ t ‚ t j | | d t ƒn  d  S(   NR3   RV   (	   RT   R   R   R9   R   RJ   R   R   RA   (	   Rn   Rm   t   dat   dbt   opt   sparse_resultt   dense_resultR™   t   mixed_result(    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   _compare_to_densej  s    	R8   t   subt   mult   truedivt   floordivRN   R³   R·   R¸   i   i   R2   c            s   t  |  ˆ  ƒ | d d ƒS(   Nt   axisR2   (   t   getattr(   Rn   Rm   (   RÃ   (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   <lambda>‹  s    i    i   i   (	   RÍ   t   operatorR2   R^   R   R]   R"   t   xsR   (   R   R   RÇ   t   opnamesR&   t   opst   fidxRf   R*   R,   t   fR‹   (    (   RÃ   sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyR¼   h  s*    	"	1&*0*$c         C   sw   | | } | j  s t ‚ | | } t | j t ƒ s; t ‚ t j | | t j ƒ | | } t j | | t j ƒ d  S(   N(	   RD   RA   RJ   R2   R
   R   R¨   R4   R    (   R   R   RC   RD   R1   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_op_cornersž  s    


c         C   s   d  S(   N(    (   R   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_scalar_ops©  s    c         C   s   t  d d d d g d d d d g ƒ } | d d g } | j d d d g ƒ } t j | | ƒ t j t | j d d	 g ƒ d  S(
   NR2   i    i   i   R>   Rn   Rm   RS   Rs   (   R   R^   R   R9   R_   R`   t	   Exceptiont   __getitem__(   R   Rg   R‹   R   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_getitem¬  s
    'c         C   s˜   | j  d  d  … d f } t | t ƒ s. t ‚ t j | | d ƒ i d d g d 6} t | d d ƒ} t j | d j | j  d  d  … d f j ƒ d  S(   Ni    RN   i   RU   R´   (	   R'   RJ   R   RA   R   R   R   t   assert_class_equalRY   (   R   R   R‹   Rh   t   iframe(    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt	   test_iloc¶  s    c         C   s³  | j  ƒ  } t j t d t ƒ | j d d d ƒ } Wd  QX| j j d k sU t ‚ | } | j j	 t
 ƒ | _ t j t d t ƒ | j d d d ƒ } Wd  QX| | k	 s³ t ‚ | j d d k sÌ t ‚ t j t d t ƒ# | j d d ƒ d k s t ‚ Wd  QXt j t d t ƒ | j d d d ƒ } Wd  QX| | k	 sIt ‚ t j | j t j t | j ƒ d g ƒ ƒ t j t d t ƒ# | j d d ƒ d k s©t ‚ Wd  QXd  S(   Nt   check_stacklevelt   foobarR³   g      ø?R   iÿÿÿÿt   qux(   RI   R   t   assert_produces_warningt   FutureWarningR   t	   set_valueR2   R/   RA   R‚   R   t	   get_valuet   assert_index_equalR>   RZ   t   IndexRr   (   R   R   R   R<   t   res2(    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_set_valueÃ  s0    


$
 
c         C   s”   | j  d d  … d  d  … f } | j d | j d ƒ } t j | | ƒ | j  d  d  … d d  … f } | j d | j d ƒ } t j | | ƒ d  S(   NiþÿÿÿR2   R>   (   R'   R^   R2   R   R9   R>   (   R   R   t   slicedR-   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_fancy_index_miscâ  s    c         C   sŽ   | d  } t  j | | j | j d  ƒ ƒ | j d } | j | k } | j | } | | } t  j | | j ƒ t j t | j | d  ƒ d  S(   Ni   i   iÿÿÿÿ(	   R   R9   R^   R2   Rä   R_   R`   R×   RØ   (   R   R   t   slRs   t   indexert   subindext   subframe(    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_getitem_overloadí  s    
	
c   	      C   sA   d „  } | | | ƒ | | | ƒ | | | ƒ | | | ƒ d  S(   Nc         S   sŒ  t  |  ƒ } |  d |  d <t |  d t ƒ s3 t ‚ t j |  d |  d d t ƒ|  d d  d  d … } | |  d <| j ƒ  j |  j	 ƒ } |  d j ƒ  } t j
 | | d t ƒ| j d k sÅ t ‚ |  d j ƒ  |  d <t |  d t ƒ sò t ‚ t j |  d |  d d t ƒ|  d j ƒ  d  d  d … } | |  d <| j |  j	 ƒ } d | _ t j
 |  d j ƒ  | ƒ t j j | ƒ |  d <t |  d t ƒ s›t ‚ t j j | ƒ } |  j | | d )| |  d <t  |  d j ƒ | d k sët ‚ t j t |  j d	 t j j | d
 ƒ ƒ d |  d <t  |  d j ƒ | k s=t ‚ |  d j d k j ƒ  s\t ‚ |  j |  d <t  |  d j ƒ d k sˆt ‚ d  S(   NRN   t   Et   check_namesi   t   Ft   Gt   Ht   IR1   i   i   t   Jt   Ki    (   Ry   RJ   R   RA   R   R   R   R]   R^   R2   R¡   R&   R4   R   R€   RT   t	   sp_valuesR_   R`   R×   t   __setitem__t   all(   R   R­   t   Nt	   to_insertR-   R‹   t   to_sparsify(    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   _check_frame  sB    

	
#
(    (	   R   R   Rc   R¯   Rd   R°   R£   R±   Rý   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_setitemý  s
    	3R?   i    i   Rn   Rm   t   2017t   10sc         C   s\   t  j i | d 6ƒ } t  j | ƒ | d <t  j i t  j | ƒ d 6ƒ } t j | | ƒ d  S(   NRN   (   RZ   R   R   R   R¨   (   R   R?   R;   R-   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_setitem_more:  s    	c         C   s0   | d | d <t  j | d | d d t ƒd  S(   NR³   Rn   Rð   (   R   R   R   (   R   R   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_setitem_cornerH  s    c         C   s   | d } | | d <t  j | d | d d t ƒ| d  | d <| j d  } t  j | d j | ƒ | d j | ƒ d t ƒd  S(   NR³   Rï   Rð   iÿÿÿÿRñ   (   R   R   R   R2   R^   (   R   R   R}   R2   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_setitem_arrayM  s    

c         C   sp   t  j t j d g d t j g g ƒ } t  j d d  ƒ  d | d d <Wd  QXt | j j ƒ d k sl t	 ‚ d  S(   Ni   i   s   mode.chained_assignmenti    (
   RZ   R   R4   R    t   option_contextt   NoneRy   t   _datat   blocksRA   (   R   Rg   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt#   test_setitem_chained_no_consolidateZ  s    'c         C   s‹   | d } | d } | d =d | k s- t  ‚ t j | d | ƒ t j | d | ƒ | d =d | k sn t  ‚ | d =d | k s‡ t  ‚ d  S(   NRN   R·   R³   R¸   (   RA   R   R   (   R   R   RN   R·   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_delitemc  s    

c         C   s0   | j  | _  t j t t | d | j  d  ƒ d  S(   NR>   iÿÿÿÿ(   R>   R_   R`   R×   t   setattr(   R   R   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_set_columnsr  s    c         C   s0   | j  | _  t j t t | d | j  d  ƒ d  S(   NR2   iÿÿÿÿ(   R2   R_   R`   R×   R
  (   R   R   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_set_indexw  s    c         C   s[   t  j d d d d g ƒ } t j t d d ƒ% t  j i d d g d 6d | ƒWd  QXd  S(	   Ni    i   i   i   Ru   t    RN   R2   (   RZ   Rå   R_   R`   Rv   R   (   R   Ri   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_ctor_reindex|  s    c      
   C   s  | d  } | d } | j  | ƒ } t j | | d t ƒ| j d  d … d  d … f } | j d } t j t d t ƒ | j  | ƒ } Wd  QXt j | j d  d  … d  d … f | j d  d  … d  d … f d t ƒ| d d d g j d ƒ } | j d ƒ } t j	 i d	 d
 d  d g d 6d	 d
 d d g d 6d  d  d d g d 6d  d  d d  g d 6d | j | j Bd d d d d g ƒ} t j d  ƒ  | j  | d t ƒ} Wd  QXt j | | ƒ t j d  ƒ  | j  | d t ƒ} Wd  QXt j | | d d d d g d t d t ƒd  S(   Ni   RV   i   RÝ   R³   R·   RN   i   g        i   i   R¸   R2   R>   t   sortt   consolidate_block_indicesR   (   t   appendR   R9   R   R'   Rà   Rá   t   headRZ   R   R  R2   R¨   R)   (   R   R   Rn   Rm   t   appendedR-   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_append  s4    

A	%c         C   sO  t  j i t d d d d g d t j ƒd 6t d d d d	 g d t j ƒd
 6ƒ } | d j t t j ƒ k su t ‚ | d
 j t t j ƒ k s— t ‚ | j t j	 ƒ } t  j i t d d d d g d d d d ƒd 6t d d d d g d d d d ƒd
 6d t j
 ƒ} t j | | ƒ | d j t t j	 d ƒ k s@t ‚ | d
 j t t j	 d ƒ k set ‚ | j t t j	 t j
 ƒ ƒ } t  j i t d d d d g d t j
 d d ƒd 6t d d d d g d t j
 d d ƒd
 6d t j
 ƒ} t j | | ƒ | d j t t j	 t j
 ƒ k s#t ‚ | d
 j t t j	 t j
 ƒ k sKt ‚ d  S(   Ni   i   i   i   R/   RN   i   i   i   R³   g      ð?g       @g      @g      @R3   i    RO   R´   g      @g      @g      @RT   (   RZ   R   R   R4   R’   R/   R   RA   R‚   t   float64R    R   R9   (   R   t   sparseR<   R   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_astype¥  s8    ""
%%	
	(c      
   C   sŠ  t  j i t d d d d g d d d t j ƒd 6t d d d d g d d d t j ƒd	 6d
 d ƒ} | d j t t j ƒ k s‡ t ‚ | d	 j t t j ƒ k s© t ‚ | j t t	 t
 ƒ ƒ } t  j i t t
 t t
 t g d t j	 d t
 d d ƒd 6t t
 t t
 t g d t j	 d t
 d d ƒd	 6d
 t
 ƒ} t j | | ƒ | d j t t j	 ƒ k sdt ‚ | d	 j t t j	 ƒ k s†t ‚ d  S(   Ni    i   i   R3   R/   RN   i   i   R³   RT   RO   R´   (   RZ   R   R   R4   R’   R/   R   RA   R‚   t   boolR   R)   R   R9   (   R   R  R<   R   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_astype_boolÇ  s,    	""	
		"c         C   s¨   t  j i t d d g ƒ d 6t d d g ƒ d 6ƒ } | j t ƒ } t t d ƒ } t  j i t d d g d | ƒd 6t d d g d | ƒd 6ƒ } t j | | ƒ d  S(   Ni    i   RN   R³   R/   (   RZ   R   R   R‚   R   R   R   R¨   (   R   R;   R‹   R/   R-   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_astype_objectà  s    "c         C   s<  | j  t d ƒ ƒ } | j  t d ƒ ƒ } | j d ƒ } | j d ƒ } t j | | j d d ƒ d t ƒt j | j ƒ  | ƒ | j	 ƒ  } | j d d t
 ƒ| j d ƒ } t j | | j d d ƒ d t ƒt j | j ƒ  | ƒ | j	 ƒ  } | d } | j d d t
 ƒ| d j d ƒ } t j | j ƒ  | ƒ d  S(   Ni   i    R3   RV   t   inplaceRN   (   R^   R   R7   R   R9   R   R   R¨   R]   RI   R)   R¡   (   R   Rd   R°   R;   R{   R‹   R-   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_fillnaê  s$    
c         C   s¹   t  j i d d d g d 6t j t j d g d 6ƒ } t  j | ƒ } t j | j d ƒ j ƒ  | j d ƒ d t	 ƒt  j | d d ƒ} t j | j d ƒ j ƒ  | j d ƒ d t	 ƒd  S(	   Ni   i    RN   i   R³   iÿÿÿÿR«   RT   (
   RZ   R   R4   R    R   R   R¨   R7   R]   R   (   R   R;   R  (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_fillna_fill_value  s    5c         C   sX  t  j d ƒ } t t  j j d d ƒ d | ƒ} | j ƒ  } | d  j | d d d d ƒ} t j t	 ƒ $ | d  j | ƒ j
 d d ƒ } Wd  QX| j ƒ  } t  j | j d	 )| j ƒ  } t j | | ƒ | d
 j | d d d d ƒ} t j t	 ƒ $ | d
 j | ƒ j
 d d ƒ } Wd  QX| j ƒ  } t  j | j d *| j ƒ  } t j | | ƒ d  S(   Ni
   i   R2   i   t   methodt   padt   limiti   iýÿÿÿiþÿÿÿt   backfilli   (   R4   RB   R   R   R€   R   R^   R   Rà   R   R7   R]   R    R?   R¨   (   R   R2   R;   Rg   R‹   R-   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt$   test_sparse_frame_pad_backfill_limit  s"    !%%c         C   sœ  t  j d ƒ } t t  j j d d ƒ d | ƒ} | j ƒ  } | d  j | ƒ } t j t	 ƒ  | j
 d d d d ƒ } Wd  QXt j t	 ƒ $ | d  j | ƒ j
 d d ƒ } Wd  QX| j ƒ  } t  j | j d	 )| j ƒ  } t j | | ƒ | d
 j | ƒ } t j t	 ƒ  | j
 d d d d ƒ } Wd  QXt j t	 ƒ $ | d
 j | ƒ j
 d d ƒ } Wd  QX| j ƒ  } t  j | j d *| j ƒ  } t j | | ƒ d  S(   Ni
   i   R2   i   R  R  R   i   iýÿÿÿiþÿÿÿR!  i   (   R4   RB   R   R   R€   R   R^   R   Rà   R   R7   R]   R    R?   R¨   (   R   R2   R;   Rg   R‹   R-   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_sparse_frame_fillna_limit'  s*    !%%c         C   s  | j  d t ƒ } t | j d | j j d ƒ d t d ƒ ƒ} t j | | ƒ | j  d d „  ƒ } i t	 t	 t	 d d d d	 d
 d d g
 d 6d d d t	 t	 t	 d	 d
 d d g
 d 6t
 j d d t
 j ƒd 6d d d d	 d
 d t	 t	 t	 t	 g
 d 6} t | d | j ƒ} t j | | ƒ d  S(   NR2   s   %Y-%m-%d %H:%M:%SR>   t   ABCDc         S   s   d |  d f S(   Ns   %s%di   (    (   R„   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyRÎ   J  s    i    i   i   i   i   i   i   t   A1t   B1i
   R/   t   C1t   D1(   t   renameR¥   R   R?   R2   t   strftimeRr   R   R9   R    R4   RB   R  (   R   R   R‹   R-   Rh   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_renameB  s    		(%(c         C   s2   | j  ƒ  } t j | | j ƒ  j  ƒ  j ƒ  ƒ d  S(   N(   t   corrR   R¨   R]   R   (   R   R   R<   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt	   test_corrR  s    c         C   s1   t  j | d <| j ƒ  t | ƒ | j ƒ  } d  S(   NR1   (   R4   R    R    R¥   t   describe(   R   R   t   desc(    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_describeW  s    

c      	   C   sæ   | j  d  d  … d d g f } | j  d  d  … d d g f } | j | ƒ } t j | | d t ƒ| j  d  d  … d d g f } t j t | j | ƒ t j t d d ƒ3 | j t	 t
 j j t | ƒ ƒ d | j ƒƒ Wd  QXd  S(	   NRN   R³   R·   R¸   RV   Ru   s   Other Series must have a nameR2   (   R   t   joinR   R9   R   R_   R`   R×   Rv   R   R4   R   R€   Ry   R2   (   R   R   t   leftt   rightt   joined(    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt	   test_join]  s    	c         C   sŸ   d „  } | | ƒ | | ƒ | | ƒ | | ƒ | j  | j d t ƒ} | d | d <d | k si t ‚ | j  | j ƒ } | d | d <d | k s› t ‚ d  S(   Nc         S   s=  |  j  } | d  d  d … } | d  } |  j | ƒ } |  j ƒ  j | ƒ } t j | j ƒ  | ƒ t j |  j t | ƒ ƒ j ƒ  | ƒ | j | ƒ } | j | ƒ } t j | j ƒ  | ƒ t j | j |  j ƒ t j | d j |  d j ƒ |  j g  ƒ } t	 | ƒ d k st
 ‚ t	 | j ƒ t	 |  j ƒ k s8t
 ‚ t	 | d ƒ d k sTt
 ‚ | j | ƒ }	 t	 |	 ƒ t	 |  ƒ k st
 ‚ t	 |	 j ƒ t	 |  j ƒ k s¥t
 ‚ t	 |	 d ƒ t	 |  ƒ k sÇt
 ‚ |  j d d d d g ƒ }
 t	 |
 j ƒ d k sýt
 ‚ t j |
 d j |  j ƒ t j |
 d j ƒ j ƒ  s9t
 ‚ d  S(	   Ni   i   RN   i    R>   R³   t   Zi   (   R2   R^   R]   R   R¨   Rr   t   assert_almost_equalRT   R3   Ry   RA   R>   R4   Rµ   R÷   Rù   (   R   R2   t   sidxt   sidx2RÄ   RÅ   t   sparse_result2t   dense_result2t   length_zerot   length_nRk   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyRý   m  s8    	

$$"
RI   RN   Rñ   Rò   (   R^   R2   R   RA   (   R   R   Rc   Rd   R£   Rý   Rk   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_reindexj  s    	)



c         C   sb   t  d d d ƒ} | j | d d ƒ} | j | d d ƒ} | j | j ƒ } t j | | ƒ d  S(   Nt   20110110t   periodsi   R3   i    (   R   R^   R   RT   R   R9   (   R   Rd   R°   t   rngR‹   R   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_reindex_fill_value¤  s
    c      
   C   sB  t  d d d d g d d d g d d	 d
 g g d d d d g d d d d g d t ƒ } | j d t d ƒ ƒ } t  d t t t g d d d g d d d g t t t g d d	 d
 g t t t g g d t d ƒ d d d d g d t ƒ } t j | | ƒ | j d t d ƒ d d ƒ } t  d d d d g d d d g d d d g d d	 d
 g d d	 d
 g t t t g g d t d ƒ d d d d g d t ƒ } t j | | ƒ | j d t d ƒ d d ƒ } t  d t t t g d d d g d d d g d d d g d d	 d
 g d d	 d
 g g d t d ƒ d d d d g d t ƒ } t j | | ƒ | j d t d ƒ ƒ } t  d t d d t d t g t d d t d t g t d d	 t d
 t g g d d d d g d t d ƒ d t ƒ } t j | | ƒ t j t	 ƒ ! | j d t d ƒ d d ƒ Wd  QXt j t	 ƒ ! | j d t d ƒ d d ƒ Wd  QXd  S(   NRh   g      &@g      (@g      ,@g      5@g      6@g      8@g     €D@g      E@g      F@R2   i   i   i   R>   R/   i   R  t   bfillt   ffill(
   R   R0   R^   R6   R    R   R9   R_   R`   t   NotImplementedError(   R   R  R‹   R-   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_reindex_method­  sf    					"c         C   sM   | j  d d d g d d ƒ} | j d d d d g ƒ } t j | | ƒ d  S(	   Ni   i    i   RÌ   R>   R³   RN   R·   (   t   takeR^   R   R9   (   R   R   R‹   R-   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt	   test_takeó  s    c   	      C   sA   d „  } | | | ƒ | | | ƒ | | | ƒ | | | ƒ d  S(   Nc         S   s<   |  j  ƒ  } t j |  | d t ƒt j | | d t ƒd  S(   NR«   (   R]   R   R¨   R   (   R   R­   t   dense_dm(    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   _checkü  s    (    (	   R   R   Rc   R¯   Rd   R°   R£   R±   RJ  (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_to_denseø  s
    	s   ignore:\nPanel:FutureWarningc         C   sG   d „  } | | ƒ | | ƒ t  j t | | ƒ t  j t | | ƒ d  S(   Nc         S   sW   |  j  ƒ  } t j i |  d 6ƒ } | j ƒ  } t j |  ƒ } t j | j | j ƒ d  S(   NR1   (	   R]   R   t	   from_dictRŠ   t   spft   stack_sparse_frameR   R\   R?   (   R   t   dense_framet   wpt   from_dense_lpt   from_sparse_lp(    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyRJ  
  s    (   R_   R`   R×   (   R   R   Rc   Rd   R£   RJ  (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_stack_sparse_frame  s
    	

c   	      C   sA   d „  } | | | ƒ | | | ƒ | | | ƒ | | | ƒ d  S(   Nc         S   s€   |  j  } | j  } t j |  | ƒ t j |  j  j ƒ  | j  ƒ t j |  j  j  j ƒ  | j  j  ƒ t j |  |  j  j  d t ƒd  S(   NRV   (   t   TR   R9   R¨   R]   R   (   R   R­   t
   transposedt   untransposed(    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyRJ  !  s    		"(    (	   R   R   Rc   R¯   Rd   R°   R£   R±   RJ  (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_transpose  s
    		c   	      C   sA   d „  } | | | ƒ | | | ƒ | | | ƒ | | | ƒ d  S(   Nc         S   sP  |  j  d ƒ } | j  d ƒ } t j | j ƒ  | ƒ |  j  d ƒ } | j  d ƒ } t j | j ƒ  | ƒ |  j  d ƒ } | j  d ƒ } t j | j ƒ  | ƒ |  j  d d d ƒ} | j  d d d ƒ} | j |  j d |  j ƒ} t j | | ƒ |  j  d d t ƒ  ƒ} | j  d d t ƒ  ƒ} | j |  j d |  j ƒ} t j | | ƒ d  S(   Ni    i   iþÿÿÿi   t   freqR³   RO   (   t   shiftR   R¨   R]   R   RT   RU   R   (   R   R­   t   shiftedR   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyRJ  3  s&    (    (	   R   R   Rc   R¯   Rd   R°   R£   R±   RJ  (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt
   test_shift/  s
    	c         C   sÈ   | j  ƒ  j ƒ  } | j ƒ  } t j | j  ƒ  | ƒ | j d d  ƒ } t j | j  ƒ  | ƒ | j d d ƒ } t j | j  ƒ  | ƒ | j d d ƒ } | j  ƒ  j d d ƒ } t j | | d t ƒd  S(   NRÌ   i    i   R«   (   R]   t   countR   R¡   R  R   (   R   R   RÅ   R‹   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt
   test_countQ  s    c         C   sŽ   t  d d d g d d d d g d d g ƒ} t j t j | ƒ ƒ } t j | | ƒ d } t j t d | ƒ t j | d	 d ƒWd  QXd  S(
   Ni   i   i   R2   R>   Rn   s%   the 'axes' parameter is not supportedRu   t   axes(   R   R4   t	   transposeR   R9   R_   R`   Rv   (   R   Rg   R‹   t   msg(    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_numpy_transposec  s    -c         C   ss   | } | d  d  d … j  | ƒ } | d  d  d … j ƒ  j  | j ƒ  ƒ } | j d | j ƒ } t j | | ƒ d  S(   Ni   R3   (   t   combine_firstR]   R   RT   R   R9   (   R   R   R;   R‹   R-   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_combine_firstl  s
    (t   reasons   No longer supported.c         C   s|   |  j  } | d  d  d … j | j ƒ  ƒ } | d  d  d … j ƒ  j | j ƒ  ƒ } | j d | j ƒ } t j | | ƒ d  S(   Ni   R3   (   R   Rb  R]   R   RT   R   R9   (   R   R;   R‹   R-   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_combine_first_with_densev  s
    	"(c         C   s‡   | j  ƒ  } | j ƒ  } t j | d d *d | d d *| j ƒ  j | j ƒ  d d ƒ} | j | d d ƒj ƒ  } t j | | ƒ d  S(   NR·   i   gÍÌÌÌÌÌ@RN   R3   i    (   R]   RI   R4   R    R   R8   R   R9   (   R   R   R;   t   df2R‹   R-   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_combine_addƒ  s    !c         C   sh   t  i d d d g d 6ƒ j d d ƒ } | | j d k } | | j j d g ƒ } t j | | ƒ d  S(   Ng      ð?g        t   flagR3   (   R   R   Rh  t   isinR   R¨   (   R   t	   sparse_dft   xpt   rs(    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt	   test_isin  s    (c         C   s—   t  i d d g d 6d d g d 6ƒ } t  i t d d g d 6ƒ } d | } | j d g d ƒ d } | d } t | j ƒ t | j ƒ k s“ t ‚ d  S(	   Ngš™™™™™ñ?gffffff
@RN   g      @g333333ÀR³   i    i   (   R   R    RG  Ry   R÷   RA   (   R   R;   R‹   t   r1t   r2(    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_sparse_pow_issue“  s    &

c         C   sŠ   t  i d d g d 6t d g d 6d d ƒ} t j t d t ƒ | j } Wd  QXt | j ƒ  ƒ d	 g k sr t	 ‚ t j
 | d	 | ƒ d  S(
   Ngš™™™™™ñ?gffffff
@RN   g333333ÀR³   R/   R  RÝ   s   Sparse[float64, nan](   R   R    R   Rà   Rá   R   R  Rr   t   keysRA   R¨   (   R   R;   t	   df_blocks(    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_as_blocks¢  s    #	
!s5   nan column names in _init_dict problematic (GH#16894)c         C   sP   t  t d d d g ƒd t g ƒ} | j ƒ  } t j | j d ƒ sL t ‚ d  S(   Ng      ð?R2   i    R>   (   R   R   R    R   R4   Rµ   R>   RA   (   R   t   nan_colnamet   nan_colname_sparse(    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_nan_columnname­  s    $c         C   sy  t  j i t j t j d d t j g d 6d t j t j d t j g d 6ƒ } | j ƒ  } t  j i t t t t t g d 6t t t t t g d 6d t ƒ} t j | _ t j	 | | ƒ t  j i d d d d t j g d 6d t j d d t j g d 6d d ƒ} | j ƒ  } t
 | t  j ƒ s$t ‚ t  j i t t t t t g d 6t t t t t g d 6ƒ } t j | j ƒ  | ƒ d  S(   Ni   i   RN   i    R³   RT   g        (   RZ   R   R4   R    t   isnaR)   R   t   _default_fill_valueR   R9   RJ   RA   R   R¨   R]   (   R   R;   R<   R   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt	   test_isnaµ  s     (%	"	c         C   sy  t  j i t j t j d d t j g d 6d t j t j d t j g d 6ƒ } | j ƒ  } t  j i t t t t t g d 6t t t t t g d 6d t ƒ} t j | _ t j	 | | ƒ t  j i d d d d t j g d 6d t j d d t j g d 6d d ƒ} | j ƒ  } t
 | t  j ƒ s$t ‚ t  j i t t t t t g d 6t t t t t g d 6ƒ } t j | j ƒ  | ƒ d  S(   Ni   i   RN   i    R³   RT   g        (   RZ   R   R4   R    t   notnaR   R)   Rx  R   R9   RJ   RA   R   R¨   R]   (   R   R;   R<   R   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt
   test_notnaË  s     (%	"	N(c   RŽ   R   R   R$   t   staticmethodR   R9   t   _assert_frame_equalR   t   _assert_series_equalR    R.   R=   RH   RM   Rl   Rt   Rx   Rz   R|   R~   R‰   RŒ   R‘   R“   R   RŸ   R¢   R¤   R¦   Rª   R²   R¶   Rº   R»   R½   R¾   R¿   RÀ   R¼   RÕ   RÖ   RÙ   RÜ   Rç   Ré   Rî   Rþ   R_   t   markt   parametrizeR)   R   R  RZ   t	   Timestampt   NaTt	   TimedeltaR  R  R  R  R	  R  R  R  R  R  R  R  R  R  R"  R#  R+  R-  R0  R5  R>  RB  RF  RH  RK  t   filterwarningsRS  RW  R[  R]  Ra  Rc  t   xfailRe  Rg  Rm  Rp  Rs  Rv  Ry  R{  (    (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyR      s¬   	
							/																										6			
					=				'									$	"		
									:			F				"				
	
				t   TestSparseDataFrameArithmeticc           B   s   e  Z d  „  Z d „  Z RS(   c         C   s‰   t  j i t t d d g d 6d d d t g d 6d d d d	 g d
 6t t t t g d 6ƒ } | j ƒ  } t j | d | d j ƒ  ƒ d  S(   Ni    i   RN   i   R³   g      ð?g       @g      @g      @R·   R¸   (   RZ   R   R    R   R   R9   (   R   R;   R  (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_numeric_op_scalarä  s    c         C   së   t  j i t t d d g d 6d d d t g d 6d d d d	 g d
 6t t t t g d 6ƒ } | j ƒ  } | d k } t | t  j ƒ s‹ t ‚ t j | j	 ƒ  | d k ƒ | d k } t | t  j ƒ sË t ‚ t j | j	 ƒ  | d k ƒ d  S(   Ni    i   RN   i   R³   g      ð?g       @g      @g      @R·   R¸   (
   RZ   R   R    R   RJ   R   RA   R   R¨   R]   (   R   R;   R  R<   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_comparison_op_scalarí  s    (   RŽ   R   R‡  Rˆ  (    (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyR†  â  s   		t   TestSparseDataFrameAnalyticsc           B   s§   e  Z d  „  Z d „  Z d „  Z e j j d d ƒ d „  ƒ Z e j j d d ƒ d „  ƒ Z	 d „  Z
 e j j d e e g ƒ e j j d	 d
 d g ƒ d „  ƒ ƒ Z RS(   c         C   s|   t  | j ƒ  j ƒ  ƒ } | j ƒ  } t j | | ƒ | j d d  ƒ } t j | | ƒ | j d d ƒ } t j | | ƒ d  S(   NRÌ   i    (   R   R]   t   cumsumR   R9   R  (   R   R   R-   R‹   (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_cumsum  s    c      	   C   s¨   t  j | ƒ } t | j ƒ  j ƒ  ƒ } t j | | ƒ d } t j t d | ƒ t  j | d t  j	 ƒWd  QXd } t j t d | ƒ t  j | d | ƒWd  QXd  S(   Ns&   the 'dtype' parameter is not supportedRu   R/   s$   the 'out' parameter is not supportedt   out(
   R4   RŠ  R   R]   R   R9   R_   R`   Rv   R’   (   R   R   R‹   R-   R`  (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_numpy_cumsum  s    c      	   C   sI   d d d d d d d d d	 g	 } x! | D] } t  t | ƒ | ƒ q( Wd  S(
   Nt   sumRŠ  t   vart   meant   prodt   cumprodt   stdt   mint   max(   RÍ   R4   (   R   R   t   funcst   func(    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_numpy_func_call  s
    		Rd  s+   Wrong SparseBlock initialization (GH 17386)c         C   s–   d d g d d g d d g t  t  g g } d } t | ƒ } | j | ƒ } t | ƒ } | j | ƒ } t | ƒ } t j | | ƒ t j | | ƒ d  S(   Ni   i   i
   i   id   gš™™™™™¹?(   R    R   t   quantileR   R   R   R¡   R   (   R   Rh   t   qRj  R‹   t   dense_dft   dense_expectedt   sparse_expected(    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_quantile#  s    *c         C   sœ   d d g d d g d d g t  t  g g } d d g } t | ƒ } | j | ƒ } t | ƒ } | j | ƒ } t | ƒ } t j | | ƒ t j | | ƒ d  S(   Ni   i   i
   i   id   gš™™™™™¹?g      à?(   R    R   R™  R   R   R¨   R9   (   R   Rh   Rš  Rj  R‹   R›  Rœ  R  (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_quantile_multi3  s    *c         C   sŸ   t  j i d d d g d 6ƒ } | j d t ƒ j d t ƒ } | j d t ƒ j d t ƒ } t j | | ƒ x- | j D]" } t | | ƒ t	 k su t
 ‚ qu Wd  S(   Ni   i   i   Rn   R3   t   newcol(   RZ   R   R   R   t   assignR   R9   R>   t   typeR   RA   (   R   R;   R<   R   t   column(    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_assign_with_sparse_frameC  s    R  t   howRù   t   anyc         C   s’   t  j i d d g d 6ƒ } t  j i t d ƒ t d ƒ g d 6d d g d 6ƒ } | j d d d | d | ƒ } | r~ | } n  t j | | ƒ d  S(	   Ni    i   t   F2R    t   F1RÌ   R  R¥  (   RZ   R   R0   t   dropnaR   R9   (   R   R  R¥  R-   t   input_dft	   result_df(    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   test_dropnaN  s    /	(   RŽ   R   R‹  R  R˜  R_   R  R…  Rž  RŸ  R¤  R€  R)   R   R¬  (    (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyR‰  ÿ  s   					((   RÏ   t   numpyR4   R    R_   t   pandas._libs.sparseR   R   t   pandas.compatR   t   pandas.errorsR   t   pandasRZ   R   R   R   R   R	   t   pandas.core.indexes.datetimesR
   t   pandas.core.sparseR   RM  t   pandas.core.sparse.apiR   R   R   R   t   pandas.tests.frame.test_apiR   t   pandas.utilR   R   t   pandas.tseries.offsetsR   R   R   R†  R‰  (    (    (    sC   lib/python2.7/site-packages/pandas/tests/sparse/frame/test_frame.pyt   <module>   s*   ("ÿ ÿ ÿ ÿ Í