ó
šxŠ\c           @   sÎ   d  Z  d d l m Z m Z m Z d d l Z d d l Z d d l m	 Z	 m
 Z
 d d l Z d d l m Z m Z m Z m Z m Z d d l m Z d d l m Z d d l m Z d	 e f d
 „  ƒ  YZ d S(   s*    test positional based indexing with iloc iÿÿÿÿ(   t   catch_warningst   filterwarningst   simplefilterN(   t   lmapt   lrange(   t	   DataFramet   Seriest   concatt
   date_ranget   isna(   t	   is_scalar(   t   Base(   t   testingt   TestiLocc           B   sp  e  Z d  „  Z d „  Z d „  Z e j j d d d 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 g e d! d d! ƒ e j d g ƒ g ƒ e j j d d g e j d g ƒ g ƒ d „  ƒ ƒ Z d „  Z d „  Z  d „  Z! d  „  Z" RS("   c            sƒ  t  t j j d# ƒ d t d ƒ ƒ‰  d } t j t d | ƒ. ˆ  j d  d  … d d d	 d
 d d g f Wd  QXt j t ‡  f d †  ƒ t j t ‡  f d †  ƒ t j t ‡  f d †  ƒ ˆ  d ‰ t j t ‡ f d †  ƒ t j t ‡ f d †  ƒ d } t j t d | ƒ ˆ  j d Wd  QXt j t ‡  f d †  ƒ t j t d | ƒ ˆ j d Wd  QXt j t ‡ f d †  ƒ ˆ  j d  d  … d d … f } ˆ  j d  d  … d d  … f } t	 j
 | | ƒ ˆ  j d  d  … d d … f } ˆ  j d  d  … d  d … f } t	 j
 | | ƒ ˆ  j d  d  … d d d … f } ˆ  j d  d  … d  d d … f } t	 j
 | | ƒ ˆ  j d  d  … d d d … f } ˆ  j d  d  … d d  d … f } t	 j
 | | ƒ ˆ  j d  d  … d d … f } ˆ  j d  d  … d  d … f } t	 j
 | | ƒ ˆ  j d  d  … d d … f } ˆ  j d  d  … d  d … f } t	 j
 | | ƒ ˆ  j d  d  … d d d … f } ˆ  j d  d  … d  d … f } t	 j
 | | ƒ ˆ  j d  d  … d d … f } ˆ  j d  d  … d  d … f } t	 j
 | | ƒ ˆ j d d !} ˆ j d } t	 j | | ƒ ˆ j d } ˆ j d  } t	 j | | ƒ ˆ j d d  d … } ˆ j d  d  d … } t	 j | | ƒ d „  } t  t j j d d	 ƒ d t d ƒ ƒ‰ | ˆ j d  d  … d	 d
 … f t  d ˆ j ƒ ƒ | ˆ j d  d  … d d
 … f ˆ j d  d  … d g f ƒ | ˆ j d d  !ˆ j d g ƒ t j t ‡ f d! †  ƒ t j t ‡ f d" †  ƒ d  S($   Ni   i   t   columnst   ABCDEs%   positional indexers are out-of-boundst   matchi    i   i   i   i   c              s   ˆ  j  d d g S(   Ni   i   (   t   iloc(    (   t   df(    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyt   <lambda>   s    c              s   ˆ  j  d d g S(   Ni   iâÿÿÿ(   R   (    (   R   (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyR      s    c              s   ˆ  j  d g S(   Nid   (   R   (    (   R   (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyR      s    t   Ac              s   ˆ  j  d g S(   Nid   (   R   (    (   t   s(    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyR   "   s    c              s   ˆ  j  d g S(   Niœÿÿÿ(   R   (    (   R   (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyR   #   s    s*   single positional indexer is out-of-boundsi   c              s   ˆ  j  d S(   Niâÿÿÿ(   R   (    (   R   (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyR   )   s    c              s   ˆ  j  d S(   Niâÿÿÿ(   R   (    (   R   (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyR   0   s    i
   iüÿÿÿiöÿÿÿiÿÿÿÿiõÿÿÿi   i   c         S   s%   t  |  ƒ |  j t j |  | ƒ d  S(   N(   t   strt   dtypest   tmt   assert_frame_equal(   t   resultt   expected(    (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyt   checka   s    
t   ABt   indexi   c              s   ˆ  j  d d d g S(   Ni   i   i   (   R   (    (   t   dfl(    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyR   k   s    c              s   ˆ  j  d  d  … d f S(   Ni   (   R   (    (   R   (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyR   l   s    (   i   i   (   R   t   npt   randomt   random_samplet   listt   pytestt   raisest
   IndexErrorR   R   R   t   assert_series_equalt   randnR   (   t   selft   msgR   R   R   (    (   R   R   R   s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyt   test_iloc_exceeds_bounds   sr    $/
"""""	'2<!c         C   sr   |  j  d d d d i d d 6d d 6d	 d 6d
 d d g ƒ|  j  d d d d d d
 d d d d d g d t ƒd  S(   Nt   integerR   i   t   ixi   i    i   i   i   t   typst   intst   uintst   indexert   labelst   mixedt   tst   floatst   emptyt   fails(   t   check_resultR&   (   R)   (    (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyt   test_iloc_getitem_intn   s
    (c         C   sr   |  j  d d d d i d d 6d d 6d	 d
 6d d d g ƒ|  j  d d d d d d d d d d d g d t ƒd  S(   Ns   neg intR   iÿÿÿÿR-   i   i    i	   i   i   i   R.   R/   R0   R1   R2   R3   R4   R5   R6   R7   (   R8   R&   (   R)   (    (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyt   test_iloc_getitem_neg_intw   s
    (t   dimsi   i   c         C   sp   | d k r$ t  t j d ƒ ƒ } n! t t j d ƒ j d d ƒ ƒ } t j t d d ƒ | j d Wd  QXd  S(   Ni   i
   id   R   s   Cannot index by location indext   a(	   R   R    t   arangeR   t   reshapeR$   R%   t	   TypeErrorR   (   R)   R;   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyt    test_iloc_getitem_invalid_scalar€   s
    !c         C   s¸   t  j d d d g ƒ } | j ƒ  } t j i d d d g d 6d d	 d
 g d 6d d d g d 6d d d d g ƒ} | j | t j | | ƒ | j d  d  … | f t j | | ƒ d  S(   Ni   i   iÿÿÿÿid   ie   if   R   ig   ih   ii   t   Bij   ik   il   t   CR   i   (   R    t   arrayt   copyt   pdR   R   R   t   assert_numpy_array_equal(   R)   t   array_with_neg_numberst
   array_copyR   (    (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyt-   test_iloc_array_not_mutating_negative_indicesŒ   s    	c         C   só  |  j  d d d d d g d i d d d g d 6d d d	 g d 6d d d
 g d 6d d d g ƒ|  j  d d d g d i d g d 6d	 g d 6d
 g d 6d d d g ƒ|  j  d d d d d g d d d d g d d d d d d g d t ƒ|  j  d d t j d d d g ƒ d i d d d g d 6d d d	 g d 6d d d
 g d 6d d d g ƒ|  j  d d t j d g ƒ d i d g d 6d	 g d 6d
 g d 6d d d g ƒ|  j  d d t j d d d g ƒ d d d d g d d d d d d g d t ƒd  S(   Ns   list intR   i    i   i   R-   i   i   i   i   R.   R/   R0   R1   R2   R3   R4   R5   R6   R7   s	   array int(   R8   R&   R    RC   (   R)   (    (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyt   test_iloc_getitem_list_int›   s$    61*$ 1$c         C   s(  t  i d d d g d 6d d d g d 6ƒ } | d } | j d	 } | j d
 } t j | | ƒ | j d	 g } | j d
 g } t j | | ƒ | j d	 } | j d
 } | | k s¼ t ‚ | j d	 g } | j d
 g } t j | | ƒ t d g d d g ƒ} | j d g } t j | | ƒ d  S(   Ni   i   i   R   i   i   i   RA   i    iýÿÿÿR<   R   iÿÿÿÿ(   R   R   R   R'   R   t   AssertionErrorR   (   R)   R   R   R   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyt/   test_iloc_getitem_neg_int_can_reach_first_index´   s"    ,
c         C   sV  |  j  d d d d d d g d i d d d d g d 6d d d d	 g d 6d
 d d g d d d g ƒt i d  d 6d d 6i d d 6d d 6g ƒ } t i d d 6d d 6i d d 6d d 6g ƒ } t | | g d d ƒ} | j d } t | ƒ sö t ‚ | j d d  d  … f } t t j	 d d d g d d d d d g d d ƒ} t
 j | | ƒ d  S(   Ns   list int (dups)R   i    i   i   R-   i   i   i	   t   objst   seriest   frameR.   R/   R0   R   RA   i   t   axisR   t   name(   i    i    (   R8   R   t   NoneR   R   R	   RK   R   R    t   nanR   R'   (   R)   t   df1t   df2R   R   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyt   test_iloc_getitem_dupsÏ   s    ,..*	c      	   C   st   t  d t d d ƒ ƒ } |  j d d | j d i d d d g d	 6d
 d d g d 6d d d g d 6d d d g ƒd  S(   NR   i   i   s
   array likeR   R-   i   i   i    i   i	   i   i   R.   R/   R0   (   R   R   R8   R   (   R)   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyt   test_iloc_getitem_arrayä   s    6c         C   so   t  t t  t g } |  j d d | d | d d d g ƒ|  j d d | d | d d d d	 d
 d g d t ƒd  S(   Nt   boolR   R-   R.   R/   R0   R2   R3   R4   R5   R6   R7   (   t   Truet   FalseR8   R&   (   R)   t   b(    (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyt   test_iloc_getitem_boolì   s
    %c         C   sŸ   |  j  d d t d d ƒ d i d d g d 6d d	 g d 6d d
 g d 6d d d g ƒ|  j  d d t d d ƒ d t d d ƒ d d d d d d g d t ƒd  S(   Nt   sliceR   i   i   R-   i   i   i    i   i   R.   R/   R0   R1   R2   R3   R4   R5   R6   R7   (   R8   R]   R&   (   R)   (    (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyt   test_iloc_getitem_sliceõ   s    -c         C   sQ  t  t j j d d ƒ d d d d d g ƒ} t  t j j d d d d ƒj d d	 ƒ d d d
 g ƒ} t | | g d d ƒ} t j | j	 d  d  … d  d … f | ƒ t j | j	 d  d  … d d  … f | ƒ t | | g d d ƒ} t j | j	 d  d  … d  d	 … f | ƒ t j | j	 d  d  … d	 d  … f | ƒ t | | j	 d  d  … d g f g d d ƒ} t j | j	 d  d  … d d … f | ƒ t | | g d d ƒ} t j | j	 d d … d  d	 … f | ƒ t j | j	 d d … d	 d  … f | ƒ t j | j	 d d  … d  d	 … f | ƒ t j | j	 d d  … d	 d  … f | ƒ d  S(   Ni
   i   R   R   RA   i    t   sizei   i   RB   RP   i   i   (
   R   R    R!   R(   t   randintR>   R   R   R   R   (   R)   RT   RU   R   t   exp(    (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyt   test_iloc_getitem_slice_dups   s     -*)))).))))c         C   s  |  j  } d | j d	 <| j d
 } | d k s5 t ‚ d | j d  d  … d d … f <| j d  d  … d d … f } | j d  d  … d d … f } t j | | ƒ t d d d d d g ƒ} | j d d c !d 7+t d d d g d d d d g ƒ} t j | | ƒ d  S(   Ni   i    i   i   R   i   i   i   (   i   i   (   i   i   (   t
   frame_intsR   RK   R   R   R   R'   (   R)   R   R   R   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyt   test_iloc_setitem  s    	$c         C   sé   t  t j d ƒ j d ƒ d d d d g d d d d g ƒ} | j d d	 g d	 d
 g f | j d d	 g d	 d
 g f c d 7<t  t j d d d d d d d d d g	 ƒ j d ƒ d d d d g d d d d g ƒ} t j | | ƒ d  S(   Ni	   i   R   R   RA   RB   R   i    i   i   id   ie   if   ih   ii   i   i   i   (   i   i   (   i   i   (   R   R    R=   R>   R   RC   R   R   (   R)   R   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyt   test_iloc_setitem_list+  s    *%3!c         C   s­   t  d d d d g ƒ } t  d d d d g ƒ } | j ƒ  } d d g | j t  d d g ƒ <t j | | ƒ | j ƒ  } d d g | j t j d d g ƒ <t j | | ƒ d  S(   Ni    i   i   i   iÿÿÿÿiþÿÿÿ(   R   RD   R   R   R'   RE   t   Index(   R)   t   s_origR   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyt   test_iloc_setitem_pandas_object8  s    "c         C   s)  t  i d  d 6d d 6i d d 6d d 6g ƒ } t  i d d 6d d 6i d d 6d d 6g ƒ } t | | g d d ƒ} | j d ƒ } | d j d ƒ | d <t j | j d  d  … d	 f ƒ } | | j } | j | d f | j | d	 f <t	 j
 | | ƒ t  i d d g d	 6d d g d 6ƒ } d d g | _ | d =t	 j
 | | ƒ | j d	 d g d	 d g f | j d	 d g d	 d g f <t	 j
 | | ƒ | j d d	 g d	 d g f j d
 t ƒ | j d d	 g d	 d g f <| j d d	 g d	 d g f j d
 t ƒ | j d d	 g d	 d g f <t	 j
 | | ƒ d  S(   NR   i   RA   i   i   i   RP   t   float64i    t   drop(   R   RR   R   t   fillnat   astypeR    t   isnanR   R   R   R   R   t   reset_indexRY   (   R)   RT   RU   R   R   t   indst   mask(    (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyt   test_iloc_setitem_dupsE  s(    .." &8""""c         C   sü  t  t j j d d ƒ d t d d d ƒ d t d d d ƒ ƒ} | j d } t d	 t ƒ " t d
 d t	 ƒ | j
 d } Wd  QXt j | | ƒ | j d } t d	 t ƒ " t d
 d t	 ƒ | j
 d } Wd  QX| | k sá t ‚ | j d d !} t d	 t ƒ % t d
 d t	 ƒ | j
 d d !} Wd  QXt j | | ƒ | j d  d  … d d … f } t d	 t ƒ 4 t d
 d t	 ƒ | j
 d  d  … d d … f } Wd  QXt j | | ƒ | j d d d g } t d	 t ƒ + t d
 d t	 ƒ | j
 d d d g } Wd  QXt j | | ƒ | j d d d g d d g f } t d	 t ƒ 7 t d
 d t	 ƒ | j
 d d d g d d g f } Wd  QXt j | | ƒ | j d d d g d d g f } t d	 t ƒ 7 t d
 d t	 ƒ | j
 d d d g d d g f } Wd  QXt j | | ƒ | j d d d d g d d g f } t d	 t ƒ : t d
 d t	 ƒ | j
 d d d d g d d g f } Wd  QXt j | | ƒ t d t d d ƒ ƒ } | j | j } t d	 t ƒ . t d
 d t	 ƒ | j
 d d d d g } Wd  QXt j | | ƒ d  S(   Ni
   i   R   i    i   i   R   i   t   recordt   ignores   \n.ixi   i   i   i   i   iÿÿÿÿi   (   i   i   (   i   i   (   R   R    R!   R(   R   R   R    RY   R   t   DeprecationWarningR-   R   R'   RK   R   R   R   (   R)   R   R   Ra   R   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyt   test_iloc_getitem_framee  s`    *%"("(%+c         C   s$  t  t j j d d ƒ d t d ƒ d t d ƒ ƒ} | j d } | j d } | | k s_ t ‚ | j d  d  … d
 d … f } | j d  d  … d g f } t j	 | | ƒ | j d } | j d } | | k sÖ t ‚ t
 j t | j j t d d g ƒ ƒ t
 j t | j j t d d g ƒ ƒ d  S(   Ni
   i   R   t
   abcdefghijR   t   ABCDi   R[   RA   i   i   RB   iÿÿÿÿt   jt   Di   (   i   i   (   R[   RA   (   iÿÿÿÿiÿÿÿÿ(   Rx   Ry   (   R   R    R!   R(   R#   R   t   locRK   R   R   R$   R%   R&   t   __getitem__t   tuplet
   ValueError(   R)   R   R   Ra   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyt    test_iloc_getitem_labelled_frame¥  s    %c         C   sI  t  j j d d ƒ } t d d d ƒ} t d ƒ } t | d | d | ƒ} | j ƒ  | j d d	 … d
 d … f } t | ƒ | j	 t | d d	 … d
 d … f d | d d	 !d | d
 d !ƒ} t
 j | | ƒ t d ƒ | _ | j d d	 … d
 d … f } t | ƒ | j	 t | d d	 … d
 d … f d | d d	 !d t d ƒ ƒ} t
 j | | ƒ t  j j d d ƒ } t t d
 d d ƒ ƒ } t t d
 d d ƒ ƒ } t | d | d | ƒ} | j j d
 j | j d d	 … d d … f } t | ƒ | j	 t | d d	 … d d … f d | d d	 !d | d d !ƒ} t
 j | | ƒ d  S(   Ni   i   t   20130101t   periodsRw   R   R   i   i   i    i   t   aaaat   aai   i   i   (   R    R!   R(   R   R#   R   t   describeR   R   R   R   R   R   t   ranget   _datat   blockst   mgr_locs(   R)   t   arrR   R   R   R   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyt   test_iloc_getitem_doc_issue½  s:    

,
,
,c         C   sâ  t  t j j d d ƒ d t d ƒ d t d ƒ ƒ} d | j d <| j d } | d k s_ t ‚ d | j d  d  … d	 d
 … f <| j d  d  … d	 d
 … f } | j d  d  … d	 d
 … f } t j | | ƒ t	 t j j d ƒ d t
 d d d	 ƒ ƒ} d | j d <| j d } | d k s"t ‚ d | j d *| j d  } | j d  } t j | | ƒ t	 d g d ƒ } d d	 d g | j d d  d	 … <d d
 d g | j d d  d	 … <| } t	 d d d	 d
 d d g ƒ } t j | | ƒ d  S(   Ni
   i   R   Rv   R   Rw   i   i    i   i   i   iÿÿÿÿi   i   (   i   i   (   i   i   (   R   R    R!   R(   R#   R   RK   R   R   R   R   R'   (   R)   R   R   R   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyt   test_iloc_setitem_seriesê  s.    $*c      
   C   sI  t  t d t j d d d ƒd t j d d d d ƒƒ ƒ } d d g d d	 g g | j d
 d +t  t d d d d d d g d d d d d	 d g ƒ ƒ } t j | | ƒ t  t d t d ƒ d t j d d d d ƒƒ ƒ } d d g d d	 g g | j d
 d +t  t d d d d d d g d d d d d	 d g ƒ ƒ } t j | | ƒ d  S(   NR   i   t   dtypet   int64RA   i
   i   i   i   i   i   i    i   i   i	   t   abcdet   xt   yR<   R[   t   e(   R   t   dictR    R=   R   R   R   R#   (   R)   R   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyt   test_iloc_setitem_list_of_lists	  s    "90"R1   i    t   valuet   Zc         C   so   t  j d d g d d g g d d d g ƒ} | | j d | f <| j d
 } t | ƒ re | d	 k sk t ‚ d  S(   Ni   i   i   i   R   R   RA   i    R”   (   i    i    (   RE   R   R   R
   RK   (   R)   R1   R“   R   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyt#   test_iloc_setitem_with_scalar_index  s    	-c         C   s§  t  t d ƒ t d ƒ d d g ƒ} | j d d k } t j t | j j t	 | g ƒ ƒ t t
 | ƒ ƒ | _ t j t | j j t	 | g ƒ ƒ | j t j t g t
 | ƒ d t ƒ} t j | | ƒ t j d ƒ } d | } t t | ƒ } t  i | d	 6| d
 6| ƒ } i	 d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d  6} t d t ƒ ?t d t ƒ t ƒ  } x!d  d d	 g D]} | j d k j } | rÎt | t t t | | ƒ ƒ ƒ ƒ } n  xÈ d d d g D]· }	 yF |	 rt | |	 d ƒ }
 n | }
 t  t |
 | d
 j! ƒ  ƒ ƒ } Wn t" k
 rK} t  | ƒ } n Xt	 | |	 g ƒ } | j# | ƒ } | | k rÞt$ d | | | f ƒ ‚ qÞqÞWq‰WWd  QXd  S(!   Ni   R   R   R<   i   i    R‹   i   t   locst   numst   0b1100t    s   .locs   .iloct   0b11R   sB   iLocation based boolean indexing cannot use an indexable as a masksr   Unalignable boolean Series provided as indexer (index of the boolean Series and of the indexed object do not matchsD   iLocation based boolean indexing on an integer type is not availableRr   Rs   i   s'   [%s] does not match [%s], received [%s](   NR™   (   Ns   .loc(   Ns   .iloc(   R   R™   (   R   s   .loc(   R   s   .iloc(   R–   R™   (   R–   s   .loc(   R–   s   .iloc(%   R   R   R#   R<   R$   R%   R}   R   R{   R|   t   lenR   t   NotImplementedErrorR    RC   RY   RX   R   R   R=   R   t   binRR   R    R   t   UserWarningR‘   R—   t   valuesR   t   reversedt   getattrR   t   sumt	   Exceptiont   getRK   (   R)   R   Rp   R   R–   R—   t   repsR   t   idxt   methodt   accessort   ansR   t   keyt   r(    (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyt   test_iloc_mask)  sV    $")

	'$c         C   sË  t  i d g d d 6d g d d 6ƒ } t j t d ƒ ƒ d } | j | } t | d | d	 | g ƒ } | j | } t j | | ƒ t  i d g d
 d 6d g d
 d 6ƒ } t | d | d	 | g ƒ } | j j	 ƒ  } | j | | | j
 ƒ  k } g  } xI | j ƒ  D]; \ }	 }
 | j |
 ƒ | j |
 d ƒ | j |
 d	 ƒ qWt  | ƒ } t | t  d | | | j
 ƒ  k ƒ g d t ƒ} t j t d t ƒ | j | } Wd  QXt j | | d t ƒd  S(   Ngš™™™™™¹?i¸  R   i   RA   i   ic   i   i   iè  R   t   sortt   check_stacklevelt   check_index_type(   R   R    RC   R   R   R   R   R   R   t	   to_seriest   maxt   iterrowst   appendRY   t   assert_produces_warningt   FutureWarningRZ   Rz   (   R)   R   R¦   R   t   df3R   RU   t   sidxt   new_listR«   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyt   test_iloc_non_unique_indexingh  s*    (((	c         C   sï   d d l  m } | d d ƒ } t j | j d  d  … g  f | j d  d  … d  d … f d t d t ƒt j | j g  d  d  … f | j d  d … d  d  … f d t d t ƒt j | j g  | j d  d … d  d  … f d t d t ƒd  S(   Niÿÿÿÿ(   t   makeCustomDataframei   i   i    R¯   t   check_column_type(   t   pandas.util.testingRº   R   R   R   RY   (   R)   t   mkdfR   (    (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyt"   test_iloc_empty_list_indexer_is_ok‡  s    ;;/c         C   sÝ   t  i d d d g d 6ƒ } | j } | | k	 s8 t ‚ d d d g | d <| d d k j ƒ  sg t ‚ t d d d d d d g ƒ } | j } | | k	 s¡ t ‚ d d	 d
 g | d *t | d  d d	 d
 g k ƒ sÙ t ‚ d  S(   Ni   i   i   R<   i   i   i   i   i   i	   (   R   R   RK   t   allR   (   R)   t   original_dft	   sliced_dft   original_seriest   sliced_series(    (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyt&   test_identity_slice_returns_new_object•  s    

N(#   t   __name__t
   __module__R+   R9   R:   R$   t   markt   parametrizeR@   RI   RJ   RL   RV   RW   R\   R^   Rb   Rd   Re   Rh   Rq   Ru   R~   R‰   RŠ   R’   R]   RR   R    RC   R•   R¬   R¹   R¾   RÄ   (    (    (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyR      s:   	[				$													 	@		-			-	-	?		(   t   __doc__t   warningsR    R   R   t   numpyR    R$   t   pandas.compatR   R   t   pandasRE   R   R   R   R   R	   t   pandas.api.typesR
   t   pandas.tests.indexing.commonR   t   pandas.utilR   R   R   (    (    (    s>   lib/python2.7/site-packages/pandas/tests/indexing/test_iloc.pyt   <module>   s   (