ó
šxŠ\c           @   s†  d  Z  d d l m Z d d l m Z m Z d d l Z d d l Z d d l Z d d l	 m
 Z
 m Z m Z d d l m Z m Z d d l Z d d l m Z m Z m Z m Z d d l m Z m Z m Z d d	 l m Z m Z d d l j j Z  d
 e f d „  ƒ  YZ! d e f d „  ƒ  YZ" d e# f d „  ƒ  YZ$ d e# f d „  ƒ  YZ% d „  Z& d „  Z' d „  Z( d „  Z) d „  Z* d „  Z+ d S(   s    test fancy indexing & misc iÿÿÿÿ(   t   datetime(   t   catch_warningst   simplefilterN(   t   PY2t   lranget   range(   t   is_float_dtypet   is_integer_dtype(   t	   DataFramet   Indext   NaTt   Series(   t   _maybe_numeric_slicet   _non_reducing_slicet   validate_indices(   t   Baset   _mklblt	   TestFancyc           B   sV  e  Z d  Z d „  Z d „  Z d „  Z d „  Z e j j	 e
 d d ƒd „  ƒ Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z e j j d e d d d g ƒ d f e d d d g ƒ d f e d d d e j d g ƒ d f e d d d e j d g ƒ d f e d d d e j g ƒ e j f e d d d e j g ƒ e j f g ƒ d „  ƒ Z e j j d e d d d g ƒ d f e d d d g ƒ d f e d d d e j g ƒ d f e d d d e j g ƒ d f e d d d e j g ƒ e j f e d d d e j g ƒ e j f e j d d d g ƒ e j f e j d d d g ƒ e j f e j d d d g ƒ e j f e j d d d g ƒ e j f g
 ƒ d „  ƒ Z e j j d e d d d g ƒ d f e d d d g ƒ d f g ƒ d „  ƒ Z e j j d e d d d g ƒ d f e d d d g ƒ d f g ƒ d „  ƒ Z d „  Z d „  Z  RS(   s$    pure get/set item & fancy indexing c      	   C   sº  t  d t t d d ƒ ƒ ƒ } t j d d t j ƒ| d <t j d d t j ƒ| d <t j t	 ƒ 7 t j
 d d d d g ƒ | j | j d d !d f <Wd  QXt j
 d d d d g ƒ | j | j d d !d f <| j | j d d !d f } t d d d d g d d d d d g d d ƒ} t j | | ƒ t  d t t d d ƒ ƒ ƒ } t j d d t j ƒ| d <t j d d t j ƒ| d <t j t	 ƒ " t j d d ƒ d | d d +Wd  QXd  S(   Nt   indexi   i   i
   t   dtypet   foot   bary        ¤p=
×£@g®Gáz®ó?y        š™™™™™¹?gš™™™™™@g      ð?i   i   i   i   i   t   namey              ð?y®Gáz®ó?š™™™™™¹?y®Gáz®ó?š™™™™™¹?y®Gáz®ó?š™™™™™¹?(   R   R	   R   t   npt   zerost   float64t   complext   pytestt   raisest
   ValueErrort   arrayt   locR   R   t   tmt   assert_series_equalt   arange(   t   selft   dft   resultt   expected(    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_setitem_ndarray_1d   s"    ,&'	c         C   s  t  d d g ƒ } d | j d <d | j d <d | j t j <| j t j d f d k s^ t ‚ | j } t j d d t j g ƒ } t j	 | | ƒ t  ƒ  } d | j d <d | j d <d | j d t j f <| j
 } t j d d t j g ƒ } t j	 | | ƒ d  S(   Nt   columnsi    i   i   i   (   i    i    (   i   i   (   R   R   R   t   inft   AssertionErrorR   t   pdt   Float64IndexR    t   assert_index_equalR(   (   R#   R$   R%   R&   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_inf_upcast=   s    "			c      	   C   sd  t  i d d 6i d d 6d d 6g ƒ } t j | d <| d j t j k sP t ‚ d | j d <t  i d d 6d d 6i d d 6d d 6t j d 6g ƒ } t j | | ƒ t  t j	 d	 d
 d ƒj
 d d ƒ d t d ƒ d d d d g ƒ} x¨ d d g D]š } | j ƒ  } | | j d <t  d | d g d d d g g d t d ƒ d d d d g ƒ} t j | | ƒ t | d ƒ sxt ‚ t | d ƒ sô t ‚ qô Wt  t j	 d	 d
 d ƒj
 d d ƒ d d t d ƒ d d d d g ƒ} d | j d <t  d d d g d d d g g d t d ƒ d d d d g ƒ} t j | | ƒ t | d ƒ sJt ‚ t | d ƒ s`t ‚ d  S(   Ni   t   ai   i   t   bt   cR   i    i   R   t   int64R   t   abR(   R   t   bazg…ëQ¸	@t   wxyzi   i   g      $@gš™™™™™É?g333333Ó?gš™™™™™Ù?g      à?(   i    R1   (   R/   R   (   R/   R   (   R   R   t   nanR   R   R*   R   R    t   assert_frame_equalR"   t   reshapet   listt   copyR   R   (   R#   R$   R&   t   valt   leftt   right(    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_setitem_dtype_upcastY   s6    '$$-(-c   	      C   sz  d d l  m } | d d ƒ } d d d g | _ | d d g j } t d d d g ƒ } t j | | ƒ t d d d	 d
 d d d g g d t d ƒ ƒ} | j ƒ  t	 | ƒ t d d d	 d
 d d d g g ƒ } t d ƒ | _ | j
 d  d  … d f } | j
 d  d  … d f } t j | | ƒ t i d d d d g d 6d d d d g d 6t d ƒ d 6d d d d d g ƒ} d d g } t i d d g d 6d d g d 6d  d! g d 6d | ƒ} | j | } t j | | ƒ | j t | ƒ } t j | | ƒ d d d" g } t i d d t j g d 6d d t j g d 6d  d! t j g d 6d | ƒ} t j t d# t ƒ | j | } Wd  QXt j | | ƒ d$ d% d& d d d" g } t i t j t j t j d d t j g d 6t j t j t j d d t j g d 6t j t j t j d  d! t j g d 6d | ƒ} t j t d# t ƒ | j | } Wd  QXt j | | ƒ t t j j d d ƒ d t d' ƒ ƒ} t j t ƒ  | j d" g Wd  QXt i d( d d g d 6ƒ } t j t d# t ƒ | j d( d) d( g } Wd  QXt i d( t j d( g d 6d d( d) d( g ƒ} t j | | d* t ƒt i t d+ ƒ d 6ƒ } t j t d# t ƒ | j d( d) d( g } Wd  QXt i d t j d g d 6d d( d) d( g ƒ} t j | | d* t ƒt i d d d d g d 6d d d d d g ƒ} t i d d d d t j g d 6d d d d d d" g ƒ} t j t d# t ƒ | j d d d" g } Wd  QXt j | | ƒ d  S(,   Niÿÿÿÿ(   t   makeCustomDataframei
   i   R/   R0   i   i   g      ð?g       @g      @R   R   R(   t   aaaaaaai   i   i   i	   i   t   testg      @i   t   test1t   abcdt   otherR   t   At   Bt   Cg      @t   dR1   t   Et   check_stacklevelt   Ft   Gt   Ht   AABCDi    i   t   check_index_typet   abc(   t   pandas.util.testingR?   R(   R	   R    R-   R   R9   t   headt   strt   ilocR7   R   R   R6   t   assert_produces_warningt   FutureWarningt   Falset   randomt   randnR   R   t   KeyError(	   R#   t   mkdfR$   R%   R&   t   df_vt   res_vt   rowst   dfnu(    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_dups_fancy_indexing€   s€    !

$%+%	'..17t   reasons+   GH-20770. Py2 unreliable warnings catching.c         C   sÏ  t  t j j d d ƒ d d d d d d g ƒ} t j | j d  d  … d d g f t  t j d d g d | j ƒg d d ƒ} t	 j
 t d	 t ƒ' | j d  d  … d d d g f } Wd  QXt	 j | | ƒ t  t j j d
 d ƒ d d d d d d d d d d g	 d d d g ƒ} | j d d !} | j d d g } t	 j | | ƒ | } | j d  d  … d d g f } t	 j | | ƒ | j d d … d  d  … f } | j d d g d d g f } t	 j | | ƒ d  S(   Ni   R(   RE   RF   RG   R   t   axisi   RJ   i	   i   i   R/   R0   i    i   (   R   R   RX   RY   R+   t   concatR   R6   R   R    RU   RV   RW   R7   RT   (   R#   R$   R&   R%   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_dups_fancy_indexing2Ù   s&    -1(0c         C   s½   t  i i d d 6d d 6d d 6d 6i d d 6d	 d 6d
 d 6d 6ƒ } | d j d „  ƒ | d <| d d k } | j | d f j d „  ƒ } | | j | d f <| j d d k s¹ t ‚ d  S(   Nt   aaai   t   bbbi   t   ccci   R/   io   iÞ   iM  R0   c         S   s   |  d k r d S|  S(   NRe   t   _(    (   t   x(    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   <lambda>ÿ   s    RA   Rh   c         S   s   |  d k r d S|  S(   NRe   s   -----(    (   Ri   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyRj     s    i    s   -----(   i    i   (   R   t   applyR   RT   R*   (   R#   R$   t   idxt   temp(    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_indexing_mixed_frame_bugø   s    ""c         C   s€   t  t j j d ƒ d d g d d d d g ƒ} t j t ƒ  | d d	 d
 g Wd  QX| d j d | j d k s| t ‚ d  S(   Ni
   i   R(   R/   i   i   i   i   i   iøÿÿÿi    (   i
   i   (   R   R   RX   R   R   RZ   t   shapeR*   (   R#   R$   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt    test_multitype_list_index_access  s
    c         C   s  t  i i d d 6d d 6d d 6d d 6d d 6d	 d
 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d 6i d d 6d d 6d d 6t j d 6t j d 6t j d
 6t j d 6d d 6t j d 6t j d 6t j d 6t j d 6t j d 6t j d 6d 6i d d 6d d 6d  d 6d! d 6d" d 6d# d
 6d$ d 6d% d 6d& d 6d' d 6d( d 6d) d 6d* d 6d+ d 6d, 6i d- d 6d. d 6d/ d 6d0 d 6d0 d 6d0 d
 6d0 d 6d0 d 6d0 d 6d0 d 6d0 d 6d0 d 6d0 d 6d1 d 6d2 6ƒ j ƒ  } | j d2 d d g ƒ j ƒ  j d3 | j ƒ } t j | | ƒ d  S(4   Nt   nonQCi   i   i   t   10i   t   11i   t   12i   t   13i   t   24i   t   35i   t   46i   t   47i   t   48i   t   59i   i   t   PRuidg        g      ð?t   QCg¨o™ÓeÑ@gm7Á7M @g,¹ŠÅo@g2¥žë?gàšà@íì?gufÌn÷ê?g·µ…ç%é?gæT×Faç?g§ãÖI"ê?g+’ew7ê?gy7»ZÓé?gÌ9Ÿ•ê?g¸Gp#¥é?g¼Cåºê?t   dataiÖ  i×  iØ  iÁ  iÂ  t   yearR(   (	   R   R   R6   t   reset_indext	   set_indext   reindexR(   R    R7   (   R#   R$   R%   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_set_index_nan  sv    











!c         C   sY  t  i d d d d d d g d 6d d d d d d g d 6t d ƒ d 6t d d	 ƒ d
 6ƒ } t j | j d  <| j ƒ  } | j j ƒ  } d d
 g } | d } t j | j d! <t  i d t j d d d d g d 6d d d d d d g d 6t d d d d d d g ƒ d 6d	 d d t j d d g d
 6ƒ } | j	 | | f | j	 | | f <t
 j | | ƒ | j	 | | f | j	 | | f <t
 j | | ƒ t  i d t j d d d d g d 6d d d d d d g d 6d d d d d d g d 6d	 d d t j d d g d
 6ƒ } | j ƒ  } | j	 | | f j | j	 | | f <t
 j | | ƒ | j	 | | f j | j	 | | f <t
 j | | ƒ t  t d d d d d d g d d d d d d g d d d d d d g d d d d d d g ƒ ƒ } | j ƒ  } | d d k } x+ d d g D] } | d | j	 | | f <qýW| d | j	 | d d k d d g f <t
 j | | ƒ d  S("   NR/   R0   t   FCi    i   t   PFi   t   col1i   t   col2i   i   i   i   i
   i   i   i   i   g        g      ð?g      @g      @g       @g      $@RE   RF   i   RG   t   Di   (   i   i    (   i   i   (   R   R   R   R6   RT   R:   R„   t   isnaR   R   R    R7   t   valuest   dict(   R#   R$   t   df2t   maskt   colst   dftR&   t   col(    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_multi_assignT  sF    
""  ""##30'c         C   s6  t  d d d g d d g ƒ } t d t ƒ 8 t d ƒ d d d g | j d <d d g | j d <Wd  QXt  d d d g d d g ƒ } t d t ƒ " t d ƒ d d g | j d <Wd  QXt j | | ƒ d	 t f d
 „  ƒ  Y} t  d d d g d d g ƒ } t d t ƒ 5 t d ƒ | d ƒ | j d <| d ƒ | j d <Wd  QXt  d d d g d d g ƒ } t d t ƒ " t d ƒ | d ƒ | j d <Wd  QXt j | | ƒ t  d d d g d d g ƒ } t d t ƒ 2 t d ƒ | d ƒ | j d <t j	 | j d <Wd  QXt  d d d g d d g ƒ } t j | | ƒ d  S(   NR   i    i   R(   t   recordt   ignorei   i   t   TOc           B   s2   e  Z d  „  Z d „  Z e Z d „  Z d „  Z RS(   c         S   s   | |  _  d  S(   N(   t   value(   R#   R•   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   __init__  s    c         S   s   d j  |  j ƒ S(   Ns   [{0}](   t   formatR•   (   R#   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   __str__   s    c         S   s   |  j  | j  k S(   N(   R•   (   R#   RD   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   __eq__¥  s    c         S   s   |  S(   N(    (   R#   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   view¨  s    (   t   __name__t
   __module__R–   R˜   t   __repr__R™   Rš   (    (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyR”   ›  s
   			(   i   i    (   i   i    (   i   i    (   i   i    (   i   i    (   i   i    (   i   i    (   i   i    (
   R   R   t   TrueR   t   ixR    R7   t   objectR   R6   (   R#   R$   R%   R”   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_setitem_list‰  s8    




c      
   C   sÚ   t  d g t t j d ƒ g d t ƒƒ } | j j s< t ‚ t j	 t
 ƒ  | d Wd  QXt j	 t
 ƒ  | j d Wd  QXt  ƒ  } | j j s— t ‚ t j	 t
 ƒ  | d Wd  QXt j	 t
 ƒ  | j d Wd  QXd  S(   Ni   s
   2011-01-01R   t   2011i    (   R¢   i    (   R¢   i    (   R   R	   R+   t	   TimestampR    R   t   is_all_datesR*   R   R   RZ   R   (   R#   R$   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_string_sliceÂ  s    *	c         C   s\  t  d d d d d d d g g d t d	 ƒ ƒ} | j ƒ  } | j d  d  … d
 d … f j t j ƒ | j d  d  … d
 d … f <t  d d d d d d d g g d t d	 ƒ ƒ} t j | | ƒ | j ƒ  } | j d  d  … d
 d … f j	 d t
 d t
 ƒ | j d  d  … d
 d … f <t  d d d d d d d g g d t d	 ƒ ƒ} t j | | ƒ | j ƒ  } | j d  d  … d f j t j ƒ | j d  d  … d f <t  d d d d d d d g g d t d	 ƒ ƒ} t j | | ƒ | j ƒ  } | j d  d  … d d g f j t j ƒ | j d  d  … d d g f <t  d d d d d d d g g d t d	 ƒ ƒ} t j | | ƒ t  i d d d d g d 6ƒ } | d j t j ƒ | j d  d  … d
 f <t  i d d d d g d 6ƒ } t j | | ƒ t  i d d d d g d 6ƒ } | d j t j ƒ | j d  d  … d f <t  i d d d d g d 6ƒ } t j | | ƒ d  S(   Nt   1t   2t   3s   .4i   g      @R   R(   t   ABCDEFGi    i   i   R    t   numericRE   RF   RG   i   g      ð?g       @g      @g      @i   (   R   R9   R:   RT   t   astypeR   R2   R    R7   t   _convertRž   R   (   R#   t   df_origR$   R&   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_astype_assignmentÖ  s<    !D!J!8!D!))s	   index,vali    i   i   R§   i   c         C   s   | | k s t  ‚ d  S(   N(   R*   (   R#   R   R;   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_index_contains   s    	c         C   s   | | k s t  ‚ d  S(   N(   R*   (   R#   R   R;   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_index_not_contains  s    c         C   s   | | k s t  ‚ d  S(   N(   R*   (   R#   R   R;   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_mixed_index_contains  s    R¦   c         C   s   | | k s t  ‚ d  S(   N(   R*   (   R#   R   R;   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_mixed_index_not_contains$  s    c         C   sØ   t  j d d d d g ƒ } t  j d d d d g ƒ } t  j d d d d g ƒ } xJ | | f D]< } d | k sv t ‚ d	 | k sˆ t ‚ d | k s^ t ‚ q^ Wd | k s° t ‚ d	 | k sÂ t ‚ d | k sÔ t ‚ d  S(
   Ni    i   i   i   gš™™™™™¹?gš™™™™™ñ?gš™™™™™@gffffff
@g      ð?(   R+   t
   Int64Indext   UInt64IndexR,   R*   (   R#   t   integer_indext   uinteger_indext   float_indexR   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_contains_with_float_index,  s    c         C   s’  t  d t ƒ }t d ƒ xTt t d ƒ ƒ t t d ƒ d t d d ƒ ƒg D]} | j j ƒ  si t ‚ xd „  d „  d	 „  g D]ç } | j ƒ  } d
 | | ƒ d <| j j	 ƒ  s¹ t ‚ | | ƒ d d
 k sÕ t ‚ | j ƒ  } d
 | | ƒ d <| j } d
 | k r%t
 | j j ƒ  d
 g ƒ } n  t j | j | ƒ | j ƒ  } d
 | | ƒ d <| j j ƒ  s‚ t ‚ q‚ WqN Wxt t d ƒ d t j d ƒ ƒg D]î } | j j	 ƒ  s±t ‚ xÐ d „  d „  d „  g D]¶ } | j ƒ  } d
 | | ƒ d <| j j	 ƒ  st ‚ | | ƒ d d
 k st ‚ | j ƒ  } d
 | | ƒ d <t j | j | j ƒ | j ƒ  } d
 | | ƒ d <| j j ƒ  sÊt ‚ qÊWq–WWd  QXd  S(   NR’   R“   i   R   i   i   c         S   s   |  j  S(   N(   RŸ   (   Ri   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyRj   L  s    c         S   s   |  j  S(   N(   R   (   Ri   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyRj   M  s    c         S   s   |  S(   N(    (   Ri   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyRj   N  s    i    gš™™™™™¹?g        t   0g      @c         S   s   |  j  S(   N(   RŸ   (   Ri   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyRj   c  s    c         S   s   |  j  S(   N(   R   (   Ri   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyRj   d  s    c         S   s   |  S(   N(    (   Ri   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyRj   e  s    (   R   Rž   R   R   R   R   t
   is_integerR*   R:   t   is_floatingR	   t   tolistR    R-   t	   is_objectR   R"   (   R#   t   st   indexert   s2t   expt   idxr(    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_index_type_coercion;  sH    
	(		+	(!   R›   Rœ   t   __doc__R'   R.   R>   R`   R   t   markt   skipifR   Rd   Rn   Rp   Rƒ   R‘   R¡   R¥   R®   t   parametrizeR	   R   R)   R6   R¯   R+   R³   R´   R°   R±   R²   R¸   RÃ   (    (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyR      sP   			'	Y				@	5	9		*!!!3!!0**	t   TestMiscc           B   s˜   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   sz   t  i t j j d ƒ d 6t j j d ƒ d 6ƒ } d | d <t j t  i | d d 6| d d 6d g d d 6ƒ | ƒ d  S(   Ni
   g        g      ð?R/   (   R   R   RX   t   randR    R7   (   R#   R$   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_float_index_to_mixedw  s    2
c         C   s	  t  i d d d g d 6d d d g d 6d d	 d
 d g ƒ} d | j | j d  <t  i d d d g d 6d d d g d 6d | j ƒ} t j | | ƒ t  i d d d g d 6d d d g d 6d d	 d
 d g ƒ} | j ƒ  } | j | j | j | j <t j | | ƒ d  S(   Ni   i   i   R/   i   i   R0   R   g      ð?g       @g      @(   R   R   R   R    R7   R:   (   R#   R$   R&   RŒ   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt&   test_float_index_non_scalar_assignment  s    ;5;c         C   s˜   t  d d d g d d d d g ƒ} x3 | j ƒ  D]% \ } } | j | | k s1 t ‚ q1 Wx7 t t | ƒ ƒ D]# } | j | | d k sm t ‚ qm Wd  S(   Ni   i   i   R   gš™™™™™¹?gš™™™™™É?g333333Ó?(   R   t	   iteritemst   atR*   R   t   lent   iat(   R#   R¾   t   elt   itemt   i(    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_float_index_at_iatŠ  s
    $c         C   s€   t  d d d d d g d d d d	 d d g ƒ} d
 | j d <| j d d
 k sV t ‚ d | j d <| j d d k s| t ‚ d  S(   Ni   i   i   i   i   R   R/   R0   R1   i   i    i   (   R   RÍ   RÏ   R*   (   R#   R¾   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_mixed_index_assignment‘  s
    0c         C   sv   t  d d d d d g d d d d	 d d g ƒ} t j t ƒ  | j d
 Wd  QXt j t ƒ  | j d Wd  QXd  S(   Ni   i   i   i   i   R   R/   R0   R1   i    (   R   R   R   RZ   RÍ   (   R#   R¾   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_mixed_index_no_fallback™  s
    0c         C   s  d „  } t  j d ƒ j d d ƒ } d d d d g } t | d	 | d
 t d ƒ ƒ} d | j d d d … d d d … f } | j ƒ  } | j d d … d d … f c d 9<| | | | ƒ xH | | | g D]7 } | d j d ƒ | d <| d j d j	 ƒ | d <qÎ W| | | | ƒ d  S(   Nc   
   
   S   s¤  t  d ƒ d d d g t d d ƒ } } } d d g d d g t d d ƒ } } } |  j ƒ  }	 | |	 j | | f <t j |	 | ƒ |  j ƒ  }	 | |	 j | | f <t j |	 | ƒ |  j ƒ  }	 t d t ƒ " t	 d	 ƒ | |	 j
 | | f <Wd  QXt j |	 | ƒ |  j ƒ  }	 t d t ƒ " t	 d	 ƒ | |	 j
 | | f <Wd  QXt j |	 | ƒ |  j ƒ  }	 t d t ƒ " t	 d	 ƒ | |	 j
 | | f <Wd  QXt j |	 | ƒ d  S(
   Nt   bcdi   i   i   i   t   joet   jolieR’   R“   (   R9   t   sliceR:   R   R    R7   RT   R   Rž   R   RŸ   (
   R$   t   rhsR=   t   lbl_onet   idx_onet	   slice_onet   lbl_twot   idx_twot	   slice_twoR<   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt	   run_tests¤  s.    ,)


i   i   i   t   jimR×   RØ   t   jolineR(   R   t   abcdeiþÿÿÿi   i    iÿÿÿÿi   i   R   s   @{0}(
   R   R"   R8   R   R9   RT   R:   R«   t   mapR—   (   R#   Rá   t   xsRŽ   R$   RÚ   R=   t   frame(    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_rhs_alignment¡  s    	 )%c            s0  t  j } ‡  ‡ f d †  } xt d d ƒ t j d ƒ d t j d d d ƒ g D]Ø ‰  t ˆ  ƒ ‰  t t j d ƒ d ˆ  ƒ‰ | | ˆ  d d  d … | d d  d … ƒ | | d  ˆ  d d … | d  d	 d … ƒ | | ˆ  d
 ˆ  d d … | d
 d	 d … ƒ | | ˆ  d ˆ  d
 d … | d  ƒ qP Wd  S(   Nc            sg   t  j ˆ j |  ˆ j | ƒ ˆ  j sc t  j ˆ |  ˆ j | ƒ t  j ˆ j |  ˆ j | ƒ n  d  S(   N(   R    R!   R   RT   Rº   (   t   l_slct   i_slc(   Rl   R¾   (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   assert_slices_equivalentÜ  s    	RE   i   id   i–   R   i	   iÿÿÿÿi   i   i    (   R+   t
   IndexSliceR   R   R"   t   linspaceR	   R   (   R#   t   SLCRë   (    (   Rl   R¾   sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt)   test_str_label_slicing_with_negative_stepÙ  s    	++/c         C   sÕ   t  t j d ƒ d t d d ƒ ƒ} t j t d d ƒ | d  d  d … Wd  QXt j t d d ƒ | j d  d  d … Wd  QXt d t	 ƒ ? t
 d ƒ t j t d d ƒ | j d  d  d … Wd  QXWd  QXd  S(	   Ni   R   RE   t   matchs   slice step cannot be zeroi    R’   R“   (   R   R   R"   R   R   R   R   R   R   Rž   R   RŸ   (   R#   R¾   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt    test_slice_with_zero_step_raisesí  s    $
c         C   sš   t  i d d d g d 6d d d g d 6d d d	 g d
 6ƒ j d
 ƒ } | j ƒ  } t d d d d ƒ } | | j d	 <d d g | j d	 <t j | | ƒ d  S(   Ni   i   i   Ri   i   t   yiûÿÿÿi    i   t   zi	   ic   (   R   R   R:   R‹   R   R    R7   (   R#   R$   R&   RÚ   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt,   test_indexing_assignment_dict_already_existsø  s    c      
   C   s   t  i d d d g d 6d d d g d 6ƒ } t d t ƒ ( t d	 ƒ | j g  d  d  … f } Wd  QX| j d  d  … d f j t j k s t	 ‚ t
 j | j d  d  … d f | j d  d  … d
 f ƒ t d t ƒ E t d	 ƒ t
 j | j d  d  … d f | j d  d  … d
 f ƒ Wd  QXd  S(   Ni   i   i   R/   R0   t   b2t   b3R’   R“   i    (   R   R   Rž   R   RŸ   R   R   R   R2   R*   R    R!   RT   (   R#   R$   RŒ   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_indexing_dtypes_on_empty  s    ,
+6
c         C   s´   x­ d d d g D]œ } t  d t | ƒ ƒ } d | j t d ƒ <t j | j t d ƒ t  d d d g ƒƒ d	 | j t d
 ƒ <t j | j t d
 ƒ t  d d d d g ƒƒ q Wd  S(   Ni   i?B i@B R   i*   i   g      E@i    i+   i   g     €E@(   R   R   R   R    R!   (   R#   Ri   R¾   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_range_in_series_indexing  s    ,c         C   s  t  d d g d d g g ƒ } t j d  d  … d f t j d d  d  … f t j d g d g f t j d d g f t j d g d f t j d t j d t d  d  d  ƒ d d g t j d d g ƒ t d d g ƒ g } x6 | D]. } t | ƒ } t	 | j
 | t  ƒ sà t ‚ qà Wd  S(   Ni    i   i   i   (   i   i   (   R   R+   Rì   RÙ   t   NoneR   R   R   R   t
   isinstanceR   R*   (   R#   R$   t   slicest   slice_t   tslice_(    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_non_reducing_slice  s    

	c         C   s´   d g t  d g ƒ t j d g ƒ g } t i d d g d 6d d g d 6d d d g ƒ} t j d  d  … d g f } x8 | D]0 } t | ƒ } t j | j	 | | j	 | ƒ q| Wd  S(   NRE   i   i   i   i   RF   R   (
   R   R   R   R   R+   Rì   R   R    R7   R   (   R#   Rû   R$   R&   t   subsetR%   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_list_slice/  s    '2c         C   sØ   t  i d d g d 6d d g d 6t t g d 6ƒ } t | d d  ƒ} t j d  d  … d g f } | | k ss t ‚ t | d  d	 t ƒ} t j d  d  … d d g f } t | d g ƒ } d g } | | k sÔ t ‚ d  S(
   Ni   i   RE   R1   RH   RF   RG   Rü   t   include_bool(   R   Rž   RW   R   Rù   R+   Rì   R*   (   R#   R$   R%   R&   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_maybe_numeric_slice8  s    3	c         C   sÙ   t  t j d ƒ j d d ƒ d t d ƒ d t d ƒ ƒ} t  d d t d ƒ d t d	 ƒ ƒ} | | j ƒ  } t  t j d
 d t j g d d t j g t j g d g ƒ d t d ƒ d t d ƒ ƒ} t j	 | | ƒ d  S(   Ng      "@i   R   RP   R(   t   ABCi   R3   t   ABg        g      ð?g      @g      @(
   R   R   R"   R8   R9   t   notnullR   R6   R    R7   (   R#   R$   t   index_dfR%   R&   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt#   test_partial_boolean_frame_indexingD  s    $c         C   sœ   t  i d d g d 6d d g d 6ƒ } x d D] } t | | ƒ q- Wt d t ƒ  t d ƒ t | d ƒ Wd  QXt j | ƒ } ~ | ƒ  d  k s˜ t ‚ d  S(   Ni    i   R/   i   i   R0   R   RT   RÍ   RÏ   R’   R“   RŸ   (   R   RT   RÍ   RÏ   (	   R   t   getattrR   Rž   R   t   weakreft   refRù   R*   (   R#   R$   R   t   wr(    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_no_reference_cycleQ  s    &
(   R›   Rœ   RÊ   RË   RÓ   RÔ   RÕ   Rè   Rï   Rñ   Rô   R÷   Rø   Rþ   R   R  R  R  (    (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyRÈ   u  s    						8			
							t   TestSeriesNoneCoercionc        	   B   sà   e  Z d  d d g e j d d g f d d d g e j d d g f e d d  d  ƒ e d d  d ƒ e d d  d ƒ g e e d d  d ƒ e d d  d ƒ g f d d d	 g d d d	 g f g Z d
 „  Z d „  Z	 d „  Z
 d „  Z RS(   i   i   i   g      ð?g       @g      @iÐ  R   R   R4   c         C   sP   xI |  j  D]> \ } } t | ƒ } d  | d <t | ƒ } t j | | ƒ q
 Wd  S(   Ni    (   t   EXPECTED_RESULTSR   Rù   R    R!   (   R#   t
   start_datat   expected_resultt   start_seriest   expected_series(    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_coercion_with_setitemk  s
    
c         C   sS   xL |  j  D]A \ } } t | ƒ } d  | j d <t | ƒ } t j | | ƒ q
 Wd  S(   Ni    (   R  R   Rù   R   R    R!   (   R#   R  R  R  R  (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_coercion_with_loc_setitems  s
    c         C   sZ   xS |  j  D]H \ } } t | ƒ } d  | | | d k <t | ƒ } t j | | ƒ q
 Wd  S(   Ni    (   R  R   Rù   R    R!   (   R#   R  R  R  R  (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt%   test_coercion_with_setitem_and_series{  s
    c         C   s]   xV |  j  D]K \ } } t | ƒ } d  | j | | d k <t | ƒ } t j | | ƒ q
 Wd  S(   Ni    (   R  R   Rù   R   R    R!   (   R#   R  R  R  R  (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt!   test_coercion_with_loc_and_seriesƒ  s
    N(   R›   Rœ   R   R6   R    R
   Rù   R  R  R  R  R  (    (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyR  ]  s   0'!			t   TestDataframeNoneCoercionc        	   B   sà   e  Z d  d d g e j d d g f d d d g e j d d g f e d d  d  ƒ e d d  d ƒ e d d  d ƒ g e e d d  d ƒ e d d  d ƒ g f d d d	 g d d d	 g f g Z d
 „  Z d „  Z	 d „  Z
 d „  Z RS(   i   i   i   g      ð?g       @g      @iÐ  R   R   R4   c         C   sj   xc |  j  D]X \ } } t i | d 6ƒ } d  | j d d g f <t i | d 6ƒ } t j | | ƒ q
 Wd  S(   NR   i    (   t   EXPECTED_SINGLE_ROW_RESULTSR   Rù   R   R    R7   (   R#   R  R  t   start_dataframet   expected_dataframe(    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_coercion_with_locš  s
    c         C   sp   xi |  j  D]^ \ } } t i | d 6ƒ } d  | | d | d d k <t i | d 6ƒ } t j | | ƒ q
 Wd  S(   NR   i    (   R  R   Rù   R    R7   (   R#   R  R  R  R  (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt(   test_coercion_with_setitem_and_dataframe¢  s
    c         C   ss   xl |  j  D]a \ } } t i | d 6ƒ } d  | j | d | d d k <t i | d 6ƒ } t j | | ƒ q
 Wd  S(   NR   i    (   R  R   Rù   R   R    R7   (   R#   R  R  R  R  (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt$   test_none_coercion_loc_and_dataframe«  s
    c         C   sû   t  i d d d g d 6d d d g d 6t d	 d d ƒ t d	 d d ƒ t d	 d d ƒ g d
 6d d d
 g d 6ƒ } d  | j d <t  i t j d d g d 6t j d d g d 6t t d	 d d ƒ t d	 d d ƒ g d
 6d  d d
 g d 6ƒ } t j | | ƒ d  S(   Ni   i   i   R/   g      ð?g       @g      @R0   iÐ  R1   RH   i    (	   R   R    Rù   RT   R   R6   R
   R    R7   (   R#   R  RÁ   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_none_coercion_mixed_dtypes´  s    'N(   R›   Rœ   R   R6   R    R
   Rù   R  R  R  R  R  (    (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyR  Œ  s   0'!					c          C   sS   t  j d d g ƒ }  t |  d ƒ t |  d  d ƒ t t  j d d g ƒ d ƒ d  S(   Ni    i   i   iÿÿÿÿ(   R   t   asarrayR   R   (   t   indices(    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_validate_indices_okÆ  s    c          C   sB   t  j d d g ƒ }  t j t d d ƒ t |  d ƒ Wd  QXd  S(   Ni    iþÿÿÿRð   s   'indices' containsi   (   R   R  R   R   R   R   (   R   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_validate_indices_lowÍ  s    c          C   sE   t  j d d d g ƒ }  t j t d d ƒ t |  d ƒ Wd  QXd  S(   Ni    i   i   Rð   s   indices are out(   R   R  R   R   t
   IndexErrorR   (   R   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_validate_indices_highÓ  s    c           C   s<   t  j t d d ƒ! t t j d d g ƒ d ƒ Wd  QXd  S(   NRð   s   indices are outi    i   (   R   R   R#  R   R   R   (    (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   test_validate_indices_emptyÙ  s    c          C   sÇ   t  j i t  j j j d d g ƒ d 6t  j j j d d g ƒ d 6d d d	 g ƒ}  t  j t  j j j d d g ƒ d d d g d
 d ƒ} |  j d } t j | | ƒ |  j	 d } t j | | ƒ d  S(   Ni   i   RE   i   i   RF   R   R/   R0   R   i    (
   R+   R   t   coret   arrayst   integer_arrayR   R   R    R!   RT   (   R$   R&   R%   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt"   test_extension_array_cross_sectionÞ  s    	!c          C   s¸   t  j i t  j j j d d g ƒ d 6t j d d g ƒ d 6d d d g ƒ}  |  j d } t  j d d g d t	 d d d g d	 d ƒ} t
 j | | ƒ |  j d
 } t
 j | | ƒ d  S(   Ni   i   RE   RF   R   R/   R0   R   R   i    (   R+   R   R&  R'  R(  R   R   R   R   R    R    R!   RT   (   R$   R%   R&   (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt+   test_extension_array_cross_section_convertsí  s    	-(,   RÄ   R    t   warningsR   R   R	  t   numpyR   R   t   pandas.compatR   R   R   t   pandas.core.dtypes.commonR   R   t   pandasR+   R   R	   R
   R   t   pandas.core.indexingR   R   R   t   pandas.tests.indexing.commonR   R   RQ   t   utilt   testingR    R   RÈ   R    R  R  R!  R"  R$  R%  R)  R*  (    (    (    sB   lib/python2.7/site-packages/pandas/tests/indexing/test_indexing.pyt   <module>   s0   "ÿ ÿ [è/:					