
    Owgo_                     N   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
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 ddlmZ ddlmZ ddlmZ  G d	 d
      Z G d d      Z G d d      Z  G d d      Z! G d d      Z"d Z#ejH                  jK                  d eddg       e edd             e e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% Z0d& Z1d' Z2d( Z3d) Z4ejH                  jK                  d*d+d,g      d-        Z5 G d. d/      Z6y)0zJ
Series.__getitem__ test classes are organized by the type of key passed.
    )datedatetimetimeN)
conversion	timezones)	is_scalar)	Categorical	DataFrameDatetimeIndexIndexSeries	Timestamp
date_rangeperiod_rangetimedelta_range)IndexingError)BDayc                       e 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g      d        Zej                  j                  dddg      d        Zd Zd Zd Zd Zd Zd Zy)TestSeriesGetitemScalarsc                 d    t        dgdz  t        g d            }|d   dk(  sJ |d   dk(  sJ y )N      )abc      ?indexr   r   )r   r   selfsers     `/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/series/indexing/test_getitem.py&test_getitem_object_index_float_stringz?TestSeriesGetitemScalars.test_getitem_object_index_float_string'   s:    aS1WE*>$?@3x1}}3x1}}    c                     t        g dg dd      }|d   }|dk(  sJ t        ddgddgd      }t        g dg dd      }|d   }t        j                  ||       y )	N)r   r      r(   )   r)   )        g?皙?foo)r   namer*   r&   r'   )r*   r*   r+   )r   tmassert_series_equalr    r!   resultexpecteds       r"   $test_getitem_float_keys_tuple_valuesz=TestSeriesGetitemScalars.test_getitem_float_keys_tuple_values-   sk     -_5QS 66*3*5I-_5QS
vx0r$   c                     t        ddgt        j                  d      t        j                  d      g      }|j                  d   }||   }|dk(  sJ y )Nr   r(   Oi8r   )r   npdtyper   )r    r!   keyr1   s       r"    test_getitem_unrecognized_scalarz9TestSeriesGetitemScalars.test_getitem_unrecognized_scalar<   sK     aVBHHSM288D>#BCiilS{{r$   c                     t        dgdz  dgdz        }d}d}t        j                  t        |      5  t	        j
                  t        |      5  |d    d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nr   
   r   zFindex -11 is out of bounds for axis 0 with size 10|index out of bounds;Series.__getitem__ treating keys as positions is deprecatedmatchi)r   pytestraises
IndexErrorr.   assert_produces_warningFutureWarning)r    r!   msgwarn_msgs       r"   #test_getitem_negative_out_of_boundsz<TestSeriesGetitemScalars.test_getitem_negative_out_of_boundsG   sx    cURZurz2VP]]:S1 	++MJ C	 	 	 	s#   A4A(A4(A1	-A44A=c                     d}d}t        j                  t        |      5  t        j                  t
        |      5  |t        |          d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nz3index \d+ is out of bounds for axis 0 with size \d+r=   r>   )r@   rA   rB   r.   rC   rD   len)r    datetime_seriesrE   rF   s       r"   %test_getitem_out_of_bounds_indexerrorz>TestSeriesGetitemScalars.test_getitem_out_of_bounds_indexerrorP   sf    DP]]:S1 	6++MJ 6O 456	6 	66 6	6 	6s"   A(AA(A%	!A((A1c                     t        g t              }t        j                  t        d      5  |d    d d d        y # 1 sw Y   y xY w)Nr8   z-1r>   r   objectr@   rA   KeyErrorr   s     r"   4test_getitem_out_of_bounds_empty_rangeindex_keyerrorzMTestSeriesGetitemScalars.test_getitem_out_of_bounds_empty_rangeindex_keyerrorX   s:     Rv&]]840 	G	 	 	s	   <Ac                    |}t        t        j                  j                  d      j	                  d      t        g d|            }t        j                  t        d      5  |d    d d d        t        j                  t        d	      5  |d
    d d d        t        t        j                  j                  d      j	                  d      g d      }t        j                  t        d      5  |d    d d d        t        j                  t        d	      5  |d
    d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   KxY w# 1 sw Y   y xY w)Nr(      )r   r   r   r   r(   r(   rM   r   z^5$r>      z^'c'$r   )r(   r(   r   r   r   r   )	r   r7   randomdefault_rngstandard_normalr   r@   rA   rQ   )r    any_int_numpy_dtyper8   r!   s       r"   (test_getitem_keyerror_with_integer_indexzATestSeriesGetitemScalars.test_getitem_keyerror_with_integer_index_   s   #II!!!$44Q7*%8

 ]]862 	F	 ]]884 	H	 II!!!$44Q7?Q
 ]]862 	F	 ]]884 	H	 		 		 		 		 	s0   $D)D51EE)D25D>E
Ec                     t        j                  d      }d}t        j                  t        |      5  ||   }d d d        |j
                  d   k(  sJ y # 1 sw Y   xY w)NrU   r=   r>   )r7   int64r.   rC   rD   iloc)r    rJ   idxrE   ress        r"   test_getitem_int64z+TestSeriesGetitemScalars.test_getitem_int64w   s\    hhqkK''SA 	'!#&C	'o**1----	' 	's   AAc                     t        t        d      t        t        d                  }|t        t        d               }t        j                  ||       y )NrU   r   r   rangelistr.   r/   r    r!   r1   s      r"   test_getitem_full_rangez0TestSeriesGetitemScalars.test_getitem_full_range~   s<    U1XT%(^4T%(^$
vs+r$   tzstrzEurope/Berlinzdateutil/Europe/Berlinc                     t        j                  |      }t        ddd|      }t        ||j                        }t        d|      }t        dd	d
dd      }t        j                  ||      }||   ||   k(  sJ y )Nz2012-12-24 16:00z2012-12-24 18:00h)startendfreqtz)r   dataz2012-12-24 17:00)rm   i           r   )	r   maybe_get_tzr   r   hourr   r   r   localize_pydatetime)r    rg   rm   r   tstime_pandasdttime_datetimes           r"   test_getitem_pydatetime_tzz3TestSeriesGetitemScalars.test_getitem_pydatetime_tz   s    ##E*$*<35
 %ejj1 2u=dBB*"66r2>+"]"3333r$   rm   z
US/Easternzdateutil/US/Easternc                     t        dd|      }t        t        j                  j	                  d      j                  t        |            |      }|d   }t        j                  ||j                  d          y )N1/1/2000r<   periodsrm   r(   r   1/3/2000)
r   r   r7   rV   rW   rX   rI   r.   assert_almost_equalr]   )r    rm   rngr!   r1   s        r"    test_string_index_alias_tz_awarez9TestSeriesGetitemScalars.test_string_index_alias_tz_aware   s[    RB7RYY**1-==c#hGsSZ
vsxx{3r$   c                 v   t        ddd      }t        t        j                  j	                  d      j                  t        |            |      }|j                  dk(  |j                  dk(  z  }|t        dd         }||   }|j                  j                  d       |_
        t        j                  ||       y )	Nr{   z1/5/20005minrl   r(   r   	      )r   r   r7   rV   rW   rX   rI   rs   minuter   r   
_with_freqr.   r/   )r    r   ru   maskr1   r2   s         r"   test_getitem_time_objectz1TestSeriesGetitemScalars.test_getitem_time_object   s    Zf=BII))!,<<SXFcRA#**"23DBKd8||..t4
vx0r$   c                     t        t        d      t        d      g      }t        ddg|      }|j                  d   }||d      }||k(  sJ y )Nz
12-31-1999z
12-31-2000r   r(   r   r   )r	   r   r   r]   )r    catsr!   r2   r1   s        r"   %test_getitem_scalar_categorical_indexz>TestSeriesGetitemScalars.test_getitem_scalar_categorical_index   sS    Il3Y|5LMNaV4(88A;T!W!!!r$   c                    t        g dt        j                  g d            }|d   dk(  sJ |dg   }|j                  dd  }t	        j
                  ||       |g d   }t	        j
                  ||j                  d d d          y )Nr   r   r   )r(   r   r   r   r   r   rN   r   r   r(   )r   pdCategoricalIndexr]   r.   r/   )r    r!   r_   r2   res2s        r"   8test_getitem_numeric_categorical_listlike_matches_scalarzQTestSeriesGetitemScalars.test_getitem_numeric_categorical_listlike_matches_scalar   s|    _B,?,?	,JK 1v}} 1#h88BC=
sH-9~
tSXXdd^4r$   c                 |    t        g dt        g dd            }|j                  d      dk(  sJ |d   dk(  sJ y )Nr   r   r(   r)   categoryrM   r   r)   r   )r   r   getr   s     r"   /test_getitem_integer_categorical_not_positionalzHTestSeriesGetitemScalars.test_getitem_integer_categorical_not_positional   s;    _E):,NOwwqzS   1v}}r$   c                    t        ddd      }t        t        j                  t	        |            |      }d}|j                  |      }|dk(  sJ ||   }||j                  d   k(  sJ d}t        j                  t        |	      5  |j                  d
       d d d        t        j                  t        |	      5  |d
    d d d        y # 1 sw Y   3xY w# 1 sw Y   y xY w)N1 day 10:11:12ri     rl   r}   r   z6 days, 23:11:12   z!^Timedelta\('50 days 00:00:00'\)$r>   z50 days)
r   r   r7   arangerI   get_locr]   r@   rA   rQ   )r    r   r!   r9   indexerr1   rE   s          r"   $test_getitem_str_with_timedeltaindexz=TestSeriesGetitemScalars.test_getitem_str_with_timedeltaindex   s    .S#FRYYs3x(4 ++c"#~~S#&&&2]]83/ 	#KK	"	#]]83/ 		N	 		# 	#	 	s   C=CCC!c                     t        ddd      }d}t        j                  t        |      5  |d   }d d d        dk(  sJ y # 1 sw Y   xY w)Nr   r   )TFr=   r>   )r   r.   rC   rD   )r    r!   rE   r1   s       r"   "test_getitem_bool_index_positionalz;TestSeriesGetitemScalars.test_getitem_bool_index_positional   sP    Aa()K''SA 	VF	{{	 	s   AAN)__name__
__module____qualname__r#   r3   r:   rG   rK   rR   rZ   r`   rf   r@   markparametrizery   r   r   r   r   r   r   r    r$   r"   r   r   &   s    1	60., [[W8P&QR4 S4 [[TL2G#HI4 J41"5"r$   r   c                   F   e Zd Zd Zd Zd Zd Zd Zd Ze	j                  j                  d e edd	d	      d
      g dg e edd	d      d
      dgg e edd	d	      d
      g g ed
 edd	d	            g dg ed
 edd	d	            dggg      d        Zd Zd Zd Zy
)TestSeriesGetitemSlicesc                     t        dd      }|j                         }|d   }t        dd      }t        ||      }t        j                  ||       y )Nz1/1/2008z1/1/20092008z
2008-01-01z
2008-12-31)rj   rk   r   )r   	to_seriesr   r.   r/   )r    arrr!   r1   r   r2   s         r"   1test_getitem_partial_str_slice_with_datetimeindexzITestSeriesGetitemSlices.test_getitem_partial_str_slice_with_datetimeindex   sJ    Z0mmoV|>#S)
vx0r$   c                 "   t        g d      }t        t        j                  j	                  d      j                  t        |            |      }|dd  }|dd  }t        j                  ||       |dd }|dd }t        j                  ||       y )N)r{   1/2/2000r   r~   z1/4/2000r(   r   r   r   r~   r   )	r   r   r7   rV   rW   rX   rI   r.   r/   )r    r^   ru   r1   r2   s        r"   -test_getitem_slice_strings_with_datetimeindexzETestSeriesGetitemSlices.test_getitem_slice_strings_with_datetimeindex   s    H
 BII))!,<<SXFcRJKab6
vx0Jz*a7
vx0r$   c                 n   t        ddd      }t        t        j                  t	        |            |      }|dd }|j
                  dd	 }t        j                  ||       |dd  }|j
                  dd  }t        j                  ||       |d d }|j
                  d d	 }t        j                  ||       y )
Nr   ri   r   r   r   z5 dayz6 dayV      r   r   r7   r   rI   r]   r.   r/   r    r   r!   r1   r2   s        r"   2test_getitem_partial_str_slice_with_timedeltaindexzJTestSeriesGetitemSlices.test_getitem_partial_str_slice_with_timedeltaindex   s    .S#FRYYs3x(4WW%88Bs#
vx0WX88BC=
vx0Xg88DS>
vx0r$   c                 L   t        ddd      }t        t        j                  t	        |            |      }|dd  }|j
                  dd  }t        j                  ||       |dd  }|j
                  dd  }t        j                  ||       |d	   }||j
                  d
   k(  sJ y )Nr   us  r   r   r   z1 day 10:11:12.001i  z1 days, 10:11:12.001001i  r   r   s        r"   <test_getitem_partial_str_slice_high_reso_with_timedeltaindexzTTestSeriesGetitemSlices.test_getitem_partial_str_slice_high_reso_with_timedeltaindex  s    .T4HRYYs3x(4%&'88AB<
vx0)*+88DE?
vx0./$'''r$   c                     t        j                  t        d      5  |d d t        j                  f    d d d        y # 1 sw Y   y xY wNzMulti-dimensional indexingr>   )r@   rA   
ValueErrorr7   newaxis)r    rJ   s     r"   test_getitem_slice_2dz-TestSeriesGetitemSlices.test_getitem_slice_2d  s6    ]]:-IJ 	+ArzzM*	+ 	+ 	+s	   =Ac                 j   t        ddd      }t        t        j                  j	                  d      j                  d      |      }t        dd	d       g}d
}t        j                  t        |      5  ||    d d d        ||d   f   }||d      }t        j                  ||       y # 1 sw Y   1xY w)N20090415200905192Br   r(      r   rT      z Indexing with a single-item listr>   r   )r   r   r7   rV   rW   rX   slicer@   rA   r   r.   r/   )r    r   r!   r   rE   r1   r2   s          r"   test_getitem_median_slice_bugz5TestSeriesGetitemSlices.test_getitem_median_slice_bug"  s    :z=RYY**1-==bAOAt$%0]]:S1 	L	 gaj]#wqz?
vx0	 	s   3B))B2zslc, positionsi  r   Nr   i  r(   i  r   c                     t        g dt        g d            }||   }|j                  |      }t        j                  ||       y )Nr   )z
2019-01-01z2019-01-01T06:00:00z
2019-01-02)r   r   taker.   r/   )r    slc	positionsr!   r1   r2   s         r"   test_getitem_slice_datez/TestSeriesGetitemSlices.test_getitem_slice_date0  sC     MN
 S88I&
vx0r$   c                    d}t        j                  t        |j                  d            5  |dd  d d d        t        j                  t        |j                  d            5  |dd  d d d        y # 1 sw Y   CxY w# 1 sw Y   y xY w)	NzUcannot do slice indexing on DatetimeIndex with these indexers \[{key}\] of type floatz4\.0)r9   r>         @g      $@z4\.5g      @)r@   rA   	TypeErrorformat)r    rJ   rE   s      r"   test_getitem_slice_float_raisesz7TestSeriesGetitemSlices.test_getitem_slice_float_raisesD  s    ' 	 ]]9CJJ7J,CD 	&C%	& ]]9CJJ7J,CD 	&C%	& 	&	& 	&	& 	&s   A6'B6A?Bc                    t        t        d      t        t        d                  }|dd  }t        j                  ||       |dd  }t        j                  ||dd         |d d }t        j                  ||d d        y )Nr<   r   iir)   r   rb   re   s      r"   test_getitem_slice_bugz.TestSeriesGetitemSlices.test_getitem_slice_bugO  sw    U2Yd59o6ST
vs+RS
vs12w/Tc
vs2Aw/r$   c                     t        t        j                  j                  d      j	                  d      g d      }|d d }t        |j
                  d d g d      }t        j                  ||       y )Nr(      )r(   r   rT   r   r<   ro         r   r   )r(   r   rT   r   )r   r7   rV   rW   rX   valuesr.   r/   r0   s       r"   test_getitem_slice_integersz3TestSeriesGetitemSlices.test_getitem_slice_integersZ  s_    II!!!$44Q7.

 Ra#**Ra.=
vx0r$   )r   r   r   r   r   r   r   r   r   r@   r   r   r   r   r   r   r   r   r   r$   r"   r   r      s    	111 ( +
1 [[4a#T*I64a#T*QC04a#T*B/4dAq)*I64dAq)*QC0	
	1	1	&	01r$   r   c                      e Zd Zej                  j                  deej                  e	e
g      d        Zd Zej                  j                  deej                  e	g      d        Zej                  j                  deej                  e	g      ej                  j                  dej                  ej                  ej                   g      d               Zd Zy)	TestSeriesGetitemListLikeboxc                     t        ddg      }t        dgt              } ||      }d}t        j                  t        |      5  ||    d d d        y # 1 sw Y   y xY w)NABCrM   zHNone of \[Index\(\['C'\], dtype='object|string'\)\] are in the \[index\]r>   rO   )r    r   r!   r9   rE   s        r"   test_getitem_no_matchesz1TestSeriesGetitemListLike.test_getitem_no_matchesf  s`     c3Z cU&)#h X 	 ]]83/ 	H	 	 	s   AAc                    t        t        ddd            }|ddg   }t        t        j                  dd      t        j                  d	d      gddgd
      }t	        j
                  ||       |j                  d
k(  sJ y )Nz
2000-01-01r<   D)r}   rl   r(   r   
2000-01-03r   z
2000-01-05z	Period[D]r   r8   )r   r   r   Periodr.   r/   r8   )r    r!   r1   exps       r"   *test_getitem_intlist_intindex_periodvalueszDTestSeriesGetitemListLike.test_getitem_intlist_intindex_periodvaluest  sx    \,EFaVYY|#.		,S0QRa&

 	vs+||{***r$   c                    t        dd      j                  d       }t        j                  j	                  |      }t        t        t        |            |      }|j                  d d } |dg      }d}t        j                  t        |      5  ||   }d d d        t        j                  |       y # 1 sw Y    xY w)	Nr   r)   r}   r   r   r   r=   r>   )r   r   r   IntervalIndexfrom_breaksr   rc   rI   r]   r.   rC   rD   r/   )	r    r   dtiiir!   r2   r9   rE   r1   s	            r"   *test_getitem_intlist_intervalindex_non_intzDTestSeriesGetitemListLike.test_getitem_intlist_intervalindex_non_int  s     q1<<TB))#.U3r7^2.88BQ<1#hK''SA 	XF	
vx0	 	s   B55B>r8   c                 l   t        t        d            j                  |      }t        dd      }t        j
                  j                  ||g      }t        t        t        |            d d d   |      } |dg      }t        j                  t        d	      5  ||    d d d        y # 1 sw Y   y xY w)
Nr   r   r)   r   rN   r   rU   5r>   )r   rc   astyper   r   
MultiIndexfrom_productr   rI   r@   rA   rQ   )r    r8   r   r^   r   mir!   r9   s           r"   -test_getitem_intlist_multiindex_numeric_levelzGTestSeriesGetitemListLike.test_getitem_intlist_multiindex_numeric_level  s     E!Ho$$U+q1]]''c
3U3r7^DbD)41#h]]83/ 	H	 	 	s   B**B3c                 6   t        g d      }t        j                  dg|      }t        j                  t
        d      5  ||    d d d        t        j                  t
        d      5  |j                  |    d d d        y # 1 sw Y   =xY w# 1 sw Y   y xY w)Nr   r   rM   4r>   )r   r7   arrayr@   rA   rQ   loc)r    any_unsigned_int_numpy_dtyper!   r9   s       r"   test_getitem_uint_array_keyz5TestSeriesGetitemListLike.test_getitem_uint_array_key  s|    Yhhs">?]]83/ 	H	]]83/ 	GGCL	 		 		 	s   B*BBBN)r   r   r   r@   r   r   rd   r7   r   r   r   r   r   r   r\   float64uint64r   r   r   r$   r"   r   r   e  s    [[UT288UF$CD E
+ [[UT288U$;<1 =1 [[UT288U$;<[[WrxxRYY&GH	 I =	r$   r   c                   6    e Zd Zd Zd Zd Zd Zd Zd Zd Z	y)	TestGetitemBooleanMaskc                     |}||j                         kD  }|t        |         }||   }t        j                  ||       t        j                  |j
                  |j
                  |          y )N)medianrd   r.   r/   assert_index_equalr   )r    string_seriesr!   r   r1   r2   s         r"   test_getitem_booleanz+TestGetitemBooleanMask.test_getitem_boolean  s[    SZZ\! T$Zt9
vx0
fllCIIdO<r$   c                    t        g t        j                        }d|j                  _        ||j                            }|j                  j                  dk(  sJ |j                  t        j                  k(  sJ t        ddgt              }t        t        t        g d            }|t        g t                 }t        j                  ||       d}t        j                  t        |      5  |t        g t                  d d d        t        j                  t        |      5  |t        d	gt                  d d d        y # 1 sw Y   CxY w# 1 sw Y   y xY w)
NrM   
index_namer   r   r\   )r8   r   sUnalignable boolean Series provided as indexer \(index of the boolean Series and of the indexed object do not matchr>   T)r   r7   r\   r   r-   isnar8   rP   r   r.   r/   r@   rA   r   bool)r    r!   r2   r1   rE   s        r"   test_getitem_boolean_emptyz1TestGetitemBooleanMask.test_getitem_boolean_empty  s   Rrxx(%		#((*oyy~~---yyBHH$$$ c3Zv.eBg.FGVBf-.
vx0
I 	 ]]=4 	(r&'	( ]]=4 	,vT*+	, 	,	( 	(	, 	,s   0E(EEEc                    |}||j                         kD  }|j                  t              }||   }||   }t        j                  ||       |j                         }|j                         }d||<   d||<   t        j                  ||       t        j                  |dd d}	t        j                  t        |	      5  ||    d d d        t        j                  t        |	      5  d||<   d d d        y # 1 sw Y   3xY w# 1 sw Y   y xY w)NrU   r<   z=Cannot mask with non-boolean array containing NA / NaN valuesr>   )r  r   rP   r.   r/   copyr7   nanr@   rA   r   )
r    r  r!   r   omaskr1   r2   s2coprE   s
             r"   test_getitem_boolean_objectz2TestGetitemBooleanMask.test_getitem_boolean_object  s     SZZ\!F# Ut9
vx0 XXZhhjE
4
sB' ffaM]]:S1 	J	]]:S1 	CJ	 		 		 	s   ;C3$C?3C<?Dc                 (   t        ddd      }t        j                  g d      }t        |j                        }||   }|j
                  j                  j                  J t        t        d            }||   }|j
                  j                  J y )Nz
2016-01-01r   z
US/Pacificr|   )TTFF)	r   r7   r   r   _data_values_ndarraybaserc   )r    r   r9   r!   r_   ser2r   s          r"    test_getitem_boolean_dt64_copiesz7TestGetitemBooleanMask.test_getitem_boolean_dt64_copies  s    q\Bhh12SYY#h{{##((000 eAhCy||  (((r$   c                 L   |}|j                  dt                     |j                         kD  }d}t        j                  t
        |      5  ||    d d d        t        j                  t
        |      5  |j                  |    d d d        y # 1 sw Y   =xY w# 1 sw Y   y xY w)Nr   r   r  r>   )shiftr   r  r@   rA   r   r   )r    rJ   ru   mask_shiftedrE   s        r"   test_getitem_boolean_cornerz2TestGetitemBooleanMask.test_getitem_boolean_corner  s    xxx/"))+=I 	 ]]=4 	|	 ]]=4 	!FF< 	! 	!	 		! 	!s   B5BBB#c                 p    |j                         }||dkD     }||dkD     }t        j                  ||       y )Nr   )sort_valuesr.   r/   )r    r  orderedselr   s        r"   $test_getitem_boolean_different_orderz;TestGetitemBooleanMask.test_getitem_boolean_different_order  s=    ++-GaK(MA-.
sC(r$   c                    t        ddd      }t        j                  t        |      t              }d|dd ||   }|dd }|j
                  |j
                  k(  sJ t        j                  ||       d|d	<   ||   }|j
                  J y )
Nr{   z3/1/2000r   r   rM   Tr<         )r   r7   zerosrI   r  rl   r.   r  )r    r   r   maskedr2   s        r"   -test_getitem_boolean_contiguous_preserve_freqzDTestGetitemBooleanMask.test_getitem_boolean_contiguous_preserve_freq
  s    Zc:xxC-RTr":}}(((
fh/RT{{"""r$   N)
r   r   r   r	  r  r  r  r!  r&  r,  r   r$   r"   r  r    s%    =,46)!)#r$   r  c                       e Zd Zd Zy)TestGetitemCallablec                    t        dt        d            }|d    }||j                  d   k(  sJ |d    }|j                  ddg   }t        j                  ||       |d    }|j
                  g d	   }t        j                  ||       y )
Nr   ABCDr   c                      y)Nr   r   xs    r"   <lambda>z;TestGetitemCallable.test_getitem_callable.<locals>.<lambda>  s    r$   r   c                 
    ddgS )Nr   r   r   r2  s    r"   r4  z;TestGetitemCallable.test_getitem_callable.<locals>.<lambda>!  s
    Sz r$   r   c                 
    g dS )N)TFTTr   r2  s    r"   r4  z;TestGetitemCallable.test_getitem_callable.<locals>.<lambda>%  s    8 r$   )r   r(   r)   )r   rd   r   r.   r/   r]   r0   s       r"   test_getitem_callablez)TestGetitemCallable.test_getitem_callable  s    Qd6l+]#%%%)*77C:&
vx08988I&
vx0r$   N)r   r   r   r7  r   r$   r"   r.  r.    s    1r$   r.  c                     d | D        }| |   }| t        | dkD           }| | dkD     }t        j                  ||       t        j                  ||       y )Nc              3   &   K   | ]	  }|d kD    yw)r   Nr   ).0r3  s     r"   	<genexpr>z)test_getitem_generator.<locals>.<genexpr>+  s     
(Q1q5
(s   r   )iterr.   r/   )r  genr1   result2r2   s        r"   test_getitem_generatorr?  *  sY    
(-
(C3FD!234G]Q./H68,7H-r$   seriesr   z
2012-01-01r(   r   CETr|   c                 v    t        j                  t        d      5  | d d d f    d d d        y # 1 sw Y   y xY wr   )r@   rA   r   )r@  s    r"   test_getitem_ndim_deprecatedrC  3  s3     
z)E	F q$w  s   
/8c                     | }|d   }d}t        j                  t        |      5  |dddf    d d d        y # 1 sw Y   y xY w)Nr   z\(2000, slice\(3, 4, None\)\)r>   r   r)   r   )r@   rA   r   )/multiindex_year_month_day_dataframe_random_datadfr!   rE   s       r"   4test_getitem_multilevel_scalar_slice_not_implementedrG  @  sI     
9B
S'C
*C	y	, D!A#I  s	   
8Ac                      t        t        d            } t        d|       }t        | |       }d}t	        j
                  t        |      5  ||dkD      d d d        y # 1 sw Y   y xY w)Nr<   r   zWIndexing a Series with DataFrame is not supported, use the appropriate DataFrame columnr>   rU   )rd   rc   r   r
   r@   rA   r   )r   r!   rF  rE   s       r"   test_getitem_dataframe_raisesrI  L  sa    
uRy/C
3
C	3c	"B	/  
y	, BF  s   	AA'c                      t        t        d            } t        j                  g d      }t        g d      | |<   t        g d      }t	        j
                  | |       y )Nr<   )r(   r   r   )r<      ro   )
r   r   r<   r)   rK  rU   rT   r   r   ro   )r   rc   r7   r   r.   r/   )r!   r^   r2   s      r"   (test_getitem_assignment_series_alignmentrL  X  sI     r
C
((9
Cl#CH78H3)r$   c                     t        g dg d      } t        j                  t        d      5  | d     d d d        t        j                  t        d      5  | j                  j                  d        d d d        t        j                  t        d      5  | j                  j                  j                  d        d d d        y # 1 sw Y   xY w# 1 sw Y   _xY w# 1 sw Y   y xY w)N)r(   rU   rT   r   )g       @r   r   g      @r   Noner>   )r   r@   rA   rQ   r   r   _enginer!   s    r"   9test_getitem_duplicate_index_mistyped_key_raises_keyerrorrQ  b  s    
%9
:C	xv	. D	 
xv	.  		$  
xv	. (		!!$'( (    ( (s#   CC&CCCC%c                      t        t        d            } t        d      f}| |   }| |d      }t        j                  ||       y )NrU   r)   r   )r   rc   r   r.   r/   )r!   r9   r1   r2   s       r"   ,test_getitem_1tuple_slice_without_multiindexrS  o  sA    
q
C8+CXF3q6{H68,r$   c                 2   | | dkD     }|j                   | j                   k(  sJ d}t        j                  t        |      5  | g d   }d d d        |j                   | j                   k(  sJ | dd }|j                   | j                   k(  sJ y # 1 sw Y   ExY w)Nr   r=   r>   )r   r(   r   rU   r<   )r-   r.   rC   rD   )rJ   r1   rE   s      r"   test_getitem_preserve_namerU  x  s    _q01F;;/.....
GC		#	#M	= , +,;;/.....Qr"F;;/....., ,s   BBc            
         t        t        j                  j                  d      j	                  d      t        t        ddd                  } g d}t        j                  g d      }t        j                  t        d      5  | |    d d d        t        j                  t        d      5  | |    d d d        y # 1 sw Y   3xY w# 1 sw Y   y xY w)	Nr(   r<   r   r(  r   )r   r(   rU   r   r   znot in indexr>   )r   r7   rV   rW   rX   rd   rc   r   r@   rA   rQ   )r!   indsarr_indss      r"    test_getitem_with_integer_labelsrY    s    

		a 004Dq"a<QC Dxx(H	x~	6 D	 
x~	6 H   s   B<-C<CCc                     | j                   d   t               z
  }d}t        j                  t        |      5  | |    d d d        y # 1 sw Y   y xY w)Nr   z"Timestamp\('1999-12-31 00:00:00'\)r>   )r   r   r@   rA   rQ   )rJ   drE   s      r"   test_getitem_missingr\    sI    a 46)A
/C	xs	+   s   AAc                    d}t        j                  t        |      5  | g d   }|g d   }d d d        | j                  d   j                  d   k(  sJ |j                  d   j                  d   k(  sJ | j                  d   |j                  d   k(  sJ |j                  d   |j                  d   k(  sJ y # 1 sw Y   xY w)Nr=   r>   r   r(   r   )r.   rC   rD   r   r]   )r  object_seriesrE   slice1slice2s        r"   test_getitem_fancyra    s    
GC		#	#M	= *y)y)* q!V\\!_444q!V\\!_444a FKKN222a FKKN222* *s   B::Cc                     d}t        j                  t        |      5  | d   }d d d        t        t        j
                        sJ y # 1 sw Y   &xY w)Nr=   r>   rU   )r.   rC   rD   
isinstancer7   r  )rJ   rE   values      r"   test_getitem_box_float64re    sJ    
GC		#	#M	= #"#eRZZ(((# #s   A		Ac                  h    t        t        d      g d      } t        | d         sJ | d   dk(  sJ y )NrU   )r   r   r   r   r   r   r   r   )r   rc   r   )objs    r"   test_getitem_unordered_duprh    s5    
q!:
;CSXs8q==r$   c                      t        t        d      g dt        j                        } t        ddgddgt        j                        }| d   }t	        j
                  ||       y )NrU   )r   r   r   r   r   r   r)   r   r   )r   rc   r7   r\   r.   r/   )r!   r2   r1   s      r"   test_getitem_dupsrj    sL    
q!:"((
KCq!fS#Jbhh?HXF68,r$   c                      t        t        d      t        g d            } | d   }| j                  ddg   }t	        j
                  ||       y )NrU   )r   r   r   r   r   r   r   r   r)   )r   rc   r	   r]   r.   r/   )r!   r1   r2   s      r"   test_getitem_categorical_strrl    sC    
q-F!G
HCXFxxAH68,r$   c                  2    t        dg d      } | d d d    y )Nr   )r   r   r   r   r   r   rN   )r   rP  s    r"   +test_slice_can_reorder_not_uniquely_indexedrn    s    
3
4C"Ir$   
index_valsaabcdaadcbc                     t        t        d      t        |             }d}t        j                  t
        |      5  |d   }d d d        dk(  sJ y # 1 sw Y   xY w)NrU   r   r=   r>   r)   )r   rc   rd   r.   rC   rD   )ro  srE   r1   s       r"   0test_duplicated_index_getitem_positional_indexerrt    sX     	uQxtJ/0A
GC		#	#M	= 1Q;; s   AAc                       e Zd Zej                  j                  ddhddig      d        Zej                  j                  ddhddig      d        Zy)TestGetitemDeprecatedIndexersr9   r   c                     t        g d      }t        j                  t        d      5  ||    d d d        y # 1 sw Y   y xY w)Nr   as an indexer is not supportedr>   r   r@   rA   r   r    r9   r!   s      r"   $test_getitem_dict_and_set_deprecatedzBTestGetitemDeprecatedIndexers.test_getitem_dict_and_set_deprecated  s9     Y]]9,LM 	H	 	 		   8Ac                     t        g d      }t        j                  t        d      5  d||<   d d d        y # 1 sw Y   y xY w)Nr   rx  r>   r   ry  rz  s      r"   $test_setitem_dict_and_set_disallowedzBTestGetitemDeprecatedIndexers.test_setitem_dict_and_set_disallowed  s;     Y]]9,LM 	CH	 	 	r|  N)r   r   r   r@   r   r   r{  r~  r   r$   r"   rv  rv    s^    [[UaS1a&M2 3 [[UaS1a&M2 3r$   rv  )7__doc__r   r   r   numpyr7   r@   pandas._libs.tslibsr   r   pandas.core.dtypes.commonr   pandasr   r	   r
   r   r   r   r   r   r   r   pandas._testing_testingr.   pandas.core.indexingr   pandas.tseries.offsetsr   r   r   r   r  r.  r?  r   r   rC  rG  rI  rL  rQ  rS  rU  rY  r\  ra  re  rh  rj  rl  rn  rt  rv  r   r$   r"   <module>r     sT     
 0 
 
 
  . 'y yx@1 @1F> >Bq# q#h1 1 . 1vz,23z,e<=
		*
(-
/3)--
 '9: ; r$   