ó
šxŠ\c           @   s˜   d  d l  m  Z  d  d l Z d  d l Z d  d l m Z m Z m Z d  d l m	 Z	 m
 Z
 m Z m Z m Z d  d l j j Z d e f d „  ƒ  YZ d S(   iÿÿÿÿ(   t   datetimeN(   t   lranget   ranget   zip(   t	   DataFramet   Indext
   MultiIndext
   RangeIndext   Seriest   TestSeriesAlterAxesc           B   s  e  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 e j j d i d d 6i d d 6i  g ƒ d „  ƒ Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s   d } t  j t d | ƒ d  | _ Wd  QXd } t  j t d | ƒ! t j t | ƒ d ƒ | _ Wd  QXt j t | ƒ ƒ | _ t	 | j t
 ƒ s™ t ‚ d  S(   NsN   Index\(\.\.\.\) must be called with a collection of some kind, None was passedt   matchsK   Length mismatch: Expected axis has 30 elements, new values have 29 elementsi   (   t   pytestt   raisest	   TypeErrort   Nonet   indext
   ValueErrort   npt   aranget   lent
   isinstanceR   t   AssertionError(   t   selft   string_seriest   msg(    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_alter_axes.pyt   test_setindex   s    "c         C   sW  | } d „  } | j  | ƒ } | j d | | j d ƒ k sD t ‚ t t | j | j ƒ ƒ } | j  | ƒ } t j | | ƒ t t j	 d ƒ d d d d d g d	 d
 ƒ} | j  i d d 6d d 6ƒ } t j
 | j t d d d d g ƒ ƒ t t j	 d ƒ d t d d d d g d d ƒd	 d
 ƒ} | j  i  ƒ } | j j | j j k sSt ‚ d  S(   Nc         S   s   |  j  d ƒ S(   Ns   %Y%m%d(   t   strftime(   t   x(    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_alter_axes.pyt   <lambda>&   s    i    i   R   t   at   bt   ct   dt   dtypet   int64t   foot   bart   name(   t   renameR   R   t   dictR   t   tmt   assert_series_equalR   R   R   t   assert_index_equalR   R%   (   R   t   datetime_seriest   tst   renamert   renamedt   rename_dictt   renamed2t   s(    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_alter_axes.pyt   test_rename$   s    	&-%	c         C   s‚   t  t d ƒ d d ƒ} t  i d d 6d d 6ƒ } | j | ƒ } t  t d ƒ d d	 d d d
 d g d d ƒ} t j | | ƒ d  S(   Ni   R%   R#   i
   i   i   i   R   i    i   i   (   R   R   R&   R(   R)   (   R   R1   R-   t   resultt   expected(    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_alter_axes.pyt   test_rename_by_series;   s
    -c         C   s£   t  t d ƒ d t d ƒ ƒ} x~ d d d t d d d ƒ d	 g D][ } | j | ƒ } | j | k sj t ‚ t j | j	 j
 | j	 j
 ƒ | j d  k s@ t ‚ q@ Wd  S(
   Ni   R   t   abcdR#   i{   g     À^@iÑ  i   (   R#   (   R   R   t   listR    R&   R%   R   R(   t   assert_numpy_array_equalR   t   valuesR   (   R   R1   R%   R3   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_alter_axes.pyt   test_rename_set_nameB   s    (c         C   s­   t  t d ƒ d t d ƒ ƒ} xˆ d d d t d d d ƒ d g D]e } | j | d	 t ƒ| j | k sn t ‚ t j	 d
 d d g d t j
 ƒ} t j | j j | ƒ q@ Wd  S(   Ni   R   t   abcR#   i{   g     À^@iÑ  i   t   inplaceR   R   R   R!   (   R#   (   R   R   R7   R    R&   t   TrueR%   R   R   t   arrayt   object_R(   R8   R   R9   (   R   R1   R%   t   exp(    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_alter_axes.pyt   test_rename_set_name_inplaceJ   s    (!c         C   sk   t  t d ƒ ƒ } | j i  d d ƒ| j i  d d ƒt j t d d ƒ | j i  d d ƒWd  QXd  S(   Ni   t   axisi    R   R
   s   No axis named 5(   R   R   R&   R   R   R   (   R   R1   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_alter_axes.pyt   test_rename_axis_supportedS   s
    c         C   sŸ   t  d d d g ƒ } t  d d d g d d ƒ} xh d d d t d d d ƒ d
 d	 g D]B } | | _ | j | k sy t ‚ | | _ | j | k sU t ‚ qU Wd  S(   Ni   i   i   R%   R$   i   g      @iÑ  u   ×(   i   (   R   R    R%   R   (   R   R1   t   s2R%   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_alter_axes.pyt   test_set_name_attribute[   s    +		c         C   sd   t  d d d g ƒ } | j d ƒ } | j d k s9 t ‚ | j d  k sN t ‚ | | k	 s` t ‚ d  S(   Ni   i   i   R#   (   R   t	   _set_nameR%   R   R   (   R   R1   RD   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_alter_axes.pyt   test_set_named   s
    c         C   sL   d „  } | | j  d ƒ } | j | d t ƒ| j  d | k sH t ‚ d  S(   Nc         S   s   |  j  d ƒ S(   Ns   %Y%m%d(   R   (   R   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_alter_axes.pyR   l   s    i    R<   (   R   R&   R=   R   (   R   R+   R-   R4   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_alter_axes.pyt   test_rename_inplacek   s    	c         C   s@   t  j d ƒ } t t d ƒ ƒ } | | _ | j j s< t ‚ d  S(   Ni
   (   R(   t   makeDateIndexR   R   R   t   is_all_datesR   (   R   t   idxR1   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_alter_axes.pyt   test_set_index_makes_timeseriesr   s    	c         C   sÊ  t  j ƒ  d  } | j ƒ  } d d g | j _ d | _ | j ƒ  } d | k sU t ‚ | j d d ƒ } d | k sy t ‚ | j d t ƒ } | } | j d t d t ƒ t  j	 | | ƒ t
 d	 d
 g d d d g d d g g d d d d d d d g d d d d d d g d d d d d d g g ƒ } t t j j d ƒ d | ƒ} | j d d ƒ } t | j ƒ d k sqt ‚ | j d d d g d t ƒ } t  j | j t | j d ƒ ƒ ƒ t | t ƒ sÆt ‚ d  S(   Ni   t   hasht   categoryt   valueR%   t   value2t   dropR<   t   levelsR$   t   onet   twot   threei    i   t   codesi   i   R   t   level(   R(   t   makeDataFramet   stackR   t   namesR%   t   reset_indexR   R=   R)   R   R   R   t   randomt   randnR   t   columnsR*   R   t   get_level_valuesR   (   R   t   dft   serR1   RD   R   t   rs(    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_alter_axes.pyt   test_reset_indexy   s*    	'*"c         C   ss   t  d d d g d t t d ƒ d d ƒƒ} | j ƒ  j j d  k sK t ‚ | j d t ƒ j j d  k so t ‚ d  S(   Ni   i   i   R   R%   R   RQ   (	   R   R   R   R[   R   R%   R   R   R=   (   R   R1   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_alter_axes.pyt   test_reset_index_name—   s    -c         C   s~  t  d d d g d d d g g d d d	 d
 g ƒ} xd d	 g d d g f D]ç} | j d d	 g ƒ d
 } | j d | d ƒ } t j | | j d	 ƒ ƒ | j d | d  ƒ } t j | | j d	 ƒ ƒ | j d | ƒ } t j | | ƒ | j d d	 g ƒ j d | d t ƒ } t j | | d
 g ƒ t j t d d ƒ | j d d d g ƒ Wd  QX| j d ƒ d	 } | j d | d ƒ } t j | | d d	 g ƒ | j d | d  ƒ } t j | | d d	 g ƒ | j d | d d t ƒ } t j	 | | d	 ƒ t j t
 d d ƒ | j d d d d g ƒ Wd  QXqL Wt t d ƒ ƒ j g  d t ƒ} t t d ƒ ƒ } t j	 | | ƒ d  S(   Ni   i   i   i   i   i   R^   t   At   Bt   Ci    RW   RQ   R
   s   Level E t   Es   Too many levels(   R   t	   set_indexR[   R(   t   assert_frame_equalR=   R   R   t   KeyErrorR)   t
   IndexErrorR   R   (   R   R`   RR   R1   R3   R4   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_alter_axes.pyt   test_reset_index_levelœ   s6    !	#!c         C   s   t  t d ƒ d d d d ƒ} | j ƒ  } t | j t ƒ sB t ‚ t d d g d d g g d d	 d g d	 t d
 d ƒ ƒ} t j	 | | ƒ d  S(   Ni   R%   Re   R!   R"   i    i   R^   R   t   stop(
   R   R   R[   R   R   R   R   R   R(   Rj   (   R   R1   t   series_resultt   series_expected(    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_alter_axes.pyt   test_reset_index_rangeÈ   s    c         C   s®  t  d d g d d d g d d g g d d d d d d d g d d d	 d d d	 g d d d d d d g g d
 d d d g ƒ } t t j d ƒ d | ƒ} | j d d d	 g ƒ } t j | | ƒ | j d d d g ƒ } t j | | ƒ | j d d	 d g ƒ } t  d d d d g d d g d g g d d d d	 d d d	 g d d d d d d g d d d d d d g g d
 d d d g ƒ } t t j d ƒ d | ƒ} t j | | ƒ d  S(   NRR   R$   RS   RT   RU   i    i   RV   i   RZ   t   L0t   L1t   L2i   R   (   R   R   R   R   t   reorder_levelsR(   R)   (   R   R   R1   R3   t   e_idxR4   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_alter_axes.pyt   test_reorder_levelsÒ   s     '*'*c         C   s7  t  j d d d g d d g g d d d g ƒ} t g  t t | ƒ ƒ D] } | ^ qF d	 | ƒ} | j d	 i d
 d 6ƒ } | j j d
 d g k s˜ t ‚ | j d	 t	 j
 d d ƒ } | j j d d g k sÑ t ‚ | j d	 d
 d g ƒ } | j j d
 d g k st ‚ t j t d d ƒ | j d d ƒ Wd  QXd  S(   NR   R   R   i   i   RZ   t   llt   nnR   R#   RB   i    t   LLt   NNt   gooR
   t
   unexpectedR^   t   wrong(   R   t   from_productR   R   R   t   rename_axisR   RZ   R   t   strt   upperR   R   R   (   R   t   mit   iR1   R3   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_alter_axes.pyt   test_rename_axis_mapperê   s    !1c         C   sP   | j  d ƒ } | } | j  d d t ƒ} | d  k s< t ‚ t j | | ƒ d  S(   NR#   R<   (   R€   R=   R   R   R(   R)   (   R   R+   R4   R3   t	   no_return(    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_alter_axes.pyt   test_rename_axis_inplaceü   s
    t   kwargst   mapperR   c         C   sŒ   t  t d ƒ d d ƒ} t d d d g d | ƒ} | j |   } | rW | j d  ƒ n | } t d d d g d | ƒ} t j | | ƒ d  S(   NR;   R%   R#   i   i   i   R   (   R   R7   R   R€   R&   R   R(   R)   (   R   Rˆ   R   R`   R3   t   expected_indexR4   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_alter_axes.pyt   test_rename_axis_none  s    c      
   C   sÐ   t  t j d ƒ d d d d d g d d ƒ} | j ƒ  } t d	 ƒ | _ x d  t f t d  f g D]g \ } } | j ƒ  } i | d
 6} t	 j
 | ƒ ! | j t d	 ƒ d | | Wd  QXt	 j | | ƒ qa Wd  S(   Ni   R   i   i   i   i   R!   R"   R6   R<   RB   (   R   R   R   t   copyR7   R   R   t   FutureWarningR=   R(   t   assert_produces_warningt   set_axisR)   (   R   t   axis_seriesRa   R4   R<   t   warnR3   Rˆ   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_alter_axes.pyt   test_set_axis_inplace_axes  s    -%"c         C   s  t  t j d ƒ d d d d d g d d ƒ} | j ƒ  } t d	 ƒ | _ | j t d	 ƒ d
 d d t ƒ} t j	 | | ƒ t j
 d  ƒ   | j t d	 ƒ d t ƒ} Wd  QXt j	 | | ƒ xO d d g D]A } t j t d d ƒ$ | j t d	 ƒ d
 | d t ƒWd  QXqÇ Wd  S(   Ni   R   i   i   i   i   R!   R"   R6   RB   i    R<   i   R#   R
   s   No axis named(   R   R   R   RŒ   R7   R   R   t   FalseR(   R)   RŽ   R   R   R   R   (   R   R1   R4   R3   RB   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_alter_axes.pyt   test_set_axis_inplace!  s    -!!c      
   C   s§   t  t j d ƒ d d d d d g d d ƒ} | j ƒ  } t d	 ƒ | _ xX d
 d g D]J } t j t ƒ # | j	 d
 t d	 ƒ d t
 ƒ} Wd  QXt j | | ƒ qU Wd  S(   Ni   R   i   i   i   i   R!   R"   R6   i    R<   (   R   R   R   RŒ   R7   R   R(   RŽ   R   R   R“   R)   (   R   R1   R4   RB   R3   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_alter_axes.pyt,   test_set_axis_prior_to_deprecation_signature7  s    -$c      
   C   sË   t  t d ƒ ƒ } t j t d d ƒ | j d d t ƒWd  QXt j t d d ƒ | j d ƒ Wd  QXt  t d ƒ d t j d d g g d ƒ ƒ} t j t d d	 ƒ | j d d t ƒWd  QXd  S(
   Ni   R
   s   must be same as nameR~   RQ   R   i   i   s	   not found(	   R   R   R   R   Rk   R[   R=   R   R   (   R   R1   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_alter_axes.pyt   test_reset_index_drop_errorsB  s    .c         C   s£   t  d d d d g ƒ } t j d d g d	 d
 d g ƒ| _ | j d d t ƒ} | j d d d ƒ} t j | | ƒ t	 j
 t ƒ  | j d d d ƒWd  QXd  S(   Ni   i   i   i   i   i   i   i   RZ   R   R   RQ   RB   R   R^   (   i   i   i   i   (   i   i   i   i   (   R   R   t   from_arraysR   R[   R=   t	   droplevelR(   R)   R   R   R   (   R   Ra   R4   R3   (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_alter_axes.pyt   test_droplevelQ  s    N(   t   __name__t
   __module__R   R2   R5   R:   RA   RC   RE   RG   RH   RL   Rc   Rd   Rm   Rq   Rw   R…   R‡   R   t   markt   parametrizeR   R‹   R’   R”   R•   R–   R™   (    (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_alter_axes.pyR	      s.   															,	
				5				(   R    t   numpyR   R   t   pandas.compatR   R   R   t   pandasR   R   R   R   R   t   pandas.util.testingt   utilt   testingR(   t   objectR	   (    (    (    sB   lib/python2.7/site-packages/pandas/tests/series/test_alter_axes.pyt   <module>   s   (