ó
šxŠ\c           @   sÈ   d  Z  d d l m Z m Z d d l Z d d l Z d d l m Z m	 Z	 m
 Z
 d d l Z d d l 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 label based indexing with loc iÿÿÿÿ(   t   catch_warningst   filterwarningsN(   t   PY2t   StringIOt   lrange(   t	   DataFramet   Seriest	   Timestampt
   date_range(   t	   is_scalar(   t   Base(   t   testingt   TestLocc           B   sµ  e  Z d  „  Z d „  Z d „  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 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' d# „  Z( d$ „  Z) d% „  Z* d& „  Z+ d' „  Z, RS()   c         C   s€   t  t j j d ƒ d g  t d ƒ D] } d | d ^ q" ƒ} | j d } | j d  d  … d f j d } t j | | ƒ d  S(	   Ni   i   t   indext   ABCDEt   Ai    (   i   i   (   R   i    (   R   t   npt   randomt   random_samplet   ranget   loct   tmt   assert_series_equal(   t   selft   xt   dft   expectedt   result(    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt   test_loc_getitem_dups   s    * c         C   s¼   t  d d d d t d ƒ g g d d d d d d g d d g ƒ} t d d d d t d ƒ g d d d d d d g d	 d ƒ} | j d
 } t j | | ƒ | j d } t j | | ƒ d  S(   Ni   i   t   foot   bart   20130101t   columnst   aR   t   namei    (   R   R   R   t   ilocR   R   R   (   R   R   R   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt   test_loc_getitem_dups2   s    !!c         C   sv  t  i t d ƒ d 6t d ƒ d 6t j d d d ƒd d	 d
 6t j d d d ƒd d	 d 6ƒ j d ƒ } t d d
 d g g ƒ } | j ƒ  } | j | c d 9<t j	 | j | d | j | ƒ t d d
 g ƒ } | j ƒ  } | j | c d 9<| j | d | j | k st
 ‚ t d d
 d g g ƒ } | j ƒ  } | j | c d 9<t j | j | d | j | ƒ d  S(   Nt   rtttit   met   aaadeR   i   t   dtypet   float64gq=
×£põ?i   R   gÃõ(\ÂÕ¿t   bar2t   rg       @t   t(   R   t   listR   t   aranget	   set_indext   tuplet   copyR   R   R   t   AssertionErrort   assert_frame_equal(   R   t   df_origt   indexerR   (    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt   test_loc_setitem_dups,   s"    -"$c         C   sh  t  i d d d g d 6t d d d g d d ƒd	 6ƒ } | d d k } | j | d	 f d } | | j | d	 f <t  i d d d g d 6t d d
 d g d d ƒd	 6ƒ } t j | | ƒ t  i d d d g d 6d d d g d	 6d d ƒ} | d d k } | j | d	 f } | | j | d	 f <t  i d d d g d 6d d d g d	 6d d ƒ} t j | | ƒ d  S(   Ni    i   R!   id   iÈ   i,  R(   t   uint32t   biÉ   i-  t   uint64(   R   R   R   R   R3   (   R   t   df1t   ixt   newb1R   t   df2t   newb2(    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt   test_loc_setitem_sliceD   s     "")	)	c      
   C   s­   |  j  d d d d d d d d g d d	 ƒ|  j  d d d
 d d
 d d d g d d ƒ|  j  d d d d d d d d g d d ƒ|  j  d d d d d d d g d t ƒd  S(   Ns	   int labelR   i   R;   t   typst   intst   uintst   axesi    i   i   i   t   labelt   fails(   t   check_resultt   KeyError(   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt   test_loc_getitem_int[   s    c      
   C   sÒ   |  j  d d d d d d d g d d ƒ|  j  d d d	 d d	 d d
 g d d ƒ|  j  d d d d d d d
 g d d ƒ|  j  d d t d ƒ d d d d g d d ƒ|  j  d d d d d d d g d t ƒd  S(   NRD   R   t   cR;   R@   t   labelsRC   i    t   nullt   mixedi   t   20130102i   t   tst   emptyRE   (   RF   R   RG   (   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt   test_loc_getitem_labelg   s    !!(!c         C   s  |  j  d d d d d d d d d d	 d
 g d t ƒ|  j  d d d d d d d g d t ƒ|  j  d d d d d d d d d	 g d t ƒ|  j  d d d d d d d g d t ƒ|  j  d d d d d d d
 g d d d t ƒ|  j  d d d d d d d g d d d t ƒd  S(   Ns   label rangeR   t   fR;   R@   RA   RB   RJ   RL   RN   RE   t   floatsi   RC   i    (   RF   RG   t	   TypeError(   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt#   test_loc_getitem_label_out_of_ranget   s    !!c      
   C   sï  |  j  d d d d d g d d d d g d d d	 g d
 d ƒ|  j  d d d d d g d d d d g d d d	 g d
 d ƒ|  j  d d d d d g d d d d g d d d	 g d
 d ƒ|  j  d d d d d g d d d d g d d g d
 d ƒ|  j  d d d d d g d d d d g d d g d
 d ƒ|  j  d d d d d g d d d d g d d g d
 d ƒ|  j  d d d d d g d d d d g d d g d
 d ƒ|  j  d d t d ƒ t d ƒ g d t d ƒ t d ƒ g d d g d
 d ƒd  S(    Ns   list lblR   i    i   i   R;   R@   RA   RB   RC   i   i   i	   i   i   i   R!   R8   t   dRJ   R   t   Bt   Ct   Zt   Yt   WRK   RL   RM   t   20130103RN   (   RF   R   (   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt   test_loc_getitem_label_list…   s$    ***t   reasons6   Catching warnings unreliable with Python 2 (GH #20770)c         C   sº  |  j  d d d d d g d d d d g d d g d	 t ƒt j t d
 t ƒK |  j  d d d d d g d d d d g d d d d g d d d	 t ƒWd  QXt j t d
 t ƒK |  j  d d d d d g d d d d g d d d d g d d d	 t ƒWd  QXt j t d
 t ƒK |  j  d d d d d g d d d d g d d d d g d d d	 t ƒWd  QXt j t d
 t ƒ? |  j  d d d d d g d d d d g d d g d d ƒWd  QXd  S(   Ns   list lblR   i    i   i   R5   R@   RO   RE   t   check_stackleveli
   R;   RA   RB   RR   RC   i   i   i   i   i   i   t   multi(   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   RF   RG   R   t   assert_produces_warningt   FutureWarningt   False(   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt(   test_loc_getitem_label_list_with_missing›   s&    ****	c         C   s‹   t  t d ƒ d d d d g ƒ} t j t d t ƒ | d d g Wd  QXt  t d ƒ ƒ } t j t d t ƒ | d d g Wd  QXd  S(	   Ni   R   R!   R8   RI   R^   RU   i    (   R   R   R   R`   Ra   Rb   (   R   t   s(    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt$   test_getitem_label_list_with_missing¶   s    !c         C   sŠ   |  j  d d d d d g d d d d g d d d	 g d
 d d t ƒ|  j  d d d d d g d d d d g d d d	 g d
 d d t ƒd  S(   Ns   list lblR   i   i   i(   R;   R@   RA   RB   RC   i   RE   i   (   RF   RG   (   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt!   test_loc_getitem_label_list_failsÁ   s    **c      
   C   sß   |  j  d d t d d d d g ƒ j d d d d g d d	 d
 g d d ƒ|  j  d d t d d d d g ƒ j d d d d g d d	 d
 g d d ƒ|  j  d d t d d d d g ƒ j d d d d g d d	 d
 g d d ƒd  S(   Ns
   array likeR   R   i    i   i   R;   R@   RA   RB   RC   i   i   i	   i   i   i   (   RF   R   R   (   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt!   test_loc_getitem_label_array_likeÈ   s    $%$%$c         C   so   t  t t  t g } |  j d d | d | d d d d d d	 d
 g ƒ|  j d d | d | d d g d t ƒd  S(   Nt   boolR   R;   R@   RA   RB   RJ   RL   RN   RR   RO   RE   (   t   TrueRb   RF   RG   (   R   R8   (    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt   test_loc_getitem_boolÑ   s    	!c      
   C   s²   |  j  d d t d d ƒ d d d g d d d g d	 d
 ƒ|  j  d d t d d ƒ d d d g d d d g d	 d ƒ|  j  d d t d d ƒ d d d g d d d g d	 d ƒd  S(   Ns
   int slice2R   i   i   R;   R@   RA   RB   RC   i    i   i   i   i   (   RF   t   slice(   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt   test_loc_getitem_int_sliceÚ   s    '''c            sú  t  t j j d ƒ d d d d g d d d d	 g ƒ‰  t j t ˆ  j j t d
 d g d
 d g g ƒ ƒ t	 ƒ  ‰ d
 ˆ j d
 <d ˆ j d <t j t ‡ f d †  ƒ t j t ‡ f d †  ƒ t j t ‡ f d †  ƒ d ˆ j d <t
 j t d t ƒ ˆ j d d g } Wd  QXt	 d t j g d d d g ƒ} t
 j | | ƒ d ˆ d <t j t ‡ f d †  ƒ ˆ d =‡ f d †  } t j t | ƒ t  d g d g g d d
 d g d d g ƒ‰  ‡  f d †  } t j t | ƒ ‡  f d †  } t j t | ƒ d  S(   Ni   R   R!   R8   RI   R    t   eRQ   t   gi   i   c              s   ˆ  j  d S(   Niÿÿÿÿ(   R   (    (   Rd   (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt   <lambda>ö   s    c              s   ˆ  j  d d g S(   Niÿÿÿÿiþÿÿÿ(   R   (    (   Rd   (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyRo   ÷   s    c              s   ˆ  j  d g S(   Nt   4(   R   (    (   Rd   (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyRo   ù   s    iÿÿÿÿR^   iþÿÿÿc              s   ˆ  j  d g S(   Niþÿÿÿ(   R   (    (   Rd   (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyRo     s    c              s   d ˆ  j  d g <d  S(   Ni    iþÿÿÿ(   R   (    (   Rd   (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyRQ     s    t   valuec              s   ˆ  j  d g d  d  … f d  S(   Ni   (   R   (    (   R   (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyRQ     s    c              s   ˆ  j  d g d  S(   Ni   (   R   (    (   R   (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyRQ     s    (   i   i   (   R   R   R   t   pytestt   raisesRG   R   t   __getitem__R0   R   R   R`   Ra   Rb   t   nanR   (   R   R   R   RQ   (    (   R   Rd   s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt   test_loc_to_failä   s6    	
!
-c         C   s™   t  d d d g ƒ } | j d g t j t ƒ  | j d g Wd  QXt j t ƒ  | j d d g } Wd  QX| j d d g ƒ } t j	 | | ƒ d  S(   Ni   i   i   (
   R   R   Rr   Rs   RG   R   R`   Ra   t   reindexR   (   R   Rd   R   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt   test_loc_getitem_list_with_fail  s    c         C   sò  |  j  d d t d d ƒ d t d d ƒ d d d d	 d
 d g d t ƒ|  j  d d t d d ƒ d t d d ƒ d d g d d ƒ|  j  d d t d d ƒ d t d d ƒ d d g d d ƒ|  j  d d t d d ƒ d t d d ƒ d d g d d ƒ|  j  d d t d d ƒ d t d d ƒ d d
 g d d ƒ|  j  d d t d d ƒ d t d d ƒ d d
 g d d d t ƒ|  j  d d t d d ƒ d t d d ƒ d d
 g d d d t ƒ|  j  d d t d d ƒ d d d d g d d g d d ƒ|  j  d d t d d ƒ d t d d ƒ d d g d d d t ƒ|  j  d d t d d ƒ d t d d ƒ d d g d d d t ƒ|  j  d d t d d ƒ d t d d ƒ d d g d d d t ƒ|  j  d d t d d d ƒ d t d d d ƒ d d g d d d t ƒd  S(   Ns	   lab sliceR   i   i   R;   R@   RJ   RL   RO   RN   RR   RE   R!   RI   RC   i    R   RW   RZ   RX   i   s	   ts  sliceRM   t   20130104s   ts slice revR5   t   ts_revs   mixed slicei   i   (   RF   Rk   RS   RG   (   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt   test_loc_getitem_label_slice+  s:    """"***!c         C   sœ   t  t j j d d ƒ d d d d d d	 g ƒ} | j j d
 „  ƒ } | j t j | ƒ } | j | } t j | | ƒ | j | j	 } t j | | ƒ d  S(   Nt   sizei   i
   R   t   alpha_0t   alpha_1t   alpha_2t   beta_0t   beta_1c         S   s
   d |  k S(   Nt   alpha(    (   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyRo   [  s    (   i   i
   (
   R   R   R   R   t   mapR   t   arrayR   R3   t   values(   R   R   t   maskR   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt   test_loc_indexS  s    c      	   C   s9  t  t j j d d ƒ d d d d d g d d d d d g ƒ} | j d  d  … d d … f j d d	 … d  d  … f } | j d d g k j ƒ  s˜ t ‚ | j	 d d g k j ƒ  s¹ t ‚ t  i t
 d
 ƒ g d 6d g d 6ƒ j d } t t
 d
 ƒ d g d d d g d d ƒ} t j | | ƒ | j t k s5t ‚ d  S(   Ni   R    R   RV   RW   t   DR   i    i   R   R!   i   R8   R"   (   R   R   R   t   randR   R#   R    t   allR2   R   R   R   R   R   R(   t   object(   R   R   R   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt   test_loc_generald  s    '8!!-*c         C   sO  t  i t d d t d ƒ d t j ƒd 6t t d ƒ d t j ƒd 6ƒ } t  i t d d ƒ d 6t t d ƒ d t j ƒd 6ƒ } d | j d  d  … d f <t j | | ƒ t  i t d d ƒ d 6t t d ƒ d t j ƒd 6ƒ } t j	 d d t j ƒ| j d  d  … d f <t j | | ƒ t  i t d d ƒ d 6t t d ƒ d t j ƒd 6ƒ } t j	 d d d d d g d t j ƒ| j d  d  … d f <t j | | ƒ t  i t d	 d t d ƒ ƒd 6t t d ƒ d t j ƒd 6ƒ } t  i t d d ƒ d 6t t d ƒ d t j ƒd 6ƒ } d	 | j d  d  … d f <t j | | ƒ t  i t d
 d t d ƒ ƒd 6t t d ƒ d t j ƒd 6ƒ } t  i t d d ƒ d 6t t d ƒ d t j ƒd 6ƒ } d
 | j d  d  … d f <t j | | ƒ t  i t t
 d ƒ g ƒ d 6ƒ } d | j d  d  … d f <t  i t d g ƒ d 6ƒ } t j | | ƒ d  S(   Ni    R   i   R(   t   datet   vals
   2000-01-01s	   2000-01-5R   g      ð?t   20180101t   string(   R   R   R   R   t   int64R   R   R   R3   R„   R   (   R   R   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt   test_loc_setitem_consistencyu  s@    ""+":"""""c         C   s    t  d d d g ƒ } | d j t j ƒ | d <t  d d d g ƒ } d | j d  d  … d f <t j | | ƒ t  d d d g ƒ } d | d <t j | | ƒ d  S(   NR    R   t   yi   (   R   t   astypeR   R‘   R   R   R3   (   R   R   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt"   test_loc_setitem_consistency_empty¡  s    
c         C   sW  d } t  j t | ƒ d d d g d d d d g ƒ} t  j | j d  d  … d f ƒ | j d  d  … d f <t  j | j d  d  … d f ƒ | j d  d  … d f <| j d  d  … d f | j d  d  … d f | j d  d  … d f <| j d  d  … d f j d ƒ | j d  d  … d f <t d d d d g d | j d d ƒ} t j	 | d | ƒ d  S(   Nsœ  Level_0,,,Respondent,Respondent,Respondent,OtherCat,OtherCat
Level_1,,,Something,StartDate,EndDate,Yes/No,SomethingElse
Region,Site,RespondentID,,,,,
Region_1,Site_1,3987227376,A,5/25/2015 10:59,5/25/2015 11:22,Yes,
Region_1,Site_1,3980680971,A,5/21/2015 9:40,5/21/2015 9:52,Yes,Yes
Region_1,Site_2,3977723249,A,5/20/2015 8:27,5/20/2015 8:41,Yes,
Region_1,Site_2,3977723089,A,5/20/2015 8:33,5/20/2015 9:09,Yes,Not   headeri    i   t	   index_coli   t
   Respondentt	   StartDatet   EndDatet   Durations   timedelta64[s]id  iÐ  iH  g     à @R   R"   (   R˜   R™   (   R˜   R™   (   R˜   Rš   (   R˜   Rš   (   R˜   Rš   (   R˜   R™   (   R˜   R›   (   R˜   R›   (   R˜   R›   (   R˜   R›   (   R˜   R›   (
   t   pdt   read_csvR   t   to_datetimeR   R”   R   R   R   R   (   R   t   dataR   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt-   test_loc_setitem_consistency_slice_column_len­  s    	0  4&	c   
   	   C   s  |  j  } | j d } d | j d <| j d } | d k sB t ‚ | j d } | d k sa 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
 g d d g ƒ } t j d d d g d d ƒ| j d
 d d	 g d f <t t	 d t
 d d d g d d
 d d	 g ƒƒ ƒ j d d d	 d
 g ƒ } t j | | ƒ g  t d	 ƒ D] } d t | ƒ ^ qˆ} t j d	 d d ƒ} g  t d
 ƒ D] } d t | ƒ ^ qÆ} t j d
 d d ƒ} t t | ƒ j | ƒ ƒ }	 t d |	 ƒ } t j | d <| | j | d f <t j | d <| | j | d f <t t	 d t
 | d | ƒd t
 | d | ƒƒ ƒ j d |	 ƒ } t j | | ƒ t i d d d g d 6t j d 6ƒ } | j | j | j | j k d f <t i d d d g d 6t j d 6ƒ } t j | | ƒ t i d d g d 6d d
 g d 6d d g d 6ƒ } | j d d d g f } t
 d d g d d d g d t d d ƒ} t j | | ƒ t i d	 d g d 6d d
 g d 6d d g d 6ƒ } d	 d g | j d d d g f <t j | | ƒ d  S(   Ni    i   R!   R   RV   Rˆ   R   i   i   i   R    i   R(   R‘   t   @R8   R"   i   (   i    i    (   R!   R   (   R!   R   (   i    i    (   t   frame_labelsR#   R   R2   R   R3   R   R   R„   t   dictR   Rw   R   t   strR.   R-   t   sett   unionRu   R   RV   R‹   R   (
   R   R   R   R   t   it   keys1t   val1t   keys2t   val2R   (    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt   test_loc_setitem_frameÆ  sP    	!4<))!&"&3*3c         C   sš  t  i d d d g d 6t t d ƒ d t j ƒd 6ƒ } | j d d	 !} | j d
 d	 !| _ | | j d
 d +t  i d d d g d 6t d d	 d	 g d t j ƒd 6ƒ } t j | | ƒ t  i t	 d d ƒ d 6t t d ƒ d t j ƒd 6ƒ } t  i t
 d ƒ t
 d ƒ t
 d ƒ t
 d ƒ t
 d ƒ g d 6t d
 d d
 d d	 g d t j ƒd 6ƒ } | j d
 d	 !} | j d	 d !| _ | | j d	 d +t j | | ƒ d  S(   NR   R   t   bazR   i   R(   RV   i   i   i    s
   2000-01-01s	   2000-01-5R   i   RŽ   t   20000101t   20000102t   20000103i   (   R   R   R   R   R‘   R   R   R   R3   R   R   (   R   R   t   rhsR   (    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt    test_loc_setitem_frame_multiples  s,    "(R5   R   Rq   RX   c         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   RV   i    RX   (   i    R   (   Rœ   R   R   R	   R2   (   R   R5   Rq   R   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt"   test_loc_setitem_with_scalar_index!  s    	-c         C   s}  t  i t d ƒ j d ƒ t j g d 6ƒ } | j } | j d g } t j | j | ƒ | j d g } t j | j | ƒ d d  l	 } t  i | j	 d d d ƒ | j	 d d d	 ƒ g d 6ƒ } | j } | j d g } t j | j | ƒ | j d g } t j | j | ƒ t  i d
 g d  g d d 6ƒ } | j } | j d d	 !} t j | j | ƒ | j d } t j | j | ƒ d  S(   NR   t   UTCR   i    i   iÿÿÿÿiÜ  iô  i   s
   some wordsi	   t   texti   (   R   R   t   tz_localizeRœ   t   NaTt   dtypesR#   R   R   t   datetimet   None(   R   R   R   R   R¹   (    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt   test_loc_coerceion0  s*    		!	c      	   C   s  t  i d d d d d d g d 6d d d d d d	 g d
 6d d d d d d d g ƒ} t j t | j j t t d d  ƒ g ƒ ƒ t j t | j j t t d d  ƒ g ƒ ƒ t j t | j j t t d d ƒ g ƒ ƒ t  i d d d d d d g d 6d d d d d d	 g d
 6d d d d d d d g ƒj	 d d ƒ } | j d } t  i d d d d g d 6d d d d	 g d
 6d d d d d g ƒ} t
 j | | ƒ | j d } t
 j | | ƒ | j d d !} t  i d d d g d 6d d d g d
 6d d d d g ƒ} t
 j | | ƒ d  S(   Ni   i   i   i   i   i   R   i   i   RV   R   i    t   axis(   R   Rr   Rs   RG   R   Rt   R0   Rk   Rº   t
   sort_indexR   R3   (   R   R   R   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt   test_loc_non_uniqueS  s(    7+'/)c            sò   t  d ƒ ‰  ‡  f d †  } ‡  f d †  } | d d ƒ } | j j t k sQ t ‚ t j d ƒ } | j | } | | | ƒ } t j	 | | ƒ | d d ƒ } | j j t k s³ t ‚ t j d ƒ } | j | } | | | ƒ } t j	 | | ƒ d  S(   Nt   ABCDEFGc            sn   t  j t t j j |  t ˆ  ƒ ƒ d t |  ƒ d ˆ  ƒt t j | t ˆ  ƒ f ƒ d d g | d ˆ  ƒg ƒ S(   NR   R    i    (	   Rœ   t   concatR   R   R   t   randnt   lenR   t   ones(   t   lt   l2(   R    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt   gen_testy  s
    c            si   t  | ƒ } t j |  j d g ƒ t t j | t  ˆ  ƒ f ƒ d d g | d ˆ  ƒ|  j | d ƒ g ƒ S(   Ni    R   R    i   (   RÂ   Rœ   RÀ   t   takeR   R   RÃ   (   R   R†   t   len_mask(   R    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt   gen_expected€  s    i„  id   i » i † (
   R-   R   t	   is_uniqueRb   R2   R   R.   R   R   R3   (   R   RÆ   RÉ   R   R†   R   R   (    (   R    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt    test_loc_non_unique_memory_errorr  s    c         C   sÕ   t  d d g d d g g ƒ } d | j _ | j d d g j j } | d k sU t ‚ t d t ƒ . t d d t ƒ | j	 d d g j j } Wd  QX| d k s¦ t ‚ | j
 d d g j j } | d k sÑ t ‚ d  S(   Ni   t
   index_namei    t   recordt   ignores   \n.ix(   R   R   R"   R#   R2   R    Ri   R   t   DeprecationWarningR;   R   (   R   R   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt   test_loc_name˜  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    t   check_index_typet   check_column_type(   t   pandas.util.testingRÑ   R   R3   R   R#   Ri   (   R   t   mkdfR   (    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt!   test_loc_empty_list_indexer_is_ok§  s    ;;/c         C   sr  t  i d d d g d 6ƒ } | j } | | k	 s8 t ‚ | | k	 sK t ‚ d d d g | d <| d d k j ƒ  sz t ‚ | | j d  d  … d  d  … f k s¥ t ‚ t  t j j d d ƒ ƒ } | d | j d  d  … d f k sé t ‚ t d d d d d d	 g ƒ } | j } | | k	 s#t ‚ | | k	 s6t ‚ d
 d d g | d *t | d  d
 d d g k ƒ snt ‚ d  S(   Ni   i   i   R!   i   i
   i    i   i   i   i   i	   (   R   R   R2   RŠ   R   R   RÁ   R   (   R   t   original_dft	   sliced_dfR   t   original_seriest   sliced_series(    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt&   test_identity_slice_returns_new_objectµ  s    
+)
c         C   sü   t  j d d g d t j d ƒ j d t j d ƒ j g ƒ} | j t j d ƒ j d } | j d } | | k sy t ‚ | j t j d ƒ j d g } | j d g } t j	 | | ƒ | j t j d ƒ j d t j d ƒ j g } t j	 | | ƒ d  S(   Ni   i   R   R9   i    (
   Rœ   R   R   t   iinfot   maxR   R#   R2   R   R   (   R   Rd   R   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt   test_loc_uint64Î  s     c         C   sÝ   d d d g } t  i | d 6d  g t | ƒ d 6ƒ } t  d d d g ƒ } | | j d  d  … d f <t j | | ƒ t  i d g d 6t j g d 6ƒ } t  d d d g d t j ƒ } | j d
 | j d <t j | | ƒ d  S(   Ni   i   i   R   R“   R    g      ð?R(   i    (   i    R   (   i    R   (	   R   Rº   RÂ   R   R   R3   R   Ru   t   float(   R   RŸ   R   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt   test_loc_setitem_empty_appendá  s    '#c      	   C   s›   d d g } t  d d d g ƒ } d } t j t d | ƒ | | j d d g d f <Wd  QXd	 } t j t d | ƒ | | j d d … d f <Wd  QXd  S(
   Ni   i   R    R   R“   sF   None of \[Int64Index\(\[0, 1\], dtype='int64'\)\] are in the \[index\]t   matchi    s?   cannot copy sequence with size 2 to array axis with dimension 0(   R   Rr   Rs   RG   R   t
   ValueError(   R   RŸ   R   t   msg(    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyt$   test_loc_setitem_empty_append_raisesó  s    N(-   t   __name__t
   __module__R   R$   R6   R?   RH   RP   RT   R\   Rr   t   markt   skipifR   Rc   Re   Rf   Rg   Rj   Rl   Rv   Rx   R{   R‡   RŒ   R’   R•   R    R¬   R²   t   parametrizeRk   Rº   R   R„   R³   R»   R¾   RË   RÐ   RÖ   RÛ   RÞ   Rà   Rä   (    (    (    s=   lib/python2.7/site-packages/pandas/tests/indexing/test_loc.pyR      sJ   	
							!							
	6		(			,			@		-	-	#		&					(   t   __doc__t   warningsR    R   t   numpyR   Rr   t   pandas.compatR   R   R   t   pandasRœ   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_loc.pyt   <module>   s   "