ó
x\c           @  sî  d  d l  m Z d  d l m Z m Z m Z m Z d  d l m Z m Z d  d l	 Z
 d  d l Z d  d l m Z d  d l m Z m Z m Z m Z m Z m Z d  d l m Z m Z m Z d  d l m Z d  d l Z d  d	 l m Z m Z m Z m  Z  m! Z! m" Z" m# Z# m$ Z$ m% Z% m& Z& m' Z' d  d l( j) j* Z+ d  d
 l, m- Z- d  d l. m/ Z/ d  d l0 j1 j2 Z3 d  d l0 m4 Z4 m5 Z5 m6 Z6 d  d l7 m8 Z8 d e/ f d     YZ9 d e/ f d     YZ: d e/ f d     YZ; d e< f d     YZ= d S(   iÿÿÿÿ(   t   print_function(   t   datet   datetimet   timet	   timedelta(   t   catch_warningst   simplefilterN(   t   iNaT(   t   longt   lranget   lzipt   mapt   ranget   zip(   t   is_float_dtypet
   is_integert	   is_scalar(   t   CategoricalDtype(   t   Categoricalt	   DataFramet   DatetimeIndext   Indext
   MultiIndext   Seriest	   Timestampt   compatt
   date_ranget   isnat   notna(   t   IndexingError(   t   TestData(   t   assert_almost_equalt   assert_frame_equalt   assert_series_equal(   t   BDayt   TestDataFrameIndexingc           B  s  e  Z d    Z d   Z d   Z e j j d e   e d e	 d   e d e	 d  d e
 d   g  d    Z d	   Z e j j d
 e	 e e e d   d   g d d d d d d d g e j j d d d g  d     Z e j j d dÃ e d g  f dÄ e d g  f g  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# e j j d, d- d. d/ d0 g  d1    Z$ d2   Z% d3   Z& d4   Z' e j j d5 d6   d7   g d d8 d9 g d:    Z( d;   Z) d<   Z* d=   Z+ d>   Z, d?   Z- d@   Z. dA   Z/ dB   Z0 dC   Z1 e j j d, dD d. g  e j j dE e2   e2 d d g  e2 d dF g  g  dG     Z3 dH   Z4 dI   Z5 dJ   Z6 dK   Z7 dL   Z8 dM   Z9 dN   Z: dO   Z; dP   Z< dQ   Z= dR   Z> dS   Z? dT   Z@ dU   ZA dV   ZB dW   ZC dX   ZD dY   ZE dZ   ZF d[   ZG d\   ZH d]   ZI d^   ZJ d_   ZK d`   ZL da   ZM db   ZN dc   ZO dd   ZP de   ZQ df   ZR dg   ZS dh   ZT di   ZU dj   ZV dk   ZW dl   ZX dm   ZY dn   ZZ do   Z[ dp   Z\ dq   Z] dr   Z^ ds   Z_ dt   Z` du   Za dv   Zb dw   Zc dx   Zd dy   Ze dz   Zf d{   Zg d|   Zh d}   Zi e j j d~ d d d d d g f d ej jk d d d g f d d d d d g f g  d    Zl d   Zm d   Zn d   Zo d   Zp d   Zq d   Zr d   Zs d   Zt d   Zu d   Zv d   Zw d   Zx e j j d d d g g  d    Zy d   Zz d   Z{ d   Z| d   Z} d   Z~ d   Z d   Z d   Z d   Z d   Z e j j d e	 e ej j g  d    Z e j j d d g d g d g g e d g d  g d¡ g g  e i d d  d¡ g d¢ 6 d£ g d€ g d£ g g e d¥  g e j g e dŠ  g g g  d§    Z e j j d d d g d d g d d g g e d d g d  d g dš d¡ g g  d€ d£ g d£ d€ g d£ d£ g g e i d d  d¡ g d¢ 6dš d© dª g d« 6 e j e d¥  g e dŠ  e j g e d¬  e d¬  g g g  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 RS(Å   c         C  s  |  j  d  } t | j  d k s( t  xV t j |  D]E \ } } t | j  d k s_ t  t j | j | j  s8 t  q8 Wx< t j |  j  j  D]% \ } } |  j  | d  k	 s t  q Wd |  j  k sÕ t  t
 j t d d  |  j  d Wd  QX|  j  j   } t j j t |   | d <t j j t |   } | | d <t
 j t   | j d  Wd  QX| d } t j | | j  d  S(   Ni   t   randomt   matchs   $10s   @awesome_domains	   df["$10"](   t   framet   lent   indext   AssertionErrorR   t	   iteritemst   tmt   equalContentst   _seriest   Nonet   pytestt   raisest   KeyErrort   copyt   npR$   t   randnt   __getitem__t   assert_numpy_array_equalt   values(   t   selft   slt   _t   seriest   keyt   dft   adt   res(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_getitem!   s$    ""

c         C  sX   t  d d d g d d d g g d d d d	 g } t j t   | d
 g Wd  QXd  S(   Ni   i   i   i   i   i   t   columnst   at   bt   baf(   R   R/   R0   R1   (   R8   R=   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_getitem_dupe_cols>   s    3c         C  sr   |  j  j d  } t | |  j  d  |  j  j d  d  k sD t  t |  j  j d |  j  d  |  j  d  d  S(   Nt   Bt   foo(   R&   t   getR!   R.   R)   (   R8   RC   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_getC   s
    R=   RA   t   ABR(   i   c         C  s   | j  d   d  k s t  d  S(   N(   RH   R.   R)   (   R8   R=   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_get_noneK   s    c         C  sg   t  d d d g  } |  j j d  d   | f } |  j j d  d   d d d g f } t | |  d  S(   Nt   ARF   t   C(   t   iterR&   t   locR    (   R8   t   idxt   resultt   expected(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_loc_iterableT   s    %t   idx_typec         C  s   t  t |  t t |      S(   N(   t   dictR   R   R'   (   t   l(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   <lambda>]   s    c         C  s%   t  t |  t t |      j   S(   N(   RU   R   R   R'   t   keys(   RV   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyRW   ^   s    t   idst   listRN   R   t   setRU   t	   dict_keyst   levelsi   i   c   
      C  s  | d k r |  j  d } } n< t t j j d d  d t d d d g d d } d } | j d | j d g } | |  } t | |   } | | } | j d  d   | f }	 | j j	 |	 j _	 t
 | |	  | | | g  } t j t d d  | | Wd  QXd  S(   Ni   t   foodi   i   RA   RG   t   bart   bazt   quxt   peekt   aboot   namet   stht   sth2t   goodi    R%   s   not in index(   RG   R_   (   R`   Ra   (   Rb   Rc   (   Re   Rf   (   Rg   R^   (   R&   R   R3   R$   R4   R   RA   RZ   RO   t   namesR    R/   R0   R1   (
   R8   RT   R]   R&   t   missingRX   RP   t	   idx_checkRQ   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_getitem_listlikeZ   s"    
		
s   val,expectedi?   c         C  sH   t  d d g d d d g } | j | } | | _ t j | |  d  S(   Ni   i   R(   i?   l            l   ÿÿÿÿ l            (   R   RO   Rd   R+   R!   (   R8   t   valRR   R=   RQ   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_loc_uint64}   s    	c         C  sŒ   |  j  d   } t j | |  j  j d  d   d f  |  j  d   } t j | |  j  j d  d   d d g f  |  j  d  } | d   } t j | |  j  j d d g d  d   f  d  S(	   Nc         S  s   d S(   NRL   (    (   t   x(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyRW      s    RL   c         S  s
   d d g S(   NRL   RF   (    (   Rn   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyRW      s    RF   i   c         S  s   t  t t  g S(   N(   t   Truet   False(   Rn   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyRW      s    i    i   (   R&   R+   R!   RO   R    t   iloc(   R8   RQ   R=   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_getitem_callable   s    &,c      	   C  s  d |  j  d <|  j  d d g } | |  j  d d g <t |  j  d | d d t t |  j  d | d d t d } t j t d |  |  j  d d g | d g <Wd  QXd } t j t d | " t t | j  d	  | d <Wd  QXt	 d
 t
 d  d d g d t j } d	 d g | j d	 d d g f <| j | j d	 d d g f } t d	 d g | j d t j d d	 } t | |  d | d <| d <d d g | j | j d	 d d g f <| j | j d	 d d g f } t d d g | j d d	 } t | |  d  S(   NRG   t   ERL   RF   t   check_namess"   Columns must be same length as keyR%   s/   Length of values does not match length of indexi   i    i   t   tt1t   tt2t   dtypei   Rd   t   0t   1t   2(   R&   R!   Rp   R/   R0   t
   ValueErrorR   R'   R(   R   R	   R3   t   int_RO   R   RA   (   R8   t   datat   msgR=   RQ   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_list   s*     #' '& c         C  sR   t  j j t |  j  d  } | |  j d d g <t |  j d d g j |  d  S(   Ni   RL   RF   (   R3   R$   R4   R'   R&   R   R7   (   R8   R}   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_list_not_dataframe³   s    c         C  sf   t  |  j d |  j d  } | |  j d <|  j d } t | d |  j j d d } t | |  d  S(   NRL   RF   t   tuplesR(   Rd   (   R
   R&   R   R(   R!   (   R8   R   RQ   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_list_of_tuplesž   s
    c         C  s{  d d d g d d g d d d g f } t  j |  } t j d	 d
 d } t j j d d t |  t |  f  } t j | d | d | } | j	 j
 j   | d } } t j j |  | d j | d  d  d  f | d <t | d | d  t j j |  | d j | | f | d <t | d | d  t j j |  | d j | | f | d <t | d | d  d  S(   Nt   jimt   joet   joliet   firstt   lastt   leftt   centert   rightt   20141006t   periodsi   i   iè  RA   R(   iÿÿÿÿ(   R   R   (   R   R   (   R   R   (   R   R   (   R   R   (   R   R   (   R   R   (   R   R   (   R   t   from_productt   pdR   R3   R$   t   randintR'   R   R(   R7   R2   t   shuffleRO   R    (   R8   t   itt   colsR(   t   valsR=   t   it   j(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_mulit_indexÀ   s     *$c         C  s   t  j i d d d d g d 6d d d d	 g d
 6 } d d d d g | d   <t  j i d d d d g d 6d d d d	 g d
 6 } t j | |  d  S(   Ni   i   i   i   RL   i   i   i   i   RF   i   i   i   i   c         S  s   d S(   NRL   (    (   Rn   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyRW   Ü   s    (   R   R   R+   R    (   R8   R=   t   exp(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_callableÙ   s    55c         C  so   d   } t  j d d g d d g g  } | | | d k <t  j d | g | d g g  } t j | |  d  S(   Nc         S  s   |  d S(   Ni   (    (   Rn   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   incã   s    iÿÿÿÿi   i    (   R   R   R+   R    (   R8   R   R=   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_other_callableá   s
    	!!c           s  |  j  j d } |  j  j | k } | j t  } |  j  j | } |  j  | } t j | | j  t j t d d  |  j  | d  Wd  QX|  j  | } t	 | |  t j t d d  |  j  |  j  Wd  QXt
 | |  j  j  } |  j  | } t	 | |  t j t d t A | j |  j  j d  d  d   } |  j  | } t	 | |  Wd  QXx;|  j  |  j |  j |  j g D]} t j r| |  j k rqvn  | j     | | d k } t   f d     j D d	   j d
   j }	 x. | j D]# }
 |
 |	 k rñ| |
 |	 |
 <qñqñW|	 j d
 | j  }	 t	 | |	 d t xN | j D]C }
 | |
 j |	 |
 j k rJ| |
 j | |
 j k st  qJqJWqvWd  S(   Ni
   R%   s   Item wrong lengthiÿÿÿÿs   boolean values onlyt   check_stackleveli    c           s9   i  |  ]/ } t  j   | d  k   | t  j  |  q S(   i    (   R3   t   wheret   nan(   t   .0t   c(   R}   (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pys
   <dictcomp>  s   	R(   RA   t   check_dtype(   t   tsframeR(   t   astypet   objectR+   t   assert_index_equalR/   R0   R{   R    R   t   assert_produces_warningt   UserWarningRp   t   reindext   mixed_framet   mixed_floatt	   mixed_intR   t   PY3t   _get_numeric_dataR   RA   Rw   R)   (   R8   t   dt   indexert   indexer_objt   subindext   subframet   subframe_objR=   t   bift   bifwR   (    (   R}   s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_getitem_booleanì   sH    "c         C  s³  |  j  j   } d | d <| d j d  | d <| d j   | d <d | d <| d j d  | d <| d j   | d <| | d k } | j   } t i d	 d
 6d d 6d d 6 } t | |  d | j | j d d !d d g f <| | d k } | j   } t i d d
 6d d 6d d 6 } t | |  t d t	 j
 j d d   } | j | d k  } | d k } t |  } | j t  j |  } | j |  } t | |  d  S(   Ni   Rs   t   int32t   E1t   Ft   int64t   F1i    i   t   float64i   i   i   R}   id   i2   (   R¡   R2   R¢   t   get_dtype_countsR   R!   RO   R(   R   R3   R$   R4   R   R   t   floatt   maskR    (   R8   R=   t   castedRQ   RR   t   boolsRŸ   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_getitem_boolean_casting%  s.    

!#!c           sm   t  t j d  j d d       f d   } | t t t g  | t t t g  | t t t g  d  S(   Ni   i   i   c           s/     |  }   j    j |  } t | |  d  S(   N(   RO   R(   R    (   t   lstRQ   RR   (   R=   (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   _checkitI  s    
(   R   R3   t   aranget   reshapeRo   Rp   (   R8   RÃ   (    (   R=   s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_getitem_boolean_listF  s
    !c         C  s|   t  j j d d  } t | j   d d d d d d g } | | d k  c d	 7<| | d k  c d	 7<t | j |  d  S(
   Ni   RA   RL   RF   RM   t   DRs   i    i   (   R3   R$   R4   R   R2   R   R7   (   R8   t   arrR=   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_getitem_boolean_iaddR  s
    'c         C  sX   t  t j d d g  d d g d t g   } t j g  t  } | | d | | <d  S(   Ni    i   RA   RL   R(   (   R   R3   t   emptyR   t   arrayt   bool(   R8   t   blaht   k(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_boolean_index_empty_corner\  s
    !c      	   C  s  t  t j j d d  d d d d d g d d d	 d g } | j d
  } | j | j d
  } t | |  t d t	  D t
 d t  | j d d g } | j t d d g d t } Wd  QXt | |  t j  i d d 6d d d d g d 6d d d d g d 6d d d d g d 6d d d d d g } | d g } | j d  d   d g f } t | |  | d g } | j d  d   d g f } t | |  d  S(    Ni   i   R(   i   i
   RM   Rs   RA   i   iÿÿÿÿt   recordt   ignoreRw   g      ø?g@g	@g      @t   rnai   i   i$   i(   iüÿÿi   i+   i"   i    i   i   iè  (   g      ø?g@g	@g      @(   R   R3   R$   R4   Rq   RO   R(   R    R   Ro   R   t   DeprecationWarningt   ixR   R£   R   (   R8   R=   RQ   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_getitem_ix_mixed_integerg  s*    $%c         C  s  t  d t  . t d t  |  j j d  d   d f } Wd  QXt | |  j d  t  d t  1 t d t  |  j j d  d   d g f } Wd  QXt | |  j d g  t  d t  4 t d t  |  j j d  d   d d g f } Wd  QXt | |  j d d g  t  d t  1 t d t  d |  j j d  d   d g f <Wd  QX|  j d d k j   slt	  t
 t j j d d	   } t  d t  6 t d t  t j t   | j d g Wd  QXWd  QXt  d t  B t d t  t j t   | j d  d   d g f Wd  QXWd  QXt
 t j j d
 d  d g  t d
  D] } t | d  ^ qF} t  d t  & t d t  | j d | j d <Wd  QXt  d t  k t d t  t | j d | j d d t | j d j d k söt	  | j d j d k st	  Wd  QXd  S(   NRÐ   RÑ   iÿÿÿÿRÇ   iþÿÿÿRM   i    i   i   i   i   R(   iA   Rt   t   Tt   S(   R   Ro   R   RÓ   R&   RÔ   R!   R    t   allR)   R   R3   R$   R4   R/   R0   R1   R   t   chrRp   Rd   (   R8   RQ   R=   Rn   RB   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt)   test_getitem_setitem_ix_negative_integers  sF    "%(%&,!c         C  s7   t  |  j j |  j d  t j t t |  j d  d  S(   NRL   t   NONEXISTENT_NAME(   R!   R&   RL   R/   R0   t   AttributeErrort   getattr(   R8   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_getattr°  s    c         C  sG   t  i d d 6d t d  } d | _ | j d k j   sC t  d  S(   Ni   t   foobarR(   i
   i   (   R   R	   Rß   RØ   R)   (   R8   R=   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setattr_columnµ  s    	c      	   C  s  |  j  d d  d  d  } | |  j  d <d |  j  k s< t  t |  d k sT t  t |  j   d k so t  t j t j | j t j g d f   } t | d |  j  j	 d d } t
 j |  j  d |  |  j  d } | |  j  d <t
 j | |  j  d d	 t t j t  + d
 |  j  t j j t |  j   d
  <Wd  QXt j j t |  j    } | |  j  d <|  j  d | k j   st  d |  j  d <|  j  d d k j   sµt  d |  j  d <|  j  d d k j   sát  d |  j  d <|  j  d d k j   st  |  j  d  } t j t j   d d g | d <Wd  QX| d j t j k s_t  | d d d g k j   st  t d d g g  } t j | j d <t t j t j g g  } t | |  t d d g g  } t j | j d <t | |  d  S(   NRL   i   t   col5i   i   R(   Rd   t   col6Rt   i   t   col9i   t   col7gëQž	@t   col0RG   t   col8Ry   Rz   t   col10i    (   R&   R)   R'   R3   t   ravelt   column_stackR7   R   R   R(   R+   R!   Rp   R/   R0   R1   R$   R4   RØ   t   comt   SettingWithCopyErrorRw   t   object_R   Rq   R    RO   (   R8   R;   R   RÈ   t   smallerR=   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem»  sD    +,"Rw   R¶   R¹   t   float32R»   c         C  sZ   t  j j t |  j   } t  j | d | |  j | <|  j | j j | k sV t  d  S(   NRw   (	   R3   R$   R4   R'   R&   RË   Rw   Rd   R)   (   R8   Rw   RÈ   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_dtypeñ  s    c         C  s9   |  j  d |  j  d <t |  j  d |  j  d d t d  S(   NRL   RF   Rt   (   RL   RF   (   RL   RF   (   R&   R!   Rp   (   R8   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_tupleø  s    c         C  sZ   |  j  d j   } | |  j  d <t j |  j  d d d +t | d d ! j   sV t  d  S(   NRL   Rs   i   i
   (   R&   R2   R3   R   R   RØ   R)   (   R8   t   s(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_always_copyý  s    c         C  s  |  j  j   } |  j  j } d | | d d k <d | | d  d   d f d k <t | j |  | d d k } | j | j d  d  d   } d | | <d | | d  d   d f d k <t | j |  d | | d k <d | | d k <t | j |  d | | d k <d | | d k <t | j |  d | | d  d k  <t j | d  | d  d k  d  t | j |  d | | d  d  d  d k <d | | d k <t | j |  d	 } t j	 t
 d
 |  d | | d <Wd  QX| t j |  k } | j   } t j | | t j |  k <t j | j | j <t | |  | j   } | d | | t j |  k <t j | j | j | j d  t | |  d  S(   Ni   RL   i    iÿÿÿÿi   i   i   i   s;   Must pass DataFrame or 2-d ndarray with boolean values onlyR%   (   R&   R2   R7   R   R§   R(   R3   t   putmaskR/   R0   t	   TypeErrort   absR   R    (   R8   R=   R7   R;   R~   RŸ   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_boolean  sD     
 ! t	   mask_typec         C  s   |  t  j |   d k S(   Ni   (   R3   Rö   (   R=   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyRW   8  s    c         C  s   |  t  j |   d k j S(   Ni   (   R3   Rö   R7   (   R=   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyRW   9  s    t	   dataframeRË   c         C  sj   |  j  j   } | |  } | j   } t j | | <| j   } t j | j t j |  <t | |  d  S(   N(   R&   R2   R3   R   R7   RË   R    (   R8   Rø   R=   RŸ   RQ   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_boolean_mask6  s    c         C  s²  |  j  d j d  |  j  d <|  j  d j t j k s< t  d |  j  d <|  j  d j t j k sh t  t j t |  j    |  j  d <t |  j  d j j	 t j
  s¬ t  d |  j  d <d |  j  d <|  j  d j t j k så t  d |  j  d <d |  j  d <|  j  d j t j k st  d |  j  d <|  j  d j t j k sJt  d	 |  j  d <|  j  d j t j k svt  d |  j  d <|  j  d j t j k s¢t  t t j j d
 d  d t d  } t j | d <d | j d <| j   j   } t i d d 6d d 6 j   } t | |  t i t j d d t j d 6 } d | j d <| j j t j t j  k sxt  t j d  | _ | j j t j t j  k s®t  d  S(   NRÇ   t   i8i    RF   R_   RG   g      @t	   somethingi   i   i   RA   t   ABCt   eventi
   R»   i   R£   i   Rw   t   onei   (   i
   Rþ   (   i   Rÿ   (   R&   R¢   Rw   R3   R¹   R)   RÄ   R'   t
   issubclasst   typet   integerR»   R   R$   t   randt   tupleR   RO   RŒ   t   sort_valuesR   R!   t   int8t   dtypesRÿ   (   R8   R=   RQ   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_castI  s:    %' %$c         C  sb   |  j  j   } |  j  d d k } d |  j  j | d f <d | j | j d f <t |  j  |  d  S(   NRL   i    RF   i   (   R&   R2   RO   R7   R    (   R8   RR   RŸ   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_boolean_columnv  s
    c         C  s   t  d d d d d t    } t d  } t d | d |  } t d	 d
 d  } t |  } t j | | <t j | |  j	   s t
  d  S(   Nt   starts   1/1/2012t   ends   2/1/2012t   freqi
   RA   R(   iÜ  i   i   (   R   R"   R	   R   R   R   R3   R   t   isnanRØ   R)   (   R8   RA   R(   R}   t   tt   ts(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_frame_setitem_timestamp  s    c         C  s  t  i d d d g d 6d d d g d 6d	 t j d
  } | d =d d d g | d <d | k sg t  t | j  d k s t  d | d <d | d <d | d <d | t j   <d | t j   <t  d	 |  j j	  } d | d <d | d <t | j  d k st  | j
 j t j k st  d | d <| d j t j k sEt  d | d <| d j t j k skt  d | d <d | d d k st  t  d	 t j d
   } d | d <d | d <| d =d | d <| d j t j k sèt  d d d g | d <| d j t j k st  d  S(   Ng      ð?g       @g      @RF   RB   RC   R   RM   R(   i   i   t	   beginningRL   RG   Rs   R_   RÇ   R   g      @i   i    Ry   Rz   t   3t	   coercable(   R   R3   RÄ   R)   R'   RA   R   t   nowR&   R(   R7   Rw   Rì   R¹   R»   (   R8   R=   t   dm(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_corner  s>    










c         C  s¹   i d d d g d g d d 6t  j j d  d 6} t |  } | | d d k j } d | j | d g f <d | j | d g f <| j d	 d k s t  | j d
 d k sµ t  d  S(   NRß   R_   i   t   titlei   t   crufti    i   (   i   R  (   i   R  (   R3   R$   R   R(   RO   R)   (   R8   R}   R=   RÔ   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_corner2µ  s    c         C  s!  d d l  m } t d t d  d t d   } t g  t d  D] } | d  ^ qA d t d  } t d d d	 g d t d  } t j d  | d
 <t | j	  d k s· t
  | | d <t | j	  d k sÜ t
  | | d <t | j	  d k st
  | d j t j k st
  d  S(   Niÿÿÿÿ(   t   DecimalR(   i   RA   i   RG   t   bzrR`   i    i   (   t   decimalR  R   R	   R   R   R3   t   onesR'   RA   R)   Rw   Rì   (   R8   R  R  R:   t   coercable_seriest   uncoercable_series(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_ambigÂ  s    !(!

c         C  sÙ   t  i d d d d g d 6d d d d	 g d
 6d d d d d g } | j d d t j  | d } d | j | j d d f <t t j t j d d g d | j d d } | d | k	 sÁ t  t j	 | d |  d  S(   Ngñ?gÍÌÌÌÌÌ @gÍÌÌÌÌÌ@gffffff@Rn   gffffff@gffffff@gffffff@g333333 @t   yR(   i    i   i   i   t   zi*   Rd   (
   R   t   insertR3   R   RO   R(   R   R)   R+   R!   (   R8   R=   RG   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_clear_caches×  s    /
-c         C  sŠ   |  j  d |  j  d  <t |  j  j d  d   d f |  j  d d t t |  j  j d  d   d  f |  j  d d t t |  j  d  |  j  d d t t |  j   d  S(   NRL   iÿÿÿÿRt   (   R&   R.   R!   Rq   Rp   RO   t   repr(   R8   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_Noneæ  s    -"c         C  s{   t  j i d d d g d 6d d d g d 6d	 d
 d g d 6 } | j   } | j | j | j j   d f <t | |  d  S(   NRy   Rz   R  RB   t   11t   22t   33RC   t   111t   222t   333R   (   R   R   R2   RB   RO   RC   R   R    (   R8   R=   RQ   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_emptyñ  s    Rœ   t   kwargsRL   c         C  sC   | | d <t  |   } | j   } d | | | k <t | |  d  S(   NRw   i/   (   R   R2   R    (   R8   Rw   R.  R=   t   df2(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt%   test_setitem_empty_frame_with_booleanû  s
    
c         C  sB   t    } d | d <t  d d g  j t j  } t | |  d  S(   Ni   RG   RA   (   R   R¢   R3   R¹   R    (   R8   R=   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_scalars_no_index
  s    	
c         C  s-   t  j   } | | d k } t | |  d  S(   Ni    (   R   R   R    (   R8   R=   R/  (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt%   test_getitem_empty_frame_with_boolean  s    c         C  sm   |  j  j   } | d =t | j  d k s1 t  t j t | j d  | d =t | j  d k si t  d  S(   NRÇ   i   RF   i   (	   R&   R2   R'   RA   R)   R/   R0   R1   t   __delitem__(   R8   t   f(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_delitem_corner  s    c         C  sê  |  j  } t d t  J t d t  t | j d  d   d d g f | j d d d g   Wd  QX|  j  j d d d g } t d t  J t d t  t | j | d d g f | j d	 | d d d g   Wd  QXt d t  ¢ t d t  t | j d d
 !| d d
 ! t | j d d
  d  d   f | d d
 ! t | j d  d  d d g f | j d	 | j d  d d d g   Wd  QXt d t  @ t d t  | j d d !} | j | j d | j d
 !} Wd  QXt | |  t d t  J t d t  t | j d  d   d  d  f | j d d d g   Wd  QXt d t  O t d t  | j	   } d | j d d
 !j
 (d | j
 d d
 +t | |  Wd  QXt d t  1 t d t  t j t | j j | d k  Wd  QXd  S(   NRÐ   RÑ   RF   RL   RA   i   i   i   R(   i
   i   i   g      à?(   R&   R   Ro   R   RÓ   R    RÔ   R§   R(   R2   R7   R/   R0   R{   R5   (   R8   R4  t   subidxRR   RQ   R   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_getitem_fancy_2d   sD    	%-$>c         C  s¬   d d d g } t  t j j d d  d | } | j d d !} t |  d k sX t  | j d d	 !} t |  d k s t  | j d d
 !} t |  d k sš t  d  S(   Ngæx"p|é@g\Va³|é@gßÖË|é@i   i   R(   g3333c|é@g    |é@g3333|é@gÍÌÌÌÜ|é@(   R   R3   R$   R  RO   R'   R)   (   R8   R(   R=   t   s1(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_slice_floatsO  s    !c         C  sy   t  t j j d d   } | j d  d d  } t j | j d  d d  <t | j d  d d   j j   su t	  d  S(   Ni
   i   i   i   (
   R   R3   R$   R4   Rq   R   R   R7   RØ   R)   (   R8   R=   RQ   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt&   test_getitem_fancy_slice_integers_step\  s    c         C  s|  t  t j j d d  d t d d d  } | j   } d | j d d +| j d d !d k j j   sn t	  | j   } d | j d d	 +| j d d	 !d k j j   s¯ t	  | j d d
 !} | j
 d d	 !} | j d d
 d d g  } t | |  t | |  | j t d  t d d  d  d  d  } t j t | j
 j t d d	   t j t | j
 j t d d	  d  d  S(   Ni
   i   R(   i    i   i   i   i   i   i   i   iÿÿÿÿ(   R   R3   R$   R4   R	   R2   Rq   R7   RØ   R)   RO   R§   R    R/   R0   R1   R5   t   slicet   __setitem__(   R8   R=   t   cpRQ   t   result2RR   R/  (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt,   test_getitem_setitem_integer_slice_keyerrorsd  s    -%%-"c   
      C  s  |  j  j   } | j   } t d t  1 t d t  d | j d  d   d d g f <Wd  QXd | d <d | d <t | |  |  j  j   } |  j  j   } | j   } |  j  j d d d g } t	 j
 j d	 d
  } t d t   t d t  | | j | d d g f <| | j d d d g d d g f <| d  d   d f | d j | <| d  d   d f | d j | <Wd  QXt | |  t | |  |  j  j   } t d t  A t d t  |  j  j   } d | j d d +d | j d d +Wd  QXt | |  t d t  _ t d t  |  j  j   } t	 j
 j d t | j   } | | j d d +| | j d d +Wd  QXt | |  t d t  l t d t  |  j  j   } d | j d d  d  d   f <t | |  | | j d d  d  d   f <Wd  QXt | |  t d t  ¯ t d t  |  j  j   } |  j  j   } |  j  j   } t	 j
 j d d
  } | | j d  d  d d g f <| d  d   d f | d d *| d  d   d f | d d *Wd  QXt | |  t d t  1 t d t  | | j d  d  d d g f <Wd  QXt | |  t d t  ^ t d t  |  j  j   } |  j  j   } d | j | j d | j d +d | j d d +Wd  QXt | |  t d t  ¶ t d t  |  j  j   } |  j  j   } |  j  j   } d | j d  d   d d	  f <d | j d  d   d d	  f <t | |  d | j d  d   d d  f <t | |  Wd  QXt t d
 d	 d d d g t	 j g d  d d d g } d g }	 |	 j t	 j g d  t t d d	 d d d g |	  d d d g } d | | d d
 k <t | |  d  S(   NRÐ   RÑ   i   RF   RL   g      ð?i   i   i   i   i    i
   g      @i   g      @RM   i	   i   i   RA   RB   RC   id   (   R&   R2   R   Ro   R   RÓ   RÔ   R    R(   R3   R$   R4   R7   R'   RA   R   R
   R   t   extend(
   R8   R&   RR   t   frame2R6  R7   t	   expected1t	   expected2RÈ   RÂ   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_fancy_2d}  s¢    %

"!'%$%+	!c         C  sŠ   |  j  j d  d   d d   f } | d j t j k s> t  |  j j d  d   d d   f } t j t	 j
   d | d <Wd  QX|  j d d k j   s¢ t  d  S(   NiýÿÿÿRÇ   g      @RM   i   (   Rš   Rq   Rw   R3   R»   R)   R&   R/   R0   Rê   Rë   RØ   (   R8   t   sliced(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_fancy_getitem_slice_mixedð  s    ""c      
   C  sl  t  t j j d d  d t j d d d  } t d t  M t d t  | j	   } | j	   } d | j
 d d d	 g <d | j d
 *Wd  QXt | |  t d t  D t d t  | j	   } | j	   } d | j
 d <d | j d
 <Wd  QXt | |  t d t  C t d t  | j	   } | j	   } d | j
 d  d   d f <Wd  QXd | d <t | |  d  S(   Ni
   i   R(   i    i   i   RÐ   RÑ   i   i   i   (   R   R3   R$   R4   RÄ   R   Ro   R   RÓ   R2   RÔ   R7   R    (   R8   R=   t   tmpR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_fancy_setitem_int_labelsý  s,    0
c      
   C  s­  t  t j j d d  d t j d d d  } t d t  [ t d t  | j	 d	 d d g d d g f } | j
 d d	 d d g d
 d d g  } Wd  QXt | |  t d t  C t d t  | j	 d	 d d g } | j
 d d	 d d g  } Wd  QXt | |  t d t  . t d t  | j	 d	 } | j d	  } Wd  QXt | |  t d t  5 t d t  | j	 d  d   d f } | d } Wd  QXt | |  d  S(   Ni
   i   R(   i    i   i   RÐ   RÑ   i   RA   i   (   R   R3   R$   R4   RÄ   R   Ro   R   RÓ   RÔ   R§   R    t   xsR!   (   R8   R=   RQ   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_fancy_getitem_int_labels  s*    0"-!c         C  sä   t  t j j d d  d t j d d d  } t d t   t d t  t	 j
 t | j j d d	 d g d d
 d g f d  t	 j
 t |  j j j d d d g d	  t	 j
 t |  j j j t d  d   d g f d	  Wd  QXd  S(   Ni
   i   R(   i    i   i   RÐ   RÑ   i   i   i   RG   R_   R`   Rs   (   R   R3   R$   R4   RÄ   R   Ro   R   RÓ   R/   R0   R1   RÔ   R<  R&   R;  R.   (   R8   R=   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt&   test_fancy_index_int_labels_exceptions8  s    0"c      
   C  s¬  t  d t  í t d t  d |  j j d  d  d d d g f <|  j j d  d  d d d g f } | j d k j   s t  t	 j
 |  j j d <t |  j j d  j   s· t  |  j j d |  j j d <t |  j j d |  j j d d t Wd  QXt  d t   t d t  t i d	 d
 d g d 6d d d g d 6 } | j sVt  d d g | j d <t i d	 d d g d 6d d d g d 6 } t | |  Wd  QXd  S(   NRÐ   RÑ   i   RM   RF   RL   i   Rt   g      ð?g       @g      @i   i   i   i   i
   g      @(   R   Ro   R   RÓ   Rš   RÔ   R7   RØ   R)   R3   R   R   R!   Rp   R   t   _is_mixed_typeR    (   R8   RQ   R=   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_fancy_mixed_2dL  s&    %%" c         C  s  t  t j j d  d d j   } t t j j d d   } | j   } t d t  W t	 d t
  | | j d  d   d f <t | j d  d   d f j | j  |  Wd  QXt d t  ` t	 d t
  | j } | | j d d  d   f <t | j d d  d   f j | j  |  Wd  QXt d t  i t	 d t
  | j   } | | j d  d  d f <| j d  d  d f } t | | j | j   Wd  QXt d t  f t	 d t
  | j } | | j d d  d  f <| j d d  d  f } t | | j | j   Wd  QXt d t  o t	 d t
  | j   } d d d	 d g } | | j | d f <| j | d f } t | | j | j   Wd  QXt d t  Z t	 d t
  | j } | | j d | f <| j d | f } t | | j | j   Wd  QXd  S(
   Ni
   Rd   i    i   RÐ   RÑ   i   i   i   (   R   R3   R$   R4   R  R   R2   R   Ro   R   RÓ   RÔ   R!   R§   R(   RÖ   (   R8   RC   t   df_origR=   t   dftRò   RP   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_ix_aligni  sJ    $2	2		c      
   C  sv  t  t j j d d   } t  t j j d d   } | j   } t d t  9 t d t  | | j	 d *| j	 d  } t
 | |  Wd  QX| j d t  t d t  c t d t  | j   } | | j	 d d d	 g <| j	 d d d	 g j | j  } t
 | |  Wd  QXt d t  Q t d t  | j   } | | j	 d *| j	 d  } t
 | | j | j   Wd  QXd  S(
   Ni   i   i
   RÐ   RÑ   t   inplacei    i   i   (   R   R3   R$   R4   R2   R   Ro   R   RÓ   RÔ   R    t
   sort_indexR§   R(   (   R8   RC   RN  R=   t   out(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_ix_frame_align  s*    "c         C  sÕ   t  j   } | j d d g \ } } | j | | !} | | | !} | d d !} t | |  t | |  | j   } d | j | | +| j   } d | | | +| j   } d | d d +t | |  t | |  d  S(   Ni   i
   i   i    (   R+   t   makeTimeDataFrameR(   RO   R    R2   (   R8   R=   R
  R  RQ   R>  RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt"   test_getitem_setitem_non_ix_labels±  s    c         C  s`   t  t j j d d   } | j | j d k d  d   f } | j d g  } t | |  d  S(   Ni   i   i    (   R   R3   R$   R4   RO   R(   R§   R    (   R8   R=   t   rst   xp(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_ix_multi_takeÅ  s
    "c         C  s   t  t j j d d  d d d d g d d d	 g } t d
 t  + t d t  | j d g d g f } Wd  QX| j	 d g d d g } t
 | |  d  S(   Ni   i   R(   Rn   R!  R"  RA   RB   RC   RÐ   RÑ   i    (   R   R3   R$   R4   R   Ro   R   RÓ   RÔ   R§   R    (   R8   R=   RW  RX  (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_ix_multi_take_nonint_indexÒ  s    'c         C  sª   t  t j j d d  d d d d g d d d	 g d
 d g g } t d t  + t d t  | j d g d g f } Wd  QX| j	 d g d d g } t
 | |  d  S(   Ni   i   R(   Rn   R!  R"  RA   RB   RC   Ry   Rz   RÐ   RÑ   i    (   RB   Ry   (   R   R3   R$   R4   R   Ro   R   RÓ   RÔ   R§   R    (   R8   R=   RW  RX  (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_ix_multi_take_multiindexÛ  s    'c      
   C  s  t  d d d d d d g  } t t j j t |  d  |  } t d t  , t d t	  | j
 d  } t | |  Wd  QXt d t  9 t d t	  | j
 d d !} t | | j
 d d	 ! Wd  QXt d t  6 t d t	  | j
 d d !} t | | j
 d
  Wd  QXd  S(   NRB   RC   R   R­   i   RÐ   RÑ   i    i   i   (   R   R   R3   R$   R4   R'   R   Ro   R   RÓ   RÔ   R    (   R8   RP   R=   t   sub(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_ix_dupä  s    $c         C  sO  |  j  } t d t  = t d t  | j d  d   d  d   f | k sQ t  Wd  QXt d t  . t d t  | j d d d d g f } Wd  QX| j | j d  j	 d d d g  } t
 j | |  t d t  + t d t  | j d d  d f } Wd  QX| | j d d d !} t
 j | |  t d t   t d t  | j d	 } Wd  QX| j | j d	  } t
 j | |  t d t  & t d t  | j | j d } Wd  QX| j | j d  } t
 j | |  t d t  6 t d t  t | j d  d   d f | d  Wd  QXt d t  9 t d t  | j   } d
 | j d <d
 | j d (Wd  QXt
 j | |  t d t  E t d t  d | j d  d   d f <d | j d  d   d f (Wd  QXt
 j | |  t d t  " t d t  |  j j d } Wd  QX|  j j |  j j d  } t
 j | |  d  S(   NRÐ   RÑ   i   RM   RF   RL   i   i
   i    i   i   i   (   R&   R   Ro   R   RÓ   RÔ   R)   RI  R(   R§   R+   R!   RA   R2   R7   R    Rš   (   R8   R4  t   xs1t   xs2t   ts1t   ts2R   RI  (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_getitem_fancy_1d÷  sV    	1"(* c         C  s  |  j  j   } |  j  j   } t d t  7 t d t  d d d g | j d d d d	 g f <Wd  QXd | d d <d | d d <d | d	 d <t | |  t d t  F t d t  |  j  j   } d d d g | j d d
 d d g f <Wd  QXt | |  |  j  j   } |  j  j   } t d t  V t d t  t j	 j
 d  } | | j d d  d f <| | j d d  d f <Wd  QXt | |  t d t  : t d t  |  j  j   } | | j d d  d f <Wd  QXt | |  |  j  j   } |  j  j   } t d t  , t d t  d | j d <d | j d <Wd  QXt | |  t d t  3 t d t  d | j | j d <d | j d <Wd  QXt | |  |  j  j   } |  j  j   } t d t  5 t d t  d | j d  d   d	 f <d | d	 <Wd  QXt | |  d  S(   NRÐ   RÑ   g      ð?g       @g      @i   RM   RF   RL   i   i   i   i
   g      @i   g      @g      @(   R&   R2   R   Ro   R   RÓ   RÔ   R    R3   R$   R4   R7   R(   (   R8   R&   RR   RA  R   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_fancy_1d3  s\    ++c         C  su   |  j  } | j } x\ | j D]Q } | | } x> | j d  d  d  D]& } | | | f | | k sC t  qC Wq Wd  S(   Ni   (   R&   RO   RA   R(   R)   (   R8   R4  RÔ   t   colR  RP   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_getitem_fancy_scalarr  s    		
c   
      C  sÁ   |  j  } |  j  j   } | j } x t | j  D] \ } } | | } xo | j d  d  d  D]W } | j j |  } t j j	   }	 |	 | j
 | | f <|	 | | | f <t | |  q^ Wq1 Wd  S(   Ni   (   R&   R2   RO   t	   enumerateRA   R(   t   get_locR3   R$   R4   R7   R    (
   R8   R4  RR   RÔ   R   Rd  R  RP   R   Rl   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_fancy_scalar|  s    		
c         C  sj  |  j  } | j } | j d d d g  } | d  d   t t t t g f } t | |  | j d | j d d !d d d g  } | | j d d !t t t t g f } t | |  | j | j d k } | j d | j |  } | | } t | |  | | d  d   f } t | |  | | | j d f } | j d | j | d d	 d g  } t | |  d  S(
   NRA   RF   RÇ   R(   i   i
   i   i   RM   (   R&   RO   R§   Rp   Ro   R    R(   RA   (   R8   R4  RÔ   RR   RQ   t   boolvec(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_getitem_fancy_boolean  s$    		"(&
c         C  sŒ   |  j  j   } |  j  j   } | d d k } d | j | <d | j | j <t | |  |  j  j   } |  j  j   } d | j | d d g f <d | j | j d  d  f <t | |  d  S(   NRL   i    g        RF   i   (   R&   R2   RO   R7   R    (   R8   R&   RR   RŸ   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_fancy_boolean€  s    c         C  s®   |  j  j d d d g } |  j  j |  j  j d d d g } t | |  |  j  j d  d   d d d g f } |  j  j d  d   |  j  j d d d g f } t | |  d  S(   Ni   i   i   i   i    (   R&   Rq   RO   R(   R    RA   (   R8   RQ   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_getitem_fancy_intsŽ  s    #%/c         C  s   |  j  j } t j t d d ( | d  d   d  d   d  d   f Wd  QXt j t  * d | d  d   d  d   d  d   f <Wd  QXd  S(   NR%   s   Too many indexersi   (   R&   Rq   R/   R0   R   (   R8   RÔ   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt%   test_getitem_setitem_fancy_exceptionsœ  s
    )c         C  s£   |  j  d d  d  d  d k } |  j  j | } |  j  j | d  d  d  } t | |  |  j  j   } |  j  j   } d | j | <d | j | <t | |  d  S(   NRL   iÿÿÿÿi   i    (   R&   RO   R    R2   (   R8   RŸ   RQ   RR   R=  (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt'   test_getitem_setitem_boolean_misalignedÅ  s     c         C  sñ   t  t j j d d   } t j t t t g  } t j t t g  } | j | | f } | j d d g d g f } t | |  | j	   } d | j t j t t t g  t j t t g  f <d | j d d g d g f <t | |  d  S(   Ni   i   i    i   i   (
   R   R3   R$   R4   RË   Ro   Rp   RO   R    R2   (   R8   R=   t   k1t   k2RQ   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt"   test_getitem_setitem_boolean_multiÓ  s    4c           s¬  t  d d d d d g  } t t j j d d  d |     j d d !}   j d d d d g  } t | |  t |  d k s t	    j d d !}   j d d g  } t | | d t
 t |  d k sÜ t	    j d d !}   j d d	 g  } t | |  t |  d k s&t	    j d
 d !}   j d d !} t | |  d   j d
 d +  d
 d !} | d k j   j   st	  t  d d d d d	 g  } t t j j d d  d |   t j t   f d      j d d !}   j d	 g  } t | |  t |  d
 k s*t	    j   } t j t   d | j d d +Wd  QXt j t   | j d d !d k } Wd  QX| j j   st	  | j d d
 !  j d d
 !k j j   sÌt	    j   } d | j d d +| j d d !d k j j   st	  | j d d !  j d d !k j j   s<t	    j d d !}   } t | |  t |  d k swt	    j d d !}   j d d d d	 g  } t | |  t |  d k sÇt	    j d d !}   j d	 g  } t | |  t |  d
 k st	    j d d	 !}   j d d d d d	 g  } t | |  t |  d k sat	    j   } d | j d d	 +| j d d	 !} | d k j j   sšt	  d  S(   Ng      ø?i   i   i   i   R(   t   check_index_typeg      @g      @i   i    g      ð?g      @g      @g      @c             s     j  d d !S(   Ng      ð?i   (   Rq   (    (   R=   (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyRW     s    gñ?g
×£p=
@(   R   R   R3   R$   R4   RO   R§   R    R'   R)   Rp   Rq   RØ   R/   R0   Rõ   R2   R7   (   R8   R(   RQ   RR   R=  (    (   R=   s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt!   test_getitem_setitem_float_labelsã  st    !!/%/c         C  sŽ   t  t j j d d  d d d d d d g d	 d
 d d g } d | d <t j | j | j d  d  d  d f <t j t j d t j d t j g d t } t	 | d j
 |  d  S(   Ni   i   R(   RB   RC   R   R­   t   eRA   RG   R_   R`   Ra   t   stri   Rw   (   R   R3   R$   R4   R   RO   R(   RË   R£   R   R7   (   R8   R=   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt    test_setitem_single_column_mixed5  s    -
&$	c         C  s  t  t j j d d  d d d d d d g d	 d
 d d g } t d  | d <| j   } t i d d 6d d 6 } t | |  t | j	 d <t
 | j	 d  sš t  t j | j	 d <t
 | j	 d  sÑ t  t j | j	 d d  d   f <t
 | j	 d d  d   f  j   st  d  S(   Ni   i   R(   RB   RC   R   R­   Rt  RA   RG   R_   R`   t   20010102t	   timestampR»   i   s   datetime64[ns](   RC   Rx  (   RC   Rx  (   R   Rx  (   R   Rx  (   R   R3   R$   R4   R   RŒ   R   R!   R   RO   R   R)   R   RØ   (   R8   R=   RQ   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt)   test_setitem_single_column_mixed_datetime>  s    -c         C  sD  t  i d d d d d d g d 6t j d d d  d d d t j d	 d d  t j d
 d d  g d 6 } t j  d d t d  d t d  } t j | d <t j d d d  | j d <d | j d <d | j d d g d f <t j d t j	 d  g d t j	 d  g g  } | | j d d g d d g f <t
 | |  d  S(   Ni    i   i   RB   iÜ  i   Rn   R!  iÝ  iÞ  RC   RA   t   abR(   i   i   i   s   2013-01-01T00:00:00s   2014-01-01T00:00:00i   i   (   i    RC   (   i   RC   (   Rn   R!  (   R   R   R   RZ   R   t   NaTRO   R3   RË   t
   datetime64R    (   R8   RR   R=   RL   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_mixed_datetimeZ  s     'c         C  sé  |  j  j |  j  j d  d d g f } | j |  j  j |  j  j d d   d d g f <|  j  j |  j  j d d d g f j } | j } t | |  |  j j   } t d d g d d g g d	 | j d
 d !d d d g } t d  d  d d g f } | | j | <t | j | j d
 d !d d g f j | j  |  j j   } t d d g d d g d d g d d g g d	 t
 | j d
 d ! d d g d d d g } t d  d  d d g f } | | j | <t | j | j d
 d d   d d g f j | j d
 d ! |  j j   } | j | j d  d g f } | j d | _ t d d   d d g f } | | j | <t j | d <t | j | j d d d g f j | j  |  j j   } |  j j | j d  d d g f } t d d   d d g f } | j | j | <t | j | j d d d g f j | j  t d d d g d d d g g d d d d g } | j   } | j d  d   d d g f d | j d  d   d d g f <| j d d d g  } | d 7} | d | d <t | |  d  S(   Ni   RL   RF   iþÿÿÿg      ð?g       @g      @g      @R(   i    RA   g      @g      @g      @g       @RG   R_   i   i   i   RM   g      à?(   R&   RO   R(   R7   R   Rš   R2   R   R;  R.   RZ   R3   R   R§   R    (   R8   t   pieceRQ   RR   R4  R<   R=   R/  (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_framem  sR    &/)	&
- ,#
##
3<
c         C  s±   |  j  j |  j  j d  d d g f } |  j  j d | _ d d g | _ | |  j  j |  j  j d d d g f <|  j  j |  j  j d d d g f j } | j } t | |  d  S(   Ni   RL   RF   iþÿÿÿ(   R&   RO   R(   RA   R7   R   (   R8   R~  RQ   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_frame_align€  s    &&)	c         C  s¬   t  t j j d d  d d d d d d g } | j d } | d  } t | |  | j d } | j d d g } t | |  | j d } | j d } t | |  d  S(	   Ni   i   R(   RG   R_   R`   i   i   (   R   R3   R$   R4   RO   R    Rq   R!   (   R8   R=   RQ   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt"   test_getitem_setitem_ix_duplicates­  s    
c         C  sÔ   t  t j j d d  d d d d d d g } | j d g } | j d d g } t | |  | j | d	 d
 k } | | d	 d
 k } t | |  | j | d
 d
 k } | | d
 d
 k } t | |  d  S(   Ni   i   R(   RG   R_   R`   i   i   i   i    (   R   R3   R$   R4   RO   Rq   R    (   R8   R=   RQ   R   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt+   test_getitem_ix_boolean_duplicates_multipleŸ  s    c         C  s   t  i d d d g d 6 } t j t | j j t  t j t | j j t  t j t | j j t d  t j t | j j t d  d  S(   Ni   i   i   RB   i    (	   R   R/   R0   R1   RO   R5   Rp   Ro   R<  (   R8   R=   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt%   test_getitem_setitem_ix_bool_keyerrorÏ  s
    c         C  s   t  t j j d d  d t d  } d | j _ | d d g } | j j d k s[ t  | j d  d   d d   f } t	 | |  d  S(   Ni   RA   t   AABCRG   RF   RM   i   (
   R   R3   R$   R4   RZ   RA   Rd   R)   Rq   R    (   R8   R=   RQ   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_getitem_list_duplicatesÙ  s    'c      	   C  s   x |  j  j D]q } xh |  j  j D]Z } t j t d t  |  j  j | |  } Wd  QX|  j  | | } | | k s  t  q  Wq Wd  S(   NR   (	   R&   R(   RA   R+   R¥   t   FutureWarningRp   t	   get_valueR)   (   R8   RP   Rd  RQ   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_get_valueä  s    
c      
     s·  d       f d   } | |  j   | |  j  t i d d d d g d 6t t t t g d 6t t t t g d 6t t t t g d	 6 } | j | j d
 | d  | d <  | | j d
 | d d t j } t	 j
 | d t j | d d  | d j t j k st  t j t   |  j j d g d g  Wd  QXt j t  ( |  j j |  j j d g d g  Wd  QXt j t d d $ |  j j d d d g d g  Wd  QXd  S(   Nc      	   S  sc   t  j t d t 9 g  t | |  D] \ } } |  j | |  ^ q& } Wd  QXt j | d | S(   NR   Rw   (   R+   R¥   R  Rp   R   R  R3   RË   (   R=   t   rowsR   Rw   t   rR   RQ   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   altî  s    
:c           s   t  |  j  t |  j  } t  |  j  t |  j  } |  j | |  }   |  | | d t j } t j | | d t	 d  S(   NRw   R    (
   RZ   R(   R'   RA   t   lookupR3   Rì   R+   R   Rp   (   R=   R  R   RQ   RR   (   R  (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   testitô  s
    RB   RC   R   t   labelt   mask_at   mask_bt   mask_ct   mask_RŸ   Rw   Rd   t   xyzRL   i    R%   s	   same size(   Rš   R&   R   Ro   Rp   R  R(   R3   t   bool_R+   R!   R   R   Rw   R)   R/   R0   R1   R{   (   R8   R  R=   t   exp_mask(    (   R  s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_lookupí  s$    	!&#)c      
   C  s   xz |  j  j D]l } xc |  j  j D]U } t j t d t  |  j  j | | d  Wd  QX|  j  | | d k s  t  q  Wq Wd  S(   NR   i   (	   R&   R(   RA   R+   R¥   R  Rp   t	   set_valueR)   (   R8   RP   Rd  (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_set_value  s    
c         C  s[  t  j t d t  |  j j d d d  } Wd  QX| |  j k sI t  | j d d k sb t  t  j t d t # | j d d  d k s t  Wd  QXd |  j j	 d
 <t  j t d t & |  j j d d  d k sã t  Wd  QX|  j j
   } t  j t d t  | j d d d  } Wd  QX| d j t j k sEt  |  j j
   } t  j t d t  | j d d t  } Wd  QX| d j t j k s¡t  |  j j
   } t  j t d t  | j d d d	  } Wd  QXt | d  s÷t  t | d j d g   j   st  t  j t d t ! t j t | j d d d  Wd  QXd  S(   NR   Rß   RF   i    iÿÿÿÿRa   R`   t   sami   (   Rß   Ra   (   R+   R¥   R  Rp   R&   R  R)   R(   R  RO   R2   Rw   R3   Rì   Ro   R   R   t   dropRØ   R/   R0   R{   (   R8   R?   t   res3(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_set_value_resize  s>    

$
'


(
c      	   C  sá  t  t j j d d  d t d  d t d  } | j   } t j t	 d t
  | j d d d  Wd  QXt | j  t | j  d g k s t  | j   } d | j d
 <t | j  t | j  d g k sÝ t  | j   } t j t	 d t
  | j d d	 d  Wd  QXt | j  t | j  d g k sCt  t | j  t | j  d	 g k snt  | j   } d | j d <t | j  t | j  d g k s²t  t | j  t | j  d	 g k sÝt  d  S(   Ni   R(   RA   Rý   R   RM   i   g      ð?RÇ   (   RM   i   (   RM   RÇ   (   R   R3   R$   R4   R	   RZ   R2   R+   R¥   R  Rp   R  R(   R)   RO   RA   (   R8   RN  R=   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt&   test_set_value_with_index_dtype_change>  s(    
++
+++c      	   C  so   t  j d d	 d
 d g  } t d | d t d   } t j t d t  t j	 t
 | j d d  Wd  QXd  S(   Ni    i   i   R(   RA   i   R   (   i    i   (   i    i   (   i   i   (   i   i   (   R   t   from_tuplesR   R	   R+   R¥   R  Rp   R/   R0   R1   R  (   R8   R(   R=   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt&   test_get_set_value_no_partial_indexing]  s
    
c      	   C  sÍ  d |  j  d <t |  j  d j j t t j f  s8 t  t d t	  D t
 d t  |  j  j |  j  j d d f } t |  s t  Wd  QX|  j  j |  j  j d d f } t |  s¿ t  t j t d d g   } d | d	 <t d t	   t
 d t  | j d } Wd  QXt |  s&t  | j d } t |  sEt  t d g d
 g d d	 } t d t	  ( t
 d t  | j d
 g d	 f } Wd  QXt | |  | j d
 g d	 f } t | |  d  S(   Ni   Rs   RÐ   RÑ   i   RB   g®Gáz®ó?i  RC   i    Rd   (   i    RC   (   i    RC   (   R&   R   Rw   R  t   intR3   R  R)   R   Ro   R   RÓ   RÔ   R(   R   RO   R   R   RU   R   R!   (   R8   RQ   R=   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt"   test_single_element_ix_dont_upcaste  s.    +  
c         C  sK  t  t j j d d  d t d d d  } | j d } | j d } t | |  | j d } | j d } t | |  | j t d d  } | j d d	 !} t	 | |  t
 j t j   d
 | d <Wd  QX| d j   } d
 | d d +t | d |  | j d d d d g } | j | j d d d d g  } t	 | |  d  S(   Ni
   i   R(   i    i   i   i   i   i   g        i   (   R   R3   R$   R4   R	   Rq   RO   R!   R;  R    R/   R0   Rê   Rë   R2   R§   R(   (   R8   R=   RQ   R   RR   t   exp_col(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_iloc_row  s$    -"c         C  s  t  t j j d d  d t d d d  } | j d  d   d f } | j d  d   d f } t | |  | j d  d   d f } | j d  d   d f } t | |  | j d  d   t d d  f } | j d  d   d d	  f } t	 | |  t
 j t j   d
 | d <Wd  QX| d d k j   s8t  | j d  d   d d d d g f } | j d | j d d d d g  } t	 | |  d  S(   Ni   i
   RA   i    i   i   i   i   i   g        i   (   R   R3   R$   R4   R	   Rq   RO   R!   R;  R    R/   R0   Rê   Rë   RØ   R)   R§   RA   (   R8   R=   RQ   R   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_iloc_col¢  s     -"%%c         C  s  t  t j j d d  d t d  d t d  } | j d } t d t   t d t	  | j
 d } Wd  QXt | t  s t  t | j | j d  t | |  t d t  J t d t	  | j j d  d   d f } | j j
 d  d   d f } Wd  QXt | t  st  t | j | j d  t | |  t  t j j d d  d d	 d	 d
 g d d d g g d d	 d	 d
 g d d d g g } t d t  , t d t	  | j d } | j
 d } Wd  QXt | |  t d t  ; t d t	  | j d  d   d f } | j j
 d } Wd  QXt | |  t d t  J t d t	  | j d  d   d g f } | j
 d  d   d g f } Wd  QXt | |  t  d d d g d d d g g d d d d g } | j d  d   d g f } | j d g d d } t | |  d  S(   Ni   RA   Rý   R(   t   aabi    RÐ   RÑ   R   R   RL   RF   t   Xt   Yi   i   i   i   i   t   axis(   R   R3   R$   R  RZ   Rq   R   Ro   R   RÓ   RÔ   t
   isinstanceR   R)   R   R7   R!   RÖ   R4   R    t   take(   R8   R=   RQ   R>  RW  RX  RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_iloc_duplicates¿  sL    $"!"3c         C  sz  t  j d t  j d d d d d d  d t  j d d d d d d   } | j d	 d d
 t  j d d d d d d   } t  j d d | d d d g } t j t t t t t t g  } d | j	 | | d f <t  j i d d d d d d g d 6d d d d d d g d 6d | } t
 j | |  t  j d d | d d d g } | j	 | | d f c d 7<t
 j | |  d  S(   NR
  t   yeariá  t   monthi   t   dayR  i   RO   t   itemi    R(   RA   RL   RF   i   (   R   R   R   R#  R   R3   RË   Rp   Ro   RO   R+   R    (   R8   t   trangeR=   t   bool_idxRR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_loc_duplicatesñ  s    '!!!!"	!c         C  sn   d d l  m } | i d d g d 6d d } t | d j  t | j d  d   d f j  k sj t  d  S(   Niÿÿÿÿ(   t   SparseDataFrameiç  i   RL   t   default_fill_valuei    (   t   pandas.core.sparse.apiR³  R'   t	   sp_valuesRq   R)   (   R8   R³  R=   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt%   test_iloc_sparse_propegate_fill_value  s    c         C  s   x t  |  j j  D]m \ } } x^ t  |  j j  D]J \ } } |  j j | | f } |  j j | | f } | | k s2 t  q2 Wq Wd  S(   N(   Rf  R&   R(   RA   t   iatt   atR)   (   R8   R   t   rowR   Rd  RQ   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_iat  s
    c         C  s³   t  i d d d g d 6d d d g d 6d	 d
 d g d 6 j d d g  } t | j  } d d g | d <| | _ y t |  Wn+ t k
 r® } t |  t k s¯ t  n Xd  S(   Ni   i   i   RB   i   i   i   RC   i   i   i	   R   i    (	   R   t	   set_indexRZ   R(   R%  t	   ExceptionR  t   UnboundLocalErrorR)   (   R8   R=   R(   Rt  (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_nested_exception  s    &%	s   method,expected_valuest   nearesti    t   padt   backfillc   
   	   C  s  t  j i t t d   d 6 } t j d d d d g  } t  j i | d 6d | } | j | d | } t | |  | j | d | d	 d
 } t | |  | j | d | d	 d
 d
 d
 d
 g } t | |  | j | d | d	 d } t | |  | j | d | d	 d d d d g } t | |  | d  d  d  } | j | d  d  d  d | } t | |  d d
 d d g } | j	 | } | j | | d | } t | |  | d k rÌd n | d k rÞd n | }	 | d  d  d  j | d |	 } t | |  d  S(   Ni   Rn   g¹¿gÍÌÌÌÌÌì?gñ?g      ø?R(   t   methodt	   tolerancei    i   iÿÿÿÿi   i   RÂ  RÁ  (
   R   R   RZ   R   R3   RË   R§   R    t   reindex_likeRq   (
   R8   RÃ  t   expected_valuesR=   t   targetRR   t   actualt   e2t	   new_ordert   switched_method(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_reindex_methods(  s2    "''""c      	   C  sö   t  j i t t d   d 6 } t j d d d d g  } t  j i d d d t j g d 6d	 | } | j | d
 d d d } t | |  t  j i d t j d t j g d 6d	 | } | j | d
 d d d d d d g } t | |  d  S(   Ni   Rn   g¹¿gÍÌÌÌÌÌì?gñ?g      ø?i    i   R(   RÃ  RÀ  RÄ  gÉ?g      à?g{®Gáz?gÙ?g¹?(	   R   R   RZ   R   R3   RË   R   R§   R    (   R8   R=   RÇ  RR   RÈ  (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt$   test_reindex_methods_nearest_specialN  s    "+.c         C  sÅ   t  d d d d d } t i t j j t |   d 6| d 6 } | j t d   } t j | d j	 t j	 d	   s t
  t j |  d } | d
 j   sª t
  | d
  j   sÁ t
  d  S(   Ns   1/1/2000 00:00:00R   i
   R  t   10sRL   RF   i   s   M8[ns]iûÿÿÿ(   R   R   R3   R$   R4   R'   R§   R	   t
   issubdtypeRw   R)   Rê   R   RØ   t   any(   R8   t   rngR=   RQ   RŸ   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_reindex_frame_add_nat[  s    ,(c         C  sD   t  t j   t j   g  } | d j t j d  k s@ t  d  S(   Ni    s   M8[ns](   R   R   R  Rw   R3   R)   (   R8   Rn   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt"   test_set_dataframe_column_ns_dtypef  s    c         C  s  t  j d d d d d } t j j d d  } t  j | d | d t d	  } t  j | d | d
 d d g d d d g d t d	  } t j t	 | j
 | j d d t j t	 | j
 | j d d t j t	 | j
 | j d d t j t	 | j
 | j d d d  S(   Ns
   2013-08-01R   i   R  RF   i   R(   RA   RL   i   i   i   i    i   RÃ  RÁ  t   ffillt   bfillRÀ  (   R   R   R3   R$   R4   R   RZ   R/   R0   R{   R§   R(   (   R8   t   drR}   R=   t   df_rev(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt"   test_non_monotonic_reindex_methodsj  s    !,c   	        sc  d d l  m } d d d g   t   f d  } t   f d  } t j i t d6 d7 d8  d 6t d  d  d  d  d 6d d d g d d 6t j j d d d  d 6 } d d d
 g d d d
 d g d
 g d
 d d g d d
 d g d d g d d
 g d
 d g d d
 d g g	 } x | D] } | | d |  qWx9 d d g d
 d d g g D] } | | d | d t	 qQW| | d t d  d d d d d d	 d d d g	  | | d t d  d d d d d d d d g  | | d t d   d d d d d d g  | | d t d!  d d d	 d d g  | | d t d"  d d d	 d d g  | | d t d#  d d d d d	 d d d d g	  | | d t d$  d d	 d g  | | d t d%  g  d t	 t i d& g d d' g d d( g d d 6d) g d d* g d d+ g d d* g d d) g d d* g d d) g d d+ g d d 6t j
 g  d d d d d d d d g D]! } t j j d | d, t	 ^ qp d 6t j j d  j d  d d 6 } xM | | d j    D]5 } x, t d  D] } | | d | | d   qëWqØWd d d	 d d d d d d d d d- d. d/ d0 d1 d2 d3 d4 d5 g } | | d d* d+ d) g |  d d d d d	 d d- d. d d d d d d3 d4 d5 d1 d2 d/ d0 g } | | d d) d+ d* g |  d d d d d d d- d. d1 d2 d3 d4 d5 g } | | d d+ d) g |  d d d d d	 d d- d. d d d3 d4 d5 d/ d0 g } | | d d) d* g |  d  S(9   Niÿÿÿÿ(   t   permutationsR   R   R   c           s{      f d   } t  j t t | |    }   j   j | d  }   j | j   } t | | d | d  S(   Nc           s!   t  j    |  k j    d S(   Ni    (   R3   t   nonzerot   to_numpy(   Rl   (   R=   t   level(    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyR4  {  s    RÜ  Rr  (   R3   t   concatenateRZ   R   RŒ  R§   Rq   R    (   R=   RÜ  RP   Rr  R4  R   R   R   (   t   icol(   R=   RÜ  s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   verify_first_levelz  s
    c           sK   |  j     j | d | } |  j | j     } t | | d | d  S(   NRÜ  Rr  (   RŒ  R§   Rq   R    (   R=   RÜ  RP   R®   Rr  R   R   (   RÞ  (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   verify  s    RF   i   RL   i   RM   i   t	   abcdeabcdi
   i   i   i    iè  i	   t   jolineRž   RÇ   Rr  t   abcdei   i   i   i   i   t   abcdt   abct   ecat   edct   eadbct   edwqt   wqt   midt   btmt   topt   3rdt   1stt   2ndt   replacei   i   i   i   i   i   i   i   i   t   BBBBt   AAt   CCC(   t	   itertoolsRÙ  Ro   R   R   RZ   R3   R$   R   Rp   RÝ  t   choiceR4   t   roundt   uniqueR   (	   R8   RÙ  Rß  Rà  R=   RÇ  RP   Rn   R   (    (   RÞ  s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_reindex_levelv  sT    !*"41+((4"*[G& !!$-3c      
   C  sœ  t  j t j j d d  d d d d g d t d  } | j d } t | j d |  t	 d t
  & t d	 t  t | j d |  Wd  QX| j d d   d
 f } t | j d |  d d d g | _ | j d } t | j d |  t	 d t
  & t d	 t  t | j d |  Wd  QX| j d d   d
 f } t | j d |  t  j t j j d d  d d d d d g d t d  } | j d d !} t | j d |  t	 d t
  & t d	 t  t | j d |  Wd  QX| j d d  d
 f } t | j d |  d d d d g | _ | j d d g } t | j d |  t	 d t
  & t d	 t  t | j d |  Wd  QX| j d d g d
 f } t | j d |  d  S(   Ni   R(   g¹?gÉ?RA   Rå  i   RÐ   RÑ   i    RB   i   iÿÿÿÿi   (   gÉ?RB   (   gÉ?RB   (   gÉ?RB   (   gÉ?RB   (   R   R   R3   R$   R4   RZ   Rq   R    RO   R   Ro   R   RÓ   RÔ   R!   R(   (   R8   R=   t   expect(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt    test_getitem_ix_float_duplicatesŸ  sD    !c         C  s°   t  j d d g  } t  j i | d 6 } t  j | d d } | d } t j | |  | j d  d   d f } t j | |  | j d  d   d f } t j | |  d  S(   Ni    i   RL   Rd   (   R   t   SparseArrayR   R   R+   R!   Rq   RO   (   R8   R}   R=   RR   RQ   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_getitem_sparse_columné  s    
c         C  s{   t  j i d d d g d 6d d d g d 6 } t  j d	 d	 d
 g  } | | d <t | d t  j | d d d t d  S(   NRB   RC   R   t   c_1g      ð?g       @g      @t   n_1i    i   t
   new_columnRd   Rt   (   R   R   Rü  R!   R   Rp   (   R8   R=   t   sp_array(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_with_sparse_value÷  s    /

c         C  s¥   t  j i d d d g d 6d d d g d 6 } t  j t  j d	 d	 d
 g  d d d
 d	 g } | | d <t  j t  j d
 d	 d	 g  d d } t | d |  d  S(   NRB   RC   R   Rþ  g      ð?g       @g      @Rÿ  i    i   R(   i   R   Rd   (   R   R   R   Rü  R!   (   R8   R=   t	   sp_seriesR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt(   test_setitem_with_unaligned_sparse_value 	  s
    /0
'c         C  sŒ   t  j t  j d d d d d d d } t  j i | d 6 } | d d	 d
 g | d <t | d |  t  j i | d 6 } | d d	 d
 g | j d	 d d
 g d f <t | d |  d  S(   Ns
   2015-01-01R   i   t   tzt   utcRd   t   datesi   i    i   (   R   R   R   R   R!   RO   (   R8   t   columnR=   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt4   test_setitem_with_unaligned_tz_aware_datetime_column	  s    !	)c         C  sË   t  j i t  j d  g d d 6 } t j d  | j d d  d f <t  j d  | j d k sj t  t  j d  | j d k s t  t d d d  | j d <t  j d
  | j d k sÇ t  d  S(   Ns
   2010-10-01i   R   s
   2008-08-08i    i   iÕ  i   i   s
   2005-05-05(   i    R   (   i   R   (   i   R   (   i   R   (   R   R   R   R3   R|  RO   R)   R   (   R8   R=   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_datetime_coercion	  s    &"""c         C  s÷  t  d d  } t d t d d d  } t j d | g d d d | d	 <t j d
 | g d d d | j d  d   d f <t j d | g d d d | j d  d  d f <t j d | g d d d | j d  d   d f <t j d | g d d d | j | j d  d f <t j d  | d <t j d | g d d d | j | j d  d f <t d d d | j | j d d   d f <t j d  | d <| j	 } t
 t j d  g d t j d  g d
 d t d  } t | |  d  S(   Nt   hoursi   R(   t   20130101R   i   Rw   s   m8[ns]RL   i   RF   i   RM   RÇ   i   Rs   R{  Rž   i   iÿÿÿÿiýÿÿÿt   Gt   Hs   timedelta64[ns]s   datetime64[ns]t   ABCDEFGH(   R   R   R   R3   RË   RO   R(   t   timedelta64R|  R  R   Rw   RZ   R!   (   R8   t   one_hourR=   RQ   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt(   test_setitem_datetimelike_with_inference	  s$    $333,	t   idxert   varc      	   C  s   | } t  d d d d d d d |  } t d d	 | d
 d g } t d	 | d
 d g  } | | j d  d   | f <t j | |  d  S(   NR
  s
   2015-07-12R   i   R  R  R  g333333ó?R(   RA   R  (   R   R   RO   R+   R    (   R8   R  t   tz_naive_fixtureR  RP   RR   RQ   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_setitem_datetimeindex_tz5	  s    !c   
      C  s  t  d d d d } t t j j t |  d  d | } t d d d  } t t d	 d d  t d
 d d   } d d d d g } d d d d d d d d d d d d g } | j |  } | j	 | } | j
 | }	 t | |  t | |	  t |  d k st  | j | j | j  } | j	 | } | j
 | }	 t | |  t | |	  t |  d k spt  | j   } d | j	 | <| j	 | } | j	 | j   } d | j	 (t | |  | j   } d | j	 | <| j
 | | j	 | <t | |  | j   } d | j	 | <| j	 | } | j	 | j   } d | j	 (t | |  | j   } d | j	 | <| j
 | | j	 | <t | |  d  S(   Ns
   2012-01-01s
   2012-01-05R  t   30mini   R(   i   i    i   i   i   iH   ix   iš   i   i   i   iJ   iK   iL   iz   i{   i|   iª   i«   i¬   i   (   R   R   R3   R$   R4   R'   R   R;  t   at_timeRO   Rq   R    R)   t   between_timeR
  t   stopR2   (
   R8   R(   R=   t   akeyt   bkeyt   aindst   bindsRQ   RR   RC  (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt'   test_at_time_between_time_datetimeindex?	  sL    ''*

c   	      C  sË  |  j  j d } |  j  j |  } xl t j |  D][ \ } } t j |  rp t j |  j  | |  s t  q2 | |  j  | | k s2 t  q2 Wi i d d 6d d 6d 6i d d 6d d 6d d 6d 6} t |  } | j d  } | j	 t j
 k sû t  | d d k st  | d d k s't  t j t  & |  j j |  j j d	 t    Wd  QX|  j  j d d
 d } |  j  d } t | |  |  j  j d d
 d } d | (| d k j   sÇt  d  S(   Ni   i   Ry   i   Rz   RL   R  RF   i    Rš  (   R&   R(   RI  R   R*   R3   R  R)   R   Rw   Rì   R/   R0   R1   R¡   R"   R!   RØ   (	   R8   RP   RI  R¯  t   valuet	   test_dataR&   R;   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_xsm	  s,    #!'c      	   C  sò   t  d d g  } d | d <d | d <d | d <d	 | d
 <d | d <| j d  } t j d d d d	 d g d t d  d d } t j | |  t  d d d d g  } | j d  } t g  d d d t j g  d t } t | |  d  S(   NR(   i    g      ð?RL   RG   RF   g       @RM   R_   RÇ   g      @Rs   t   ABCDERd   RB   RC   R   Rw   (	   R   RI  R   R   RZ   R+   R!   R   R£   (   R8   R=   RI  R   RQ   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_xs_corner	  s    




'c         C  s]   t  t j j d d  d d d d d d g } | j d  } | j d } t | |  d  S(   Ni   i   R(   RC   R   RB   (   R   R3   R$   R4   RI  Rq   R!   (   R8   R=   t   crossR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_xs_duplicates¢	  s    0c         C  sÜ   t  i i d d 6d d 6d 6i d d 6d d 6d 6i d d 6d	 d 6d
 6i d d 6d d 6d 6 j d d d g  } | j d d d d t } | d  } t | |  | j d d g d d d g d t } t | |  d  S(   Nt   sati    t   suni   R®  t
   strawberryt   flavouri
   i   t   salesiØ  R¬  RÜ  t
   drop_level(   R   RŒ  RI  Rp   R    (   R8   R=   RQ   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_xs_keep_level©	  s    
'c         C  sn   t  t j d  j d d  d t d  d t d  } d | j d  (| j d  d k j   sj t  d  S(   Ng      4@i   i   R(   RA   i
   i   (   R   R3   RÄ   RÅ   R	   RI  RØ   R)   (   R8   R  (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_xs_view¶	  s    c         C  s  d d l  m } | d d d g  } | d d  } | d d	  } t | | g d
 d d t } t d d g d | d d d g } t d t  , t d t  | j	 | d d  d } Wd  QX| d k sÔ t
  | j | d d  d } | d k s t
  d  S(   Niÿÿÿÿ(   t
   namedtuplet	   IndexTypeRB   RC   RG   R_   R`   t   bofRd   t   composite_indext   tupleize_colsi   i   i   i   R(   RA   RL   RF   RÐ   RÑ   (   i   i   (   i   i   (   t   collectionsR/  R   Rp   R   R   Ro   R   RÓ   RÔ   R)   RO   (   R8   R/  R0  t   idx1t   idx2R(   R=   RQ   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_index_namedtupleÀ	  s    $ c         C  sE  t  d  } d d d g } t d | d | d t j d d	 d
 g d d d g d d d g g d t  } t d | d | d t j t |  t |  f   } t d | d | d t j d d	 d
 g d d d g d d d g g d t  } d | | d | k <t | |  t j	 t
 d d  d | | j d  d k <Wd  QXd  S(   Ni   RL   RF   RM   R(   RA   R}   g        g      à?g      ð?g      ø?g       @g      @g      @g      @g      @Rw   iÿÿÿÿR%   s   Item wrong lengthi   (   R	   R   R3   RË   Rœ   R  R'   R    R/   R0   R{   R(   (   R8   RP   R   t   df1R/  RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_boolean_indexingÑ	  s"    $c         C  s  t  i i t j d 6t j d 6t j d 6t j d 6t j d 6t d  6i t j d 6d d 6t j d 6d d 6d d 6t d	  6i t j d 6t j d 6d
 d 6t j d 6t j d 6t d  6i t j d 6t j d 6t j d 6t j d 6t j d 6t d  6i d d 6t j d 6t j d 6t j d 6t j d 6t d  6i d d 6d d 6d d 6d d 6d	 d 6d 6 } | j   } d	 | | d k <| j   } d	 | j d <d	 | j d <d	 | j d <d	 | j d <t | |  d | d <d } t j t	 d |  d	 | | d k <Wd  QXd  S(   Ni#   i(   i+   i1   i2   i    gjBzâÔ?g% tÙ?i   gÂØkÒ?i   i   gøãÖåÕ?i   R!  g333333Ó?t   testRG   sE   boolean setting on mixed-type|not supported between|unorderable typesR%   (   i(   i   (   i1   i   (   i2   i   (   i#   i   (
   R   R3   R   R   R2   RO   R    R/   R0   Rõ   (   R8   R=   R/  RR   R~   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_boolean_indexing_mixedæ	  s6    !
+0
c           s*  t  t j j d d  d d d d g } d     t   f d  } xz | |  j |  j |  j g D]] } t j	 r¥ | |  j k r¥ t
 j t   | d	 k Wd  QXqa n  | d	 k } | | |  qa Wt  d
   d d d d g D  } d	 | j d d  d   f <| j | d	 k  j   } t i d d 6d d 6d d 6d d 6 } t | |  t d  } xç |  j |  j |  j g D]Í } t j	 r¶| |  j k r¶t
 j t   | d	 k Wd  QXqrn  | d	 k d } | | |   |   | d	 k } | | |   |  j  | d	 k } t d   | j D  } | | | t j d | qrW| } | d j d	 d  d  d   f }	 t
 j t | j | |	  | j d  d  d  d   f j }
   |  } t
 j t | j |
 |  t
 j t | j t  t
 j t | j d	  t d  } x° | |  j |  j |  j g D] } t j	 rd| |  j k rdt
 j t   | d	 k Wd  QXq n  | d	 k } | | |  | d	 k } | | |  | d	 k d } | | |  q Wt  i t d  d 6t d d  d 6 } | j | d d k  } | | d d k j | j  } t | |  d  S(   Ni   i   RA   RL   RF   RM   c           s2   d     t  t   f d   t j |   D   S(   Nc         S  s.   t  |  j j t j t j f  o- |  j d k S(   Nt   uint8(   R   Rw   R  R3   R  t   floating(   Rò   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   is_ok
  s    !c         3  s=   |  ]3 \ } }   |  r+ | | d  f n	 | | f Vq d S(   i   N(    (   R   R   Rò   (   R>  (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pys	   <genexpr>
  s   (   R   RU   R   R*   (   R=   (    (   R>  s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt	   _safe_add
  s    	c   	        sË     |   } |  j  | |  } |  j  | j |  } x] | j   D]O \ } } t t j  | | |  | | |  d | j } t | | d t q@ Wt | |  | rÇ | j	 |  j	 k j
   sÇ t  n  d  S(   NR(   Rt   (   R   R7   R*   R   R3   R(   R!   Rp   R    R  RØ   R)   (	   R=   t   condt   check_dtypest   other1RW  t   rs2RÎ   t   vR   (   R?  (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt
   _check_get
  s    -i    c         S  s,   i  |  ]" } t  d  g d d | |  q S(   i   i   Rw   (   R   (   R   R   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pys
   <dictcomp>/
  s   	Rï   R»   R¶   R¹   i   c         S  sa  |  j  | |  } xt | j  D]ý \ } } | | } |  | j } | | j |  | j  j t  j }	 t |  r | }
 nJ t	 | t
 j  rœ t | d  d   | f d | j j }
 n | | j }
 |	 j   rÜ | n t
 j  |	 | |
  } t | d | j d | } t | | d t q" W| r]t	 | t
 j  r]| j |  j k j   s]t  n  d  S(   NR(   Rd   R    (   R   Rf  RA   R7   R§   R(   t   fillnaRp   R   R©  R3   t   ndarrayR   RØ   R!   R  R)   (   R=   R@  t   otherRA  RW  R   RÎ   RQ   R­   R   t   ot
   new_valuesRR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   _check_align=
  s    
&	+'c         s  s%   |  ] } t  | j t j  Vq d  S(   N(   R   R  R3   R  (   R   Rò   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pys	   <genexpr>i
  s   RA  i   c         S  sÛ   |  j    } | j |   j t  } | j |  } | j | t j d t t | |  | r× xt t	 j
 |  j  D]] \ } } t | j t j  r· | | j   r· t j d  } n  | | j | k ss t  qs Wn  d  S(   NRQ  R»   (   R2   RÅ  RF  Ro   RŸ   R   R3   R   R    R   R*   R  R   R  R  RØ   Rw   R)   (   R=   R@  RA  t   dfit   econdRR   RÎ   RD  (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt
   _check_setz
  s    &RB   i   i   RC   (   R   R3   R$   R4   Ro   Rš   R©   Rª   R   R«   R/   R0   Rõ   Rq   R   RŒ   R   R!   R7   RØ   R  R   R{   RŸ   R   R§   R(   R    (   R8   t   default_frameRE  R=   R@  RQ   RR   RK  RA  t   err1t   err2RB  RN  (    (   R?  s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt
   test_where	
  st    			(	#") t   klassc         C  sÜ   t  i d d d g d 6 } t g t g t g g } t  i t j d d g d 6 } | j | |   } t | |  d | d <d t j d g | d <t t g t t g t t g g } | j | |   } t | |  d  S(   Ni   i   i   RB   RC   (   R   Rp   Ro   R3   R   R   R    (   R8   RS  R=   R@  RR   RQ   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_where_array_like¡
  s    
!R@  i   i   RB   Ro   Rp   s
   2017-01-01s
   2017-01-02c         C  sO   t  i d d d g d 6 } d } t j t d |  | j |  Wd  QXd  S(   Ni   i   i   RB   s(   Boolean array expected for the conditionR%   (   R   R/   R0   R{   R   (   R8   R@  R=   R~   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_where_invalid_input_single²
  s    
i   i   i	   RC   s
   2017-01-03c         C  s_   t  i d d d g d 6d d d g d 6 } d } t j t d |  | j |  Wd  QXd  S(   Ni   i   i   RB   RC   s(   Boolean array expected for the conditionR%   (   R   R/   R0   R{   R   (   R8   R@  R=   R~   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt!   test_where_invalid_input_multipleÂ
  s    ,c         C  sê   t  d d d g d d d g g  } t  t t t g t t t g g  } | j |  } t  d t j d g t j t j d g g  } t j | |  d d	 d
 g | _ | j |  } t  t j d | j	 d | j } t j | |  d  S(   Ni   i   i   i   i   i   g      ð?RB   RC   R   R(   RA   (
   R   Ro   Rp   R   R3   R   R+   R    RA   R(   (   R8   R=   R@  RQ   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_where_dataframe_col_matchÔ
  s    $$-!c         C  sH  d } t  d d d g d d d g g  } t g } t j t d |  | j |  Wd  QXt  d d d g t j t j t j g g  } | j t |   } t	 j
 | |  t j t t t t g  } t j t d |  | j |  Wd  QXt  t j t j t j g d d d g g  } | j t |   } t	 j
 | |  d  S(	   Ns,   Array conditional must be same shape as selfi   i   i   i   i   i   R%   (   R   Ro   R/   R0   R{   R   R3   R   R   R+   R    RË   Rp   (   R8   R~   R=   R@  RR   RS  (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_where_ndframe_alignâ
  s    $	--c         C  sà   t  i d d d d g d 6d d d d g d 6d d } t  i t j t j d d g d 6d d t j t j g d 6d d } | j | d	 k t j  } t | |  | j   } | j | d	 k t j d
 t t | |  d  S(   Ng      ð?g       @g      @g      @RB   RC   Rw   R»   i   RQ  (   R   R3   R   R   R    R2   Ro   (   R8   R=   RR   RQ   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_where_bugø
  s    %c         C  sø   t  i t j d d d d g d | d 6t j d d d	 d
 g d d d 6 } t  i t j t j d d g d 6d d t j t j g d 6d d } | j | d k t j  } t | |  | j   } | j | d k t j d t t | |  d  S(   Ni   i   i   i   Rw   RB   g      @g      @g       @g      ð?R»   RC   RQ  (   R   R3   RË   R   R   R    R2   Ro   (   R8   t
   sint_dtypeR=   RR   RQ   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_where_bug_mixed  s    (	c         C  s`  t  i d d g d 6d d g d 6d d g d 6 } t  i t j d g d 6d	 t j g d 6t j t j g d 6 } | j   | | k B} | j   } | | | <| j | |  } t | |  t  i d d g d 6d d g d 6 } t  i t j d g d 6d t j g d 6 } | j   | | k B} | j   } | | | <| j | |  } t | |  d  S(
   Ni   i   i    i   i   i   i   i   i	   (   R   R3   R   R   R2   R   R    (   R8   RB   RC   t   do_not_replaceRR   RQ   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_where_bug_transposition  s    3?&,c      	   C  sõ   t  t d t d d d d t d d d d t j j d    } t d d	 d
  } t j t	   | | k Wd  QX| | j
 d  d   d  d  f | k } | j   } t j | j d d	 g d f <t j | j d  d   d f <t | |  d  S(   NRL   t   20130102R   i   RF   t   20130104RM   iÝ  i   i   iÿÿÿÿi    (   R   RU   R   R3   R$   R4   R   R/   R0   Rõ   Rq   R2   R   RO   R    (   R8   R=   t   stampRQ   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_where_datetime,  s    )c         C  s
  t  i t t d   d 6 j t  } d  | | d k <t  i t d d d d d d	 d
 d t j t j g
  d 6 } t | |  t  i d d 6t j d 6d d 6i t j d 6d d 6t j d 6g  } d } t	 j
 t d | " | j t |  d  d t Wd  QXd  S(   Ni
   R;   i   i    i   i   i   i   i   i   RL   RF   t   TestRM   s   boolean setting on mixed-typeR%   RQ  (   R   R   R   R¢   Rœ   R.   R3   R   R    R/   R0   Rõ   R   R   Ro   (   R8   R=   RR   R~   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_where_none>  s    (:!$c         C  sJ   t  j d d g  } | j d    } | j |  } t j | |  d  S(   NRA   RB   c         S  s
   |  d k S(   Ni    (    (   Rn   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyRW   R  s    (   R   R   t   applymapR   R+   R    (   R8   R=   R@  RQ   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt9   test_where_empty_df_and_empty_cond_having_non_bool_dtypesO  s    c         C  s{  d   } |   } | j  | j    } | j t j |  | j   d d } t | |  | j t j |  | j   d t d d t | |  |   j  d  } | j d   d | d } | j | d k | d d d } t | |  | j | d k | d d d	 } t | |  |   } | j  d
  } | j t j |  t d
 d | j	 d | j
  } t | |  d  S(   Nc          S  ss   t  t j j d d   }  t j |  j d d  d f <t j |  j d d  d f <t j |  j d d  d	 f <|  S(
   Ni
   i   i   i    i   i   i   i   i   (   R   R3   R$   R4   R   Rq   (   R=   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   createY  s
    Rš  RA   RQ  i    c         S  s   |  j  |  d k |  S(   Ni    (   R   (   Rn   R!  (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyRW   j  s    R!  R(   R  i   (   RF  t   meanR   R   R   R    Ro   t   applyR   R(   RA   (   R8   Rf  R=   RR   RQ   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_where_alignW  s$    		'+""	c         C  s   t  d	 d g t j d
 g g d d d g } t  d d g d d g g d d d g } t j | | j   d k <t | |  d  S(   Ni   y              ð?i   i   RA   RB   RC   i   y      ð?      ð?y      @      ð?y      ð?      ð?y      @      ð?y      @      ð?(   R   R3   R   Rö   R    (   R8   RR   R=   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_where_complexw  s
    **c   
   	   C  s¯  t  t j j d d   } t  t t g t t g g  } t d d g  } t  d d g d d g g d d } | j | | d d } t | |  | j   } | j | | d d d t	 t | |  t  d d g d d g g d d } | j | | d d	 } t | |  | j   } | j | | d d	 d t	 t | |  t  d d g d
 d g g d d } t  t t g t t g g  } t d t j
 g  } t  d d g t j
 t j
 g g d d } | j | | d d } t | |  | j   } | j | | d d d t	 t | |  t  d t j
 g d t j
 g g  } | j | | d d	 } t | |  t  i t j d d g d d d 6t j t j
 t j
 g d d d 6 } | j   } | j | | d d	 d t	 t | |  t j t  t j j d d   t  t j j d d d d d d g d t	 d d } t  t d	 | j d | j } t d d | j } t d d | j } | j | | d d	 } t  d d	 | j d | j } | d j d  | d <| d
 j d  | d
 <t | |  | j   } | j | | d d	 d t	 t | |  | j | | d d } t  d d	 | j d | j } | d j d  | d <| d
 j d  | d
 <t | |  | j   } | j | | d d d t	 t | |  | j   j d d d } | j   } t j
 | j d d  d   f <| j | |  } t | |  | j | | d d } t | |  | j   } | j | | d t	 t | |  | j   } | j | | d t	 d d t | |  | j   j d d d }	 | j   } t j
 | j d  d   d f <| j | |	  } t | |  | j | |	 d d	 } t | |  | j   } | j | |	 d t	 t | |  | j   } | j | |	 d t	 d d	 t | |  d  S(   Ni   i    i   Rw   R»   Rš  R(   RQ  RA   i   i   R¹   i
   t   sizet   ignore_indexg      ð?g       @(   i
   i   (   R   R3   R$   R4   Rp   R   R   R    R2   Ro   R   RË   R   t   concatR   RA   R(   R¢   R  RO   (
   R8   R=   RŸ   Rò   RR   RQ   R8  t   s2t   d1t   d2(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_where_axis  s¢    $$$*$"(*c         C  sŸ  t  d d d g d d d g d d d	 g g  } | j d
   d    } t  d d d g d d d g d d d	 g g  } t j | |  t j | | j | d k | d   | j d   d    } t  d d d g d d d g d d d g g  } t j | |  t j | | j | d d k d   | d j d   d    } t  d d d g d d d g d	 d d g g  } t j | |  t j | | d j | d d k | d d   d  S(   Ni   i   i   i   i   i   i   i   i	   c         S  s
   |  d k S(   Ni   (    (   Rn   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyRW   ë  s    c         S  s   |  d S(   Ni   (    (   Rn   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyRW   ë  s    c         S  s   |  d d k j  S(   Ni   i    (   R7   (   Rn   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyRW   ñ  s    c         S  s   d S(   Nic   (    (   Rn   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyRW   ñ  s    ic   i    c         S  s
   |  d k S(   Ni   (    (   Rn   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyRW   ÷  s    c         S  s   |  d S(   Ni
   (    (   Rn   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyRW   ÷  s    i   i   i   i   i   i   i
   i   (   R   R   R+   R    (   R8   R=   RQ   R   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_where_callableè  s    00&0&0	c         C  s¿   t  t d d d g d | d d g } t  t d d d g d | d d g } t  t t t g d d g } t  t d d d g d | d d g } | j | |  } t | |  d  S(	   Nt   20150101t   20150102t   20150103R  RA   R   t   20150104t   20150105(   R   R   Ro   Rp   R   R    (   R8   R  R8  R/  RŸ   R   RQ   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_where_tz_valuesý  s    			c         C  s+  t  t j j d d   } | d k } | j | t j  } t | | j | d k   t | | j |   t  t j j d d   } | j | |  } t | | j | d k |   t | | j | |   t  d d g  } | j t g t	 g g  } t  t j d g  } t
 j | |  d  S(   Ni   i   i    i   i   (   R   R3   R$   R4   R   R   R    RŸ   Ro   Rp   R+   (   R8   R=   R@  RW  RH  R?   R   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt	   test_mask  s    c         C  sÏ   t  t j j d d   } | d k } | j   } | j | d t t | | j |   t | | j |   | j   } | j | | d t t | | j | |   t | | j | |   d  S(   Ni   i   i    RQ  (	   R   R3   R$   R4   R2   R   Ro   R    RŸ   (   R8   R=   R@  t   rdf(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_mask_inplace  s    c         C  s\   t  d d g g  } | j t  t t g g   } t  t j d g g  } t | |  d  S(   Ni   i   (   R   RŸ   Ro   Rp   R3   R   R    (   R8   R=   R?   t   expec(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_mask_edge_case_1xN_frame/  s    c         C  sŸ  t  d d d g d d d g d d d	 g g  } | j d
   d    } t  d d d g d d d g d d	 d g g  } t j | |  t j | | j | d k | d   | j d   d    } t  d d d g d d d g d d d	 g g  } t j | |  t j | | j | d d k d   | d j d   d    } t  d d d g d d d g d d d g g  } t j | |  t j | | d j | d d k | d d   d  S(   Ni   i   i   i   i   i   i   i   i	   c         S  s
   |  d k S(   Ni   (    (   Rn   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyRW   9  s    c         S  s   |  d S(   Ni   (    (   Rn   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyRW   9  s    i
   c         S  s   |  d d k j  S(   Ni   i    (   R7   (   Rn   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyRW   ?  s    c         S  s   d S(   Nic   (    (   Rn   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyRW   ?  s    ic   i    c         S  s
   |  d k S(   Ni   (    (   Rn   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyRW   E  s    c         S  s   |  d S(   Ni
   (    (   Rn   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyRW   E  s    i   i   i   (   R   RŸ   R+   R    (   R8   R=   RQ   R   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_mask_callable6  s    00&0&0	c         C  s	  t  |  j j   |  j d   t  |  j j   |  j d  t  |  j j d  |  j d d ! t  |  j j d  |  j d d ! t  |  j j d  |  j d   t  |  j j d  |  j d  t  |  j j d  |  j d   t  |  j j d  |  j d  |  j j   } t j t |  j   d | _ t  | j   | j	 d   t  | j   | j	 d  t  | j d  | d d ! t  | j d  | d d ! t  | j d  | j	 d   t  | j d  | j	 d  t
   } t  | j   |  t  | j   |  d  S(   Ni   iûÿÿÿi    iÿÿÿÿi   g¹?(   R    R&   t   headt   tailR2   R3   RÄ   R'   R(   Rq   R   (   R8   R=   t   empty_df(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_head_tailK  s&    ##    	c         C  sÇ  t  d d d d d g d d d d d	 g d d d
 d g d d d d	 g d d d
 d g g  } | j d d d d d d d g  } t j t d d  t | d  d   d f  Wd  QXt t d	  d d } t d d d g d d g g d d d g d d g g d d  d g  } t  d d	 g d
 d g g d | d | } | j
 d  d   t d   d f f } t | |  d } t t d	  d d } t d d
 g d | d | } | d } t | |  d  S(   NRA   R   R   Rn   R!  R}   i    i   i   i   i   R(   R7   R%   s   is an invalid keyRd   R]   t   codesRh   (   Rn   i    (   Rn   i    (   R   t   pivot_tableR/   R0   Rõ   Ru  R   R   R   R.   RO   R;  R    R   R!   (   R8   R=   t   dgR(   RA   RR   RQ   Rd   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_type_error_multiindexd  s&    ' *%
c      	   C  sI  t  j d d d d  } t  j d d d g d d d	 g d
 d d g g d | d d d d g } d } | j d } t | |  t  j d d d d d d  } t  j d d d g d d d	 g d
 d d g g d | d d d d g } t  j d d d d d d d d  } t  j d d g d | d d } | j d } t | |  d  S(   NR
  i    R   i   i   i   i   i   i   i   i   i	   R(   RA   RL   RF   RM   g      à?t   closedt   bothR  Rd   (   g      à?RL   (   i   RL   (   R   t   interval_rangeR   RO   R   R   R!   (   R8   R(   R=   RR   RQ   t	   index_exp(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_interval_index  s     00!l            l   ÿÿÿÿ l            (    t   __name__t
   __module__R@   RE   RI   R/   t   markt   parametrizeR   RZ   R   RK   RS   RN   R   R[   Rk   R   Rm   Rr   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-  RU   R0  R1  R2  R5  R7  R9  R:  R?  RD  RF  RH  RJ  RK  RM  RP  RT  RV  RY  RZ  R[  R]  Rb  Rc  Re  Rh  Rj  Rk  Rl  Rm  Rn  Rq  Rs  Rv  Ry  R}  R  R  R  R  R  R  R  R  R  R  R  R  R¡  R£  R€  R«  R²  R·  R»  R¿  R3   R   RÌ  RÍ  RÒ  RÓ  RØ  Rù  Rû  Rý  R  R  R	  R
  R  R  R  R"  R$  R&  R-  R.  R7  R9  R;  RR  R  RË   RT  R   R   R{  RU  RV  RW  RX  RY  R[  R]  Ra  Rc  Re  Ri  Rj  Rq  Rr  Rx  Ry  R{  R}  R~  R  R  R  (    (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyR#      s`  			0		'$
								9	!		
			.			6*			2		-			
	,					
$				/				s		 				-									<	?	
									R					7					
				#		&						2				'#					H	+								'
	.	!				
			#	**
$)*
									 		i								t#   TestDataFrameIndexingDatetimeWithTZc           B  s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         C  sc   t  t d d d d d d d |  _ t d d d |  _ t i |  j d	 6|  j d
 6 |  _ d  S(   NR  R   i   R  s
   US/EasternRd   RG   t   20130110RL   RF   (   R   R   RP   RÖ  R   R=   (   R8   RÃ  (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   setup_method  s    c         C  sL  |  j  } |  j } | | d <t | d t | d d  d | d <| | d <t | d t | d d  | d =| j j d } | j j d } t j | j | j  t	 | j j j
  t	 | j j j
  k s× t  | j   } t j | j d <t j | j d	 <| d } t t |  t t t t g d d  t | j | j  d  S(
   NRM   Rd   RG   RÇ   i   i   RF   (   i   i   (   i   i   (   R=   RP   R!   R   t   _datat   blocksR+   t   assert_extension_array_equalR7   t   idt   baseR)   R2   R   R{  Rq   R   Ro   Rp   R  (   R8   R=   RP   t   b1t   b2R/  RQ   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyRî     s&    		


0
c         C  sv   |  j  } t i d d d g d 6d | } | j   } | d j sP t d   | j d  } t j | j |  d  S(   Ni    i   i   RL   R(   RG   s   M8[ns, US/Eastern(	   RP   R   t   reset_indexRw   R)   RŒ  R+   R€   R(   (   R8   RP   R=   RQ   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_set_resetŒ  s    	"c         C  sA   |  j  j } t |  j  j j  } d d g | _ t | |  d  S(   NRL   RF   (   R=   RÖ   R   R7   R(   R    (   R8   RQ   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_transposeÈ  s    c         C  ss   t  j d d	  } t  j d d d | d <t  j i t  j d d d d 6d d d d g } t j | |  d  S(
   NR(   i    i   i   R  R  t   UTCR  (   i    i   i   (   R   R   R   R+   R    (   R8   R=   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_scalar_assignmentÏ  s
    .(   R  R  R  Rî   R  R  R  (    (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyR    s
   				t   TestDataFrameIndexingUInt64c           B  s,   e  Z d    Z d   Z d   Z d   Z RS(   c         C  sf   t  t j d  d t j |  _ t  d d d g d d |  _ t i |  j d	 6|  j d
 6 |  _ d  S(   Ni   Rw   i   i?   i   i
   Rd   RG   RL   RF   l            l            l           l            l   
        (   R   R3   RÄ   t   uint64t   irRP   R   R=   (   R8   RÃ  (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyR  Ú  s    !c         C  s  |  j  } |  j } | | d <t | d t | d d  d | d <| | d <t | d t | d d  | d =| j   } t j | j d <t j | j d <| d } t t |  t t	 t
 t	 g d d  t | j t t j d  t j d	  t j d	  g d
 d d d g  d  S(   NRM   Rd   RG   RÇ   i   i   RF   R   t   OR(   RL   (   i   i   (   i   i   (   R=   RP   R!   R   R2   R   R{  Rq   R   Ro   Rp   R  R3   Rw   (   R8   R=   RP   R/  RQ   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyRî   à  s"    		



c         C  s   |  j  } t i d d d g d 6d | } | j   } | d j t j d  k sY t  | j d  } t j | j	 |  d  S(   Ni    i   i   RL   R(   RG   R   (
   RP   R   R  Rw   R3   R)   RŒ  R+   R€   R(   (   R8   RP   R=   RQ   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyR  ú  s    	""c         C  sA   |  j  j } t |  j  j j  } d d g | _ t | |  d  S(   NRL   RF   (   R=   RÖ   R   R7   R(   R    (   R8   RQ   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyR    s    (   R  R  R  Rî   R  R  (    (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyR  Ø  s   			t    TestDataFrameIndexingCategoricalc           B  s#   e  Z d    Z d   Z d   Z RS(   c         C  s0  t  i t j t j j d d d  d d d 6 } t g  t d d d  D] } d j | | d	  ^ qJ  } | j d
 d g d t	  } t
 j | j t d d d  d t d | } | j } | | d <t |  | j } t t j d  t d | d t  g d d d g } t j | |  | | d <t |  | j } t t j d  t d | d t  t d | d t  g d d d d g } t j | |  | d } | d }	 t j | j j j |  d | _ t j |	 j   | j    t d d d d g d d d d d d g }
 t  t |
   } d  S(   Ni    i'  id   Rw   R¶   R   iô  s	   {0} - {1}ió  t   byt	   ascendingi)  R   t   labelsRÇ   t
   categoriest   orderedR(   Rs   i   i   i   i
   i   (   R   R3   RË   R$   R   R   R   t   formatR  Ro   R   t   cutR   Rp   R7   Ru  R  R   Rw   R   R+   R!   t   assert_categorical_equalR  t   _blockRd   RR  (   R8   R=   R   RŠ  Rò   R­   RQ   RR   t   result1R>  t   cat(    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_assignment  s<    (5-	

	

	

	-c         C  së  t  d d d d d d d g d d d g } t d d d d d d	 d
 g  } d d d d d d d g } t i | d 6| d 6d | } t  d d d d d d d g d d d g } t d d d d d d	 d
 g  } d d d d d d d g } t i | d 6| d 6d | } t  d d d d d d d g d d d g }	 t d d d d d d	 d
 g  }
 d d d d d d d g } t i |	 d 6| d 6d |
 } t  d d d d d d d g d d d g } t d d d d d d	 d
 g  } d d d d d d d g } t i | d 6| d 6d | } t  d d d d d d d g d d d g } t d d d d d d	 d
 g  } d d d d d d d g } t i | d 6| d 6d | } | j   } d | j d <t j | |  | j   } d | j | j d k d f <t j | |  t j	 t
   | j   } d | j d <Wd  QX| j   } d d g | j d d  d   f <t j | |  t j	 t
  0 | j   } d d g | j d d  d   f <Wd  QX| j   } d d g d d g g | j d d  d  d   f <t j | |  t j	 t
  B | j   } d d g d d g g | j d d  d  d   f <Wd  QX| j   } t  d d g d d d g | j d d  d f <t j | |  t j	 t
  B | j   } t  t d  d t d  | j d d  d f <Wd  QXt j	 t
  B | j   } t  t d  d t d  | j d d  d f <Wd  QX| j   } d d g | j d d  d f <t j | |  t j	 t
  $ d d g | j d d  d f <Wd  QX| j   } d | j d <t j | |  | j   } d | j | j d k d f <t j | |  t j	 t
   | j   } d | j d <Wd  QX| j   } d d g | j d d  d   f <t j | |  t j	 t
  0 | j   } d d g | j d d  d   f <Wd  QX| j   } d d g d d g g | j d d  d  d   f <t j | |  t j	 t
  B | j   } d d g d d g g | j d d  d  d   f <Wd  QX| j   } t  d d g d d d g | j d d  d f <t j | |  t j	 t
  E | j   } t  d d g d d d d g | j d d  d f <Wd  QXt j	 t
  E | j   } t  d d g d d d d g | j d d  d f <Wd  QX| j   } d d g | j d d  d f <t j | |  t j	 t
  $ d d g | j d d  d f <Wd  QX| j   } d | j d | j d f <t j | |  | j   } d | j | j d k | j d f <t j | |  t j	 t
  + | j   } d | j d | j d f <Wd  QX| j   } d d g | j d d  d   f <t j | |  t j	 t
  0 | j   } d d g | j d d  d   f <Wd  QX| j   } d d g d d g g | j d d  d  d   f <t j | |  t j	 t
  B | j   } d d g d d g g | j d d  d  d   f <Wd  QX| j   } t  d d g d d d g | j d d  | j d f <t j | |  t j	 t
  L | j   } t  d d g d d d d g | j d d  | j d f <Wd  QXt j	 t
  L | j   } t  d d g d d d d g | j d d  | j d f <Wd  QX| j   } d d g | j d d  | j d f <t j | |  t j	 t
  + d d g | j d d  | j d f <Wd  QX| j   } d | j d <t j | |  t j	 t
   | j   } d | j d <Wd  QX| j   } d | j d  <t j | |  t j	 t
   | j   } d | j d! <Wd  QXt  d d d d d d d g d d d d g } t d d d d d d	 d
 g  } d d d d d d d g } t i | d 6| d 6d | } | j   } | d j j d d d g d t d d g | | d d k <t j | |  | j   } d | j d" <t j | |  t j	 t
   | j   } d | j d# <Wd  QXt i d d d d d g d 6t d  d 6 } t i d d d d d g d 6t d  d 6 } t  d d g d d d g | j d d  d f <t  d d g d d d g | j d d  d f <t j | |  d  S($   NRB   R§  RC   t   hR   R   RÎ   RV   t   mt   ni   t   catsR7   R(   i   i    R   i   t   bbRå  t   cci   RQ  t   aaaaat   aabba(   i   i    (   i   i    (   R   R³  (   R   R³  (   i   i    (   i   i    (   R   R³  (   R   R³  (   R   R³  (   R   R³  (   R   R   R   R2   Rq   R+   R    R(   R/   R0   R{   RZ   RO   RA   Rž  R¹  R®  t   set_categoriesRo   (   R8   R³  RP   R7   t   origt   cats1R5  t   values1t   exp_single_rowt   cats2R6  t   values2t   exp_multi_rowt   cats3t   idx3t   values3t   exp_parts_cats_colt   cats4t   idx4t   values4t   exp_single_cats_valueR=   t   catsft   idxft   valuesft	   exp_fancyR   (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_assigning_ops9  sX   ! !!*!*!%17177%%17.77%# %175>>&,! #//11c         C  s¥   t  i t j j d d d  d 6 } g  t d d d  D] } d j | | d  ^ q8 } t j t  6 t	 j
 | j t d d d  d	 t d
 | | d <Wd  QXd  S(   Ni    id   i   R   i
   s	   {0} - {1}i	   ii   R   RŠ  t   group(   R   R3   R$   R   R   R©  R+   R¥   Rp   R   Rª  R   (   R8   R=   R   RŠ  (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   test_functions_no_warnings_  s
    %5$(   R  R  R¯  RÌ  RÎ  (    (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyR£    s   	)	ÿ '(>   t
   __future__R    R   R   R   R   t   warningsR   R   t   numpyR3   R/   t   pandas._libs.tslibR   t   pandas.compatR   R	   R
   R   R   R   t   pandas.core.dtypes.commonR   R   R   t   pandas.core.dtypes.dtypesR   t   pandasR   R   R   R   R   R   R   R   R   R   R   R   t   pandas.core.commont   coret   commonRê   t   pandas.core.indexingR   t   pandas.tests.frame.commonR   t   pandas.util.testingt   utilt   testingR+   R   R    R!   t   pandas.tseries.offsetsR"   R#   R  R  R£   R£  (    (    (    s?   lib/python2.7/site-packages/pandas/tests/frame/test_indexing.pyt   <module>   s@   ".Lÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ B6