ó
šxŠ\c           @   s   d  d l  m Z d  d l m Z d  d l m Z d  d l Z d  d l Z d  d l	 m
 Z
 d  d l j j Z d  d l Z d  d l m Z m Z m Z m Z d  d l j j Z d  d l m Z m Z m Z d d	 l m Z y d  d l Z e Z Wn e  k
 re! Z n Xd
 e f d „  ƒ  YZ" d S(   iÿÿÿÿ(   t   deepcopy(   t   LooseVersion(   t   methodcallerN(   t   range(   t	   DataFramet
   MultiIndext   Seriest
   date_range(   t   assert_almost_equalt   assert_frame_equalt   assert_series_equali   (   t   Generict   TestDataFramec           B   sí   e  Z e Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z e j j e p‚ e o‚ e e j ƒ e d ƒ k  d	 d
 ƒe j j d d d d d d d d d g ƒ d „  ƒ ƒ Z e j d d d ƒd „  ƒ Z d „  Z RS(   c         C   s   t  | | ƒ S(   N(   R	   (   t   selft   xt   y(    (    s>   lib/python2.7/site-packages/pandas/tests/generic/test_frame.pyt   <lambda>   s    c         C   sZ   t  d d d g d t j g  d d d g D] } d | f ^ q( ƒ ƒ} | j t j ƒ d  S(	   Ni   i   i   t   indext   at   Bt   ct   A(   R   R   t   from_tuplest   renamet   strt   lower(   R   R   t   df(    (    s>   lib/python2.7/site-packages/pandas/tests/generic/test_frame.pyt   test_rename_mi!   s    4c         C   sÒ   t  j d d g d d g g ƒ } d d g } xž | D]– } t | d ƒ | ƒ } | j j d  k sg t ‚ | j j d k s t ‚ t | d d	 d ƒ| ƒ } | j j d  k s² t ‚ | j j d k s4 t ‚ q4 Wd  S(
   Ni   i   i   i   t   _set_axis_namet   rename_axist   foot   colst   axis(   t   pdR   R   R   t   namet   Nonet   AssertionErrort   columns(   R   R   t   funcst   funct   result(    (    s>   lib/python2.7/site-packages/pandas/tests/generic/test_frame.pyt   test_set_axis_name'   s    !c      
   C   s@  t  t j d ƒ d t j g  t d ƒ D] } d | f ^ q% ƒ d t j g  t d ƒ D] } d | f ^ qS ƒ ƒ} d d	 g } d
 d g } x° | D]¨ } t | | ƒ | ƒ } | j j | k sÃ t	 ‚ | j
 j d  d  g k sá t	 ‚ t | | d d ƒ| ƒ } | j
 j d d	 g k st	 ‚ | j j d  d  g k s t	 ‚ q Wd  S(   Ni   R   t   aBcR   R%   t   xyzt   Ct   L1t   L2R   R   R    i   (   i   i   (   R   t   npt   emptyR   R   t   listR   R   t   namesR$   R%   R#   (   R   R   R   t   level_namesR&   R'   R(   (    (    s>   lib/python2.7/site-packages/pandas/tests/generic/test_frame.pyt   test_set_axis_name_mi3   s    .1c         C   s¢   t  t g g ƒ } | j ƒ  s$ t ‚ t  t g g ƒ } | j ƒ  sI t ‚ t  t t g g ƒ } t j t ƒ  | j ƒ  Wd  QXt j t ƒ  t | ƒ Wd  QXd  S(   N(   R   t   Truet   boolR$   t   Falset   pytestt   raisest
   ValueError(   R   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/generic/test_frame.pyt   test_nonzero_single_elementE   s    c         C   sZ   t  i d d d g d 6ƒ } | j ƒ  } t  d d d d g d t ƒ } |  j | | ƒ d  S(	   Ni   t   2g      @R   R   i    i   t   dtype(   R   t   _get_numeric_datat   objectt   _compare(   R   t   oR(   t   expected(    (    s>   lib/python2.7/site-packages/pandas/tests/generic/test_frame.pyt$   test_get_numeric_data_preserve_dtypeT   s    c      
   C   s`  t  i d d d d d d d d g d 6d d d d d d d d g d 6t j j d ƒ d	 6t j j d ƒ d
 6ƒ } | j d ƒ j ƒ  } |  j | | ƒ t  t j j d d ƒ d t d d d d d ƒƒ} | j d ƒ } |  j | | ƒ t  j	 } t  j
 } t j j d ƒ t  t j j d d d( ƒ d d d g ƒ} t  t j j d d d) ƒ d d d g ƒ} d g t  _	 d | _ d | _ d  d „ } | t  _
 | j | d  d g d! d g d" d# ƒ} | j d$ k sÌt ‚ d g t  _	 t  t j j d d d* ƒ d t d% ƒ ƒ} d | _ d  d& „ } | t  _
 t j | | g ƒ } | j d' k sJt ‚ | t  _	 | t  _
 d  S(+   NR   t   barR   t   onet   twot   threeR   i   R,   t   Diè  i   R   t   20130101t   periodst   freqt   st   1Ti
   i    i   i   R%   R   t   bR   t   dt   filenames
   fname1.csvs
   fname2.csvc         [   s’   x‹ |  j  D]€ } | d k rk | j | j } } t | | d ƒ d t | | d ƒ } t j |  | | ƒ q
 t j |  | t | | d ƒ ƒ q
 W|  S(   Nt   merget    t   |(   t	   _metadatat   leftt   rightt   getattrR?   t   __setattr__(   R   t   othert   methodt   kwargsR"   RU   RV   t   value(    (    s>   lib/python2.7/site-packages/pandas/tests/generic/test_frame.pyt   finalizey   s    #t   left_ont   right_ont   howt   inners   fname1.csv|fname2.csvt   abc         [   s™   x’ |  j  D]‡ } | d k rr d j g  | j D]' } t | | d  ƒ r, t | | ƒ ^ q, ƒ } t j |  | | ƒ q
 t j |  | t | | d  ƒ ƒ q
 W|  S(   Nt   concatt   +(   RT   t   joint   objsRW   R#   R?   RX   (   R   RY   RZ   R[   R"   RA   R\   (    (    s>   lib/python2.7/site-packages/pandas/tests/generic/test_frame.pyR]      s    	7#s   foo+foo(   i   i   (   i   i   (   i   i   (   R   R/   t   randomt   randnt   groupbyt   sumt   check_metadataR   t   resampleRT   t   __finalize__t   seedt   randintRP   R#   RQ   R$   R1   R!   Rc   (   R   R   R(   RT   t	   _finalizet   df1t   df2R]   (    (    s>   lib/python2.7/site-packages/pandas/tests/generic/test_frame.pyt   test_metadata_propagation_indiv\   s@    "		**			'*			c         C   s€   t  i d d d g d 6ƒ } d | _ d d d g | d <d | _ | j d k sV t ‚ t | d t d d d g d	 d ƒƒ d  S(
   Ni   i   i   R   i   i   R   i   R"   (   R   R   R$   R
   R   (   R   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/generic/test_frame.pyt   test_set_attribute¥   s    		s   0.10.0t   reasons   xarray >= 0.10.0 requiredR   t
   FloatIndext   IntIndext   StringIndext   UnicodeIndext	   DateIndext   PeriodIndext   CategoricalIndext   TimedeltaIndexc         C   s  d d l  m } t t d j | ƒ ƒ } t i t d ƒ d 6t t d d ƒ ƒ d 6t j	 d	 d
 ƒ j
 d ƒ d 6t j	 d d d d ƒd 6t t t g d 6t j t d ƒ ƒ d 6t j d d d	 ƒd 6t j d d d	 d d ƒd 6ƒ } | d	 ƒ | _ d | j _ d | j _ | j ƒ  } | j d d	 k s0t ‚ t | j ƒ d k sKt ‚ t | j ƒ d k sft ‚ t t | j j ƒ  ƒ d g ƒ t | | ƒ sšt ‚ | j ƒ  } | d j
 t ƒ | d <| d j
 d ƒ | d <d  | j _ t | j  ƒ  | d t d t ƒd  S(    Niÿÿÿÿ(   t   Datasets   make{}t   abcR   i   i   RN   i   i   t   u1R   g      @g      @R=   t   float64RO   t   et   fRI   RJ   t   gt   tzs
   US/Easternt   hR   RD   i   s   datetime64[ns]t   check_index_typet   check_categorical(!   t   xarrayR~   RW   t   tmt   formatR   R1   R   R/   t   aranget   astypeR5   R7   R!   t   CategoricalR   R   R"   R%   t	   to_xarrayt   dimsR$   t   lent   coordst	   data_varsR   t   keyst
   isinstancet   copyR?   R#   R	   t   to_dataframe(   R   R   R~   R   R(   RB   (    (    s>   lib/python2.7/site-packages/pandas/tests/generic/test_frame.pyt   test_to_xarray_index_types±   s6    
R‰   t   min_versions   0.7.0c         C   s]  d d l  m } t i t d ƒ d 6t t d d ƒ ƒ d 6t j d d	 ƒ j d
 ƒ d 6t j d d d d ƒd 6t t	 t g d 6t
 j t d ƒ ƒ d 6t
 j d d d ƒd 6t
 j d d d d d ƒd 6ƒ } d | j _ | d d !j ƒ  } | j d d k st ‚ t | | ƒ st ‚ t
 j j d g t d ƒ g d d d g ƒ| _ | j ƒ  } | j d d k snt ‚ | j d d k s‡t ‚ t | j ƒ d k s¢t ‚ t | j ƒ d k s½t ‚ t t | j j ƒ  ƒ d d g ƒ t | | ƒ sôt ‚ | j ƒ  } | j ƒ  } | d j t ƒ | d <| d j d  ƒ | d <d  | j _ t | | d! t	 ƒd  S("   Niÿÿÿÿ(   R~   R   R   i   i   RN   i   i   R€   R   g      @g      @R=   R   RO   R‚   Rƒ   RI   RJ   R„   R…   s
   US/EasternR†   R   i    R2   RE   RF   i   i   s   datetime64[ns]R‡   (    R‰   R~   R   R1   R   R/   RŒ   R   R5   R7   R!   RŽ   R   R   R"   R   R   R$   R•   R   t   from_productR‘   R’   R“   R   R”   R—   R–   R?   R#   R%   R	   (   R   R~   R   R(   RB   (    (    s>   lib/python2.7/site-packages/pandas/tests/generic/test_frame.pyt   test_to_xarrayß   s@    "c         C   s>   t  d g  d g  d d g ƒ } t | ƒ } |  j | | ƒ d  S(   Nt   dataR   R%   R   (   R   R    R@   (   R   t   empty_framet   empty_frame_copy(    (    s>   lib/python2.7/site-packages/pandas/tests/generic/test_frame.pyt   test_deepcopy_empty	  s    (   t   __name__t
   __module__R   t   _typt   _comparatorR   R)   R4   R;   RC   Rs   Rt   R8   t   markt   skipift   _XARRAY_INSTALLEDR   R‰   t   __version__t   parametrizeR˜   t   tdt
   skip_if_noR›   RŸ   (    (    (    s>   lib/python2.7/site-packages/pandas/tests/generic/test_frame.pyR      s(   							I			&*(#   R–   R    t   distutils.versionR   t   operatorR   t   numpyR/   R8   t   pandas.compatR   t   pandas.util._test_decoratorst   utilt   _test_decoratorsR©   t   pandasR!   R   R   R   R   t   pandas.util.testingt   testingRŠ   R   R	   R
   t   test_genericR   R‰   R5   R¦   t   ImportErrorR7   R   (    (    (    s>   lib/python2.7/site-packages/pandas/tests/generic/test_frame.pyt   <module>   s"   "

