
    Pi [              
       |   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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j(        )                    dddg edd           eddd          g          d             Z*d Z+d Z,d  Z-d! Z.d" Z/d# Z0d$ Z1d% Z2d& Z3d' Z4d( Z5d) Z6d* Z7d+ Z8ej(        )                    d,d-d.g          d/             Z9 G d0 d1          Z:dS )2zJ
Series.__getitem__ test classes are organized by the type of key passed.
    )datedatetimetimeN)
conversion	timezones)np_version_gt2)Pandas4Warning)	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                            d
ddg          d             Zej                            dddg          d             Zd Zd Zd Zd Zd Zd ZdS )TestSeriesGetitemScalarsc                     t          dgdz  t          g d                    }|d         dk    sJ |d         dk    sJ d S )N      )abc      ?indexr   r   )r   r   selfsers     }/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/series/indexing/test_getitem.py&test_getitem_object_index_float_stringz?TestSeriesGetitemScalars.test_getitem_object_index_float_string*   sO    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        ||           d S )	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_values0   s     ---___5QQQS 66*3*5III---___5QQQS
vx00000r&   c                     t          ddgt          j        d          t          j        d          g          }|j        d         }||         }|dk    sJ d S )Nr   r*   Oi8r   )r   npdtyper    )r"   r#   keyr3   s       r$    test_getitem_unrecognized_scalarz9TestSeriesGetitemScalars.test_getitem_unrecognized_scalar?   sT     aVBHSMM28D>>#BCCCilS{{{{{{r&   c                     t          dgdz  dgdz            }t          j        t          d          5  |d          d d d            d S # 1 swxY w Y   d S )Nr   
   r   z^-11$matchir   pytestraisesKeyErrorr!   s     r$   #test_getitem_negative_out_of_boundsz<TestSeriesGetitemScalars.test_getitem_negative_out_of_boundsJ   s    cURZurz222]87333 	 	HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   	AAAc                     t          |          }t          j        t          t	          |                    5  ||          d d d            d S # 1 swxY w Y   d S )Nr?   )lenrB   rC   rD   str)r"   datetime_seriesNs      r$   %test_getitem_out_of_bounds_indexerrorz>TestSeriesGetitemScalars.test_getitem_out_of_bounds_indexerrorP   s      ]83q66222 	 	A	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   	AAAc                     t          g t                    }t          j        t          d          5  |d          d d d            d S # 1 swxY w Y   d S )Nr:   z-1r?   r   objectrB   rC   rD   r!   s     r$   4test_getitem_out_of_bounds_empty_rangeindex_keyerrorzMTestSeriesGetitemScalars.test_getitem_out_of_bounds_empty_rangeindex_keyerrorV   s     Rv&&&]84000 	 	GG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   	AAAc                    |}t          t          j                            d                              d          t          g d|                    }t          j        t          d          5  |d          d d d            n# 1 swxY w Y   t          j        t          d	          5  |d
          d d d            n# 1 swxY w Y   t          t          j                            d                              d          g d          }t          j        t          d          5  |d          d d d            n# 1 swxY w Y   t          j        t          d	          5  |d
          d d d            d S # 1 swxY w Y   d S )Nr*      )r   r   r   r   r*   r*   rM   r   ^5$r?      z^'c'$r   )r*   r*   r   r   r   r   )	r   r9   randomdefault_rngstandard_normalr   rB   rC   rD   )r"   any_int_numpy_dtyper:   r#   s       r$   (test_getitem_keyerror_with_integer_indexzATestSeriesGetitemScalars.test_getitem_keyerror_with_integer_index]   sv   #I!!!$$44Q77***%888
 
 

 ]86222 	 	FF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]88444 	 	HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 I!!!$$44Q77?Q?Q?Q
 
 
 ]86222 	 	FF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]88444 	 	HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sH   0	BB	B	+	C  CC)	D>>EE$	E::E>E>c                     t           rd}nd}t          j        d          }t          j        t
          |          5  ||          d d d            d S # 1 swxY w Y   d S )Nz^np.int64\(5\)$rT   rU   r?   )r   r9   int64rB   rC   rD   )r"   rI   msgidxs       r$   test_getitem_int64z+TestSeriesGetitemScalars.test_getitem_int64u   s     	$CCChqkk]83/// 	! 	!C  	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!s   	AAAc                     t          t          d          t          t          d                              }|t          t          d                             }t          j        ||           d S )NrU   r   r   rangelistr0   r1   r"   r#   r3   s      r$   test_getitem_full_rangez0TestSeriesGetitemScalars.test_getitem_full_range~   sU    U1XXT%((^^44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 d S )Nz2012-12-24 16:00z2012-12-24 18:00h)startendfreqtz)r    dataz2012-12-24 17:00)rl   i           r   )	r   maybe_get_tzr   r   hourr   r   r   localize_pydatetime)r"   rf   rl   r    tstime_pandasdttime_datetimes           r$   test_getitem_pydatetime_tzz3TestSeriesGetitemScalars.test_getitem_pydatetime_tz   s    #E**$*<35
 
 
 %ej111 2u===dBB**"6r2>>+"]"3333333r&   rl   z
US/Easternzdateutil/US/Easternc                    t          dd|          }t          t          j                            d                              t          |                    |          }|d         }t          j        ||j	        d                    d S )N1/1/2000r>   periodsrl   r*   r   1/3/2000)
r   r   r9   rV   rW   rX   rG   r0   assert_almost_equaliloc)r"   rl   rngr#   r3   s        r$    test_string_index_alias_tz_awarez9TestSeriesGetitemScalars.test_string_index_alias_tz_aware   st    RB777RY**1--==c#hhGGsSSSZ
vsx{33333r&   c                    t          ddd          }t          t          j                            d                              t          |                    |          }|j        dk    |j        dk    z  }|t          dd                   }||         }|j
                            d           |_
        t          j        ||           d S )	Nrz   z1/5/20005minrk   r*   r   	      )r   r   r9   rV   rW   rX   rG   rr   minuter   r    
_with_freqr0   r1   )r"   r   rt   maskr3   r4   s         r$   test_getitem_time_objectz1TestSeriesGetitemScalars.test_getitem_time_object   s    Zf===BI))!,,<<SXXFFcRRRA#*"23DBKKd8|..t44
vx00000r&   c                     t          t          d          t          d          g          }t          ddg|          }|j        d         }||d                  }||k    sJ d S )Nz
12-31-1999z
12-31-2000r   r*   r   r   )r   r   r   r   )r"   catsr#   r4   r3   s        r$   %test_getitem_scalar_categorical_indexz>TestSeriesGetitemScalars.test_getitem_scalar_categorical_index   si    Il33Y|5L5LMNNaV4(((8A;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                    d S )Nr   r   r   )r*   r   r   r   r   r   rN   r   r   r*   )r   pdCategoricalIndexr   r0   r1   )r"   r#   resr4   res2s        r$   8test_getitem_numeric_categorical_listlike_matches_scalarzQTestSeriesGetitemScalars.test_getitem_numeric_categorical_listlike_matches_scalar   s    ___B,?			,J,JKKK 1v}}}} 1#h8BCC=
sH---999~
tSXddd^44444r&   c                     t          g dt          g dd                    }|                    d          dk    sJ |d         dk    sJ d S )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   sY    ___E))):,N,N,NOOOwwqzzS    1v}}}}}}r&   c                 
   t          ddd          }t          t          j        t	          |                    |          }d}|                    |          }|dk    sJ ||         }||j        d         k    sJ d}t          j        t          |	          5  |                    d
           d d d            n# 1 swxY w Y   t          j        t          |	          5  |d
          d d d            d S # 1 swxY w Y   d S )N1 day 10:11:12rh     rk   r|   r   z6 days, 23:11:12   z!^Timedelta\('50 days 00:00:00'\)$r?   z50 days)
r   r   r9   arangerG   get_locr   rB   rC   rD   )r"   r   r#   r;   indexerr3   r]   s          r$   $test_getitem_str_with_timedeltaindexz=TestSeriesGetitemScalars.test_getitem_str_with_timedeltaindex   s   .S#FFFRYs3xx((444 ++c""#~~~~S#&&&&2]83/// 	# 	#KK	"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#]83/// 	 		NN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   B<<C C "	C88C<?C<c                     t          ddd          }t          j        t          d          5  |d          d d d            d S # 1 swxY w Y   d S )Nr   r   )TFz^0$r?   rA   r!   s     r$   "test_getitem_bool_index_positionalz;TestSeriesGetitemScalars.test_getitem_bool_index_positional   s    Aa(())]85111 	 	FF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   	AAAN)__name__
__module____qualname__r%   r5   r<   rE   rK   rQ   rZ   r_   re   rB   markparametrizerx   r   r   r   r   r   r   r    r&   r$   r   r   )   s_         1 1 1	 	 	        0! ! !, , , [W8P&QRR4 4 SR4 [TL2G#HII4 4 JI41 1 1" " "5 5 5    "    r&   r   c                      e Zd Zd Zd Zd Zd Zd Zd Ze	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d
S )TestSeriesGetitemSlicesc                     t          dd          }|                                }|d         }t          dd          }t          ||          }t          j        ||           d S )Nz1/1/2008z1/1/20092008z
2008-01-01z
2008-12-31)ri   rj   r   )r   	to_seriesr   r0   r1   )r"   arrr#   r3   r   r4   s         r$   1test_getitem_partial_str_slice_with_datetimeindexzITestSeriesGetitemSlices.test_getitem_partial_str_slice_with_datetimeindex   sd    Z00mmooV|>>>#S)))
vx00000r&   c                 h   t          g d          }t          t          j                            d                              t          |                    |          }|dd          }|dd          }t          j        ||           |dd         }|dd         }t          j        ||           d S )N)rz   1/2/2000r   r}   z1/4/2000r*   r   r   r   r}   r   )	r   r   r9   rV   rW   rX   rG   r0   r1   )r"   r^   rt   r3   r4   s        r$   -test_getitem_slice_strings_with_datetimeindexzETestSeriesGetitemSlices.test_getitem_slice_strings_with_datetimeindex   s    HHH
 
 BI))!,,<<SXXFFcRRRJKKabb6
vx000Jz)*ac7
vx00000r&   c                    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        ||           d S )
Nr   rh   r   r   r   z5 dayz6 dayV      r   r   r9   r   rG   r   r0   r1   r"   r   r#   r3   r4   s        r$   2test_getitem_partial_str_slice_with_timedeltaindexzJTestSeriesGetitemSlices.test_getitem_partial_str_slice_with_timedeltaindex   s    .S#FFFRYs3xx((444WW_%8BsF#
vx000WXX8BCC=
vx000XgX8DSD>
vx00000r&   c                 x   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 d S )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HHRYs3xx((444%&&'8ABB<
vx000)**+8DEE?
vx000./$''''''r&   c                     t          j        t          d          5  |d d t          j        f          d d d            d S # 1 swxY w Y   d S NzMulti-dimensional indexingr?   )rB   rC   
ValueErrorr9   newaxis)r"   rI   s     r$   test_getitem_slice_2dz-TestSeriesGetitemSlices.test_getitem_slice_2d  s    ]:-IJJJ 	+ 	+AAArzM**	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+s   A  AAc                    t          ddd          }t          t          j                            d                              d          |          }t          dd	d           g}d
}t          j        t          |          5  ||          d d d            n# 1 swxY w Y   ||d         f         }||d                  }t          j        ||           d S )N20090415200905192Br   r*      r   rS      z Indexing with a single-item listr?   r   )r   r   r9   rV   rW   rX   slicerB   rC   r   r0   r1   )r"   r    r#   r   r]   r3   r4   s          r$   test_getitem_median_slice_bugz5TestSeriesGetitemSlices.test_getitem_median_slice_bug   s
   :z===RY**1--==bAAOOOAt$$%0]:S111 	 	LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 gaj]#wqz?
vx00000s   	BBBzslc, positionsi  r   Nr   i  r*   i  r   c                    t          g dt          g d                    }d}t          j        t          |          5  ||         }d d d            n# 1 swxY w Y   |                    |          }t          j        ||           d S )Nr   )z
2019-01-01z2019-01-01T06:00:00z
2019-01-02z1Slicing with a datetime.date object is deprecatedr?   )r   r   r0   assert_produces_warningr	   taker1   )r"   slc	positionsr#   r]   r3   r4   s          r$   test_getitem_slice_datez/TestSeriesGetitemSlices.test_getitem_slice_date.  s     IIMMMNN
 
 B'cBBB 	 	XF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	88I&&
vx00000s   	AAAc                 P   d}t          j        t          |                    d                    5  |dd          d d d            n# 1 swxY w Y   t          j        t          |                    d                    5  |dd          d d d            d S # 1 swxY w Y   d S )	NzUcannot do slice indexing on DatetimeIndex with these indexers \[{key}\] of type floatz4\.0)r;   r?         @g      $@z4\.5g      @)rB   rC   	TypeErrorformat)r"   rI   r]   s      r$   test_getitem_slice_float_raisesz7TestSeriesGetitemSlices.test_getitem_slice_float_raisesD  s-   ' 	 ]9CJJ7J,C,CDDD 	& 	&CH%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& ]9CJJ7J,C,CDDD 	& 	&CH%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&s#   A		AABB"Bc                 P   t          t          d          t          t          d                              }|dd          }t          j        ||           |dd          }t          j        ||dd                     |d d         }t          j        ||d d                    d S )Nr>   r   iir+   r   ra   rd   s      r$   test_getitem_slice_bugz.TestSeriesGetitemSlices.test_getitem_slice_bugO  s    U2YYd599oo666STT
vs+++RSS
vs122w///TcT
vs2A2w/////r&   c                 
   t          t          j                            d                              d          g d          }|d d         }t          |j        d d         g d          }t          j        ||           d S )Nr*      )r*   r   rS   r   r>   rn         r   r   )r*   r   rS   r   )r   r9   rV   rW   rX   valuesr0   r1   r2   s       r$   test_getitem_slice_integersz3TestSeriesGetitemSlices.test_getitem_slice_integersZ  s    I!!!$$44Q77...
 
 

 RaR#*RaR.===
vx00000r&   )r   r   r   r   r   r   r   r   r   rB   r   r   r   r   r   r   r   r   r   r&   r$   r   r      s       	1 	1 	11 1 11 1 1 ( ( ( + + +
1 1 1 [U44a##T**III6U44a##T**QC0U44a##T**B/U4dAq))**III6U4dAq))**QC0	
	 	
1 
1	 	
1	& 	& 	&	0 	0 	01 1 1 1 1r&   r   c                      e Zd Zej                            deej        e	e
g          d             Zd Zej                            deej        e	g          d             Zej                            deej        e	g          ej                            dej        ej        ej        g          d                         Zd ZdS )	TestSeriesGetitemListLikeboxc                     t          ddg          }t          dgt                    } ||          }d}t          j        t          |          5  ||          d d d            d S # 1 swxY w Y   d S )NABCrM   zENone of \[Index\(\['C'\], dtype='object|str'\)\] are in the \[index\]r?   rO   )r"   r   r#   r;   r]   s        r$   test_getitem_no_matchesz1TestSeriesGetitemListLike.test_getitem_no_matchesf  s     c3Z  cU&)))c#hhV]83/// 	 	HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   	A''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 d S )Nz
2000-01-01r>   D)r|   rk   r*   r   
2000-01-03r   z
2000-01-05z	Period[D]r    r:   )r   r   r   Periodr0   r1   r:   )r"   r#   r3   exps       r$   *test_getitem_intlist_intindex_periodvalueszDTestSeriesGetitemListLike.test_getitem_intlist_intindex_periodvaluesr  s    \,EEEFFaVY|#...	,S0Q0Q0QRa&
 
 

 	vs+++|{******r&   c                 v   t          dd                              d           }t          j                            |          }t          t          t          |                    |          } |dg          }d}t          j	        t          |          5  ||          d d d            d S # 1 swxY w Y   d S )Nr   r+   r|   r   r   zCNone of \[Index\(\[0\], dtype='int(32|64)'\)\] are in the \[index\]r?   )r   r   r   IntervalIndexfrom_breaksr   rb   rG   rB   rC   rD   )r"   r   dtiiir#   r;   r]   s          r$   *test_getitem_intlist_intervalindex_non_intzDTestSeriesGetitemListLike.test_getitem_intlist_intervalindex_non_int~  s     q111<<TBB))#..U3r77^^2...c1#hhT]83/// 	 	HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   	B..B25B2r:   c                    t          t          d                                        |          }t          dd          }t          j                            ||g          }t          t          t          |                    d d d         |          } |dg          }t          j
        t          d	          5  ||          d d d            d S # 1 swxY w Y   d S )
Nr   r   r+   r   rN   r   rU   5r?   )r   rb   astyper   r   
MultiIndexfrom_productr   rG   rB   rC   rD   )r"   r:   r   r^   r   mir#   r;   s           r$   -test_getitem_intlist_multiindex_numeric_levelzGTestSeriesGetitemListLike.test_getitem_intlist_multiindex_numeric_level  s    E!HHoo$$U++q111]''c
33U3r77^^DDbD)444c1#hh]83/// 	 	HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   =	CCCc                 N   t          g d          }t          j        dg|          }t          j        t
          d          5  ||          d d d            n# 1 swxY w Y   t          j        t
          d          5  |j        |          d d d            d S # 1 swxY w Y   d S )Nr   r   rM   4r?   )r   r9   arrayrB   rC   rD   loc)r"   any_unsigned_int_numpy_dtyper#   r;   s       r$   test_getitem_uint_array_keyz5TestSeriesGetitemListLike.test_getitem_uint_array_key  s!   YYYhs">???]83/// 	 	HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]83/// 	 	GCLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   	AA A?BB!BN)r   r   r   rB   r   r   rc   r9   r   r   r   r   r   r   r\   float64uint64r   r  r   r&   r$   r   r   e  s       [UT28UF$CDD	 	 ED	
+ 
+ 
+ [UT28U$;<<
 
 =<
 [UT28U$;<<[WrxRY&GHH	 	 IH =<	    r&   r   c                   8    e Zd Zd Zd Zd Zd Zd Zd Zd Z	dS )	TestGetitemBooleanMaskc                     |}||                                 k    }|t          |                   }||         }t          j        ||           t          j        |j        |j        |                    d S )N)medianrc   r0   r1   assert_index_equalr    )r"   string_seriesr#   r   r3   r4   s         r$   test_getitem_booleanz+TestGetitemBooleanMask.test_getitem_boolean  sg    SZZ\\! T$ZZt9
vx000
flCIdO<<<<<r&   c                    t          g t          j                  }d|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            n# 1 swxY w Y   t          j        t          |          5  |t          d	gt                              d d d            d S # 1 swxY w Y   d S )
NrM   
index_namer   r   r\   )r:   r    sUnalignable boolean Series provided as indexer \(index of the boolean Series and of the indexed object do not matchr?   T)r   r9   r\   r    r/   isnar:   rP   r   r0   r1   rB   rC   r   bool)r"   r#   r4   r3   r]   s        r$   test_getitem_boolean_emptyz1TestGetitemBooleanMask.test_getitem_boolean_empty  s   Rrx(((%	#((**oy~----yBH$$$$ c3Zv...eBg.F.F.FGGGVBf---.
vx000
I 	 ]=444 	( 	(r&&&''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( ]=444 	, 	,vT***++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,s$   6DD#&D#E00E47E4c                 T   |}||                                 k    }|                    t                    }||         }||         }t          j        ||           |                                }|                                }d||<   d||<   t          j        ||           t          j        |dd<   d}	t          j	        t          |	          5  ||          d d d            n# 1 swxY w Y   t          j	        t          |	          5  d||<   d d d            d S # 1 swxY w Y   d S )NrU   r>   z=Cannot mask with non-boolean array containing NA / NaN valuesr?   )r  r   rP   r0   r1   copyr9   nanrB   rC   r   )
r"   r
  r#   r   omaskr3   r4   s2copr]   s
             r$   test_getitem_boolean_objectz2TestGetitemBooleanMask.test_getitem_boolean_object  s    SZZ\\!F## Ut9
vx000 XXZZhhjjE
4
sB''' fadM]:S111 	 	JJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:S111 	 	CJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   	C$$C(+C(
DD!$D!c                    t          ddd          }t          j        g d          }t          |j                  }||         }|j        j        j        J t          t          d                    }||         }|j        j        J d S )Nz
2016-01-01r   z
US/Pacificr{   )TTFF)	r   r9   r   r   _data_values_ndarraybaserb   )r"   r   r;   r#   r   ser2r   s          r$    test_getitem_boolean_dt64_copiesz7TestGetitemBooleanMask.test_getitem_boolean_dt64_copies  s    q\BBBh11122SY#h{#(000 eAhhCy| (((((r&   c                 x   |}|                     dt                                |                                k    }d}t          j        t
          |          5  ||          d d d            n# 1 swxY w Y   t          j        t
          |          5  |j        |          d d d            d S # 1 swxY w Y   d S )Nr   r   r  r?   )shiftr   r  rB   rC   r   r   )r"   rI   rt   mask_shiftedr]   s        r$   test_getitem_boolean_cornerz2TestGetitemBooleanMask.test_getitem_boolean_corner  s7   xxx//"))++=I 	 ]=444 	 	|	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]=444 	! 	!F<  	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!s$   	A..A25A2B//B36B3c                     |                                 }||dk             }||dk             }t          j        ||           d S )Nr   )sort_valuesr0   r1   )r"   r
  orderedselr   s        r$   $test_getitem_boolean_different_orderz;TestGetitemBooleanMask.test_getitem_boolean_different_order   sI    ++--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 d S )
Nrz   z3/1/2000r   r   rM   Tr>         )r   r9   zerosrG   r  rk   r0   r	  )r"   r   r   maskedr4   s        r$   -test_getitem_boolean_contiguous_preserve_freqzDTestGetitemBooleanMask.test_getitem_boolean_contiguous_preserve_freq  s    Zc:::xC---RUTr"u:}((((
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dS )TestGetitemCallablec                 .   t          dt          d                    }|d          }||j        d         k    sJ |d          }|j        ddg         }t          j        ||           |d          }|j        g d	         }t          j        ||           d S )
Nr   ABCDr   c                     dS )Nr   r   xs    r$   <lambda>z;TestGetitemCallable.test_getitem_callable.<locals>.<lambda>  s    s r&   r   c                 
    ddgS )Nr   r   r   r4  s    r$   r6  z;TestGetitemCallable.test_getitem_callable.<locals>.<lambda>  s
    Sz r&   r   c                 
    g dS )N)TFTTr   r4  s    r$   r6  z;TestGetitemCallable.test_getitem_callable.<locals>.<lambda>"  s    888 r&   )r   r*   r+   )r   rc   r   r0   r1   r   r2   s       r$   test_getitem_callablez)TestGetitemCallable.test_getitem_callable  s    Qd6ll+++]]#%%%%))*7C:&
vx0008898III&
vx00000r&   N)r   r   r   r9  r   r&   r$   r0  r0    s#        1 1 1 1 1r&   r0  c                     d | D             }| |         }| t          | dk                       }| | dk             }t          j        ||           t          j        ||           d S )Nc              3   "   K   | ]
}|d k    V  dS )r   Nr   ).0r5  s     r$   	<genexpr>z)test_getitem_generator.<locals>.<genexpr>(  s&      
(
(Q1q5
(
(
(
(
(
(r&   r   )iterr0   r1   )r
  genr3   result2r4   s        r$   test_getitem_generatorrA  '  sq    
(
(-
(
(
(C3FD!2334G]Q./H68,,,7H-----r&   rm   r   z
2012-01-01r*   r   CETr{   c                     t          |           }t          j        t          d          5  |d d d f          d d d            d S # 1 swxY w Y   d S r   )r   rB   rC   r   )rm   seriess     r$   test_getitem_ndim_deprecatedrE  0  s     D\\F	z)E	F	F	F  qqq$w                 s   AA	A	c                     | }|d         }d}t          j        t          |          5  |dddf          d d d            d S # 1 swxY w Y   d S )Nr   z\(2000, slice\(3, 4, None\)\)r?   r   r+   r   )rB   rC   r   )/multiindex_year_month_day_dataframe_random_datadfr#   r]   s       r$   4test_getitem_multilevel_scalar_slice_not_implementedrI  >  s     
9B
S'C
*C	y	,	,	,  D!A#I                 s   AA	Ac                     t          t          d                    } t          d|           }t          | |           }d}t	          j        t          |          5  ||dk              d d d            d S # 1 swxY w Y   d S )Nr>   r   zWIndexing a Series with DataFrame is not supported, use the appropriate DataFrame columnr?   rU   )rc   rb   r   r   rB   rC   r   )r   r#   rH  r]   s       r$   test_getitem_dataframe_raisesrK  J  s    
uRyy//C
3


C	3c	"	"	"B	/  
y	,	,	,  BF                 s   A66A:=A:c                      t          t          d                    } t          j        g d          }t          g d          | |<   t          g d          }t	          j        | |           d S )Nr>   )r*   r   r   )r>      rn   )
r   r   r>   r+   rM  rU   rS   r   r   rn   )r   rb   r9   r   r0   r1   )r#   r^   r4   s      r$   (test_getitem_assignment_series_alignmentrN  V  sl     r

C
(999

Clll##CH77788H3)))))r&   c                     t          g dg d          } t          j        t          d          5  | d           d d d            n# 1 swxY w Y   t          j        t          d          5  | j                            d            d d d            n# 1 swxY w Y   t          j        t          d          5  | j        j                            d            d d d            d S # 1 swxY w Y   d S )N)r*   rU   rS   r   )g       @r   r   g      @r   Noner?   )r   rB   rC   rD   r    r   _enginer#   s    r$   9test_getitem_duplicate_index_mistyped_key_raises_keyerrorrS  `  s   
%9%9%9
:
:
:C	xv	.	.	.  D		               
xv	.	.	.    	$                              
xv	.	.	. ( (	!!$'''( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (s5   	AA
A
,BBB9 C&&C*-C*c                      t          t          d                    } t          d          f}| |         }| |d                  }t          j        ||           d S )NrU   r+   r   )r   rb   r   r0   r1   )r#   r;   r3   r4   s       r$   ,test_getitem_1tuple_slice_without_multiindexrU  m  sQ    
q

C88+CXF3q6{H68,,,,,r&   c                 z    | | dk             }|j         | j         k    sJ | dd         }|j         | j         k    sJ d S )Nr   rU   r>   )r/   )rI   r3   s     r$   test_getitem_preserve_namerW  v  sQ    _q01F;/.....QrT"F;/.......r&   c            
         t          t          j                            d                              d          t          t          ddd                              } g d}t          j        g d          }t          j	        t          d          5  | |          d d d            n# 1 swxY w Y   t          j	        t          d          5  | |          d d d            d S # 1 swxY w Y   d S )	Nr*   r>   r   r*  r   )r   r*   rU   r   r   znot in indexr?   )r   r9   rV   rW   rX   rc   rb   r   rB   rC   rD   )r#   indsarr_indss      r$    test_getitem_with_integer_labelsr[  ~  s`   

	a  0044Dq"a<Q<Q  C ??Dx((H	x~	6	6	6  D		               
x~	6	6	6  H                 s$   	B((B,/B,	C$$C(+C(c                     | j         d         t                      z
  }d}t          j        t          |          5  | |          d d d            d S # 1 swxY w Y   d S )Nr   z"Timestamp\('1999-12-31 00:00:00'\)r?   )r    r   rB   rC   rD   )rI   dr]   s      r$   test_getitem_missingr^    s    a 466)A
/C	xs	+	+	+                   s   	AAAc                     d}t          j        t          |          5  | g d          d d d            n# 1 swxY w Y   t          j        t          |          5  |g d          d d d            d S # 1 swxY w Y   d S )NzINone of \[Index\(\[1, 2, 3\], dtype='int(32|64)'\)\] are in the \[index\]r?   r   rB   rC   rD   )r
  object_seriesr]   s      r$   test_getitem_fancyrb    s   
VC	xs	+	+	+ ! !iii  ! ! ! ! ! ! ! ! ! ! ! ! ! ! !	xs	+	+	+ ! !iii  ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !s   599A33A7:A7c                 ~    t          j        t          d          5  | d          d d d            d S # 1 swxY w Y   d S )NrT   r?   rU   r`  )rI   s    r$   test_getitem_box_float64rd    s    	xu	-	-	-                   s   	266c                      t          t          d          g d          } t          | d                   sJ | d         dk    sJ d S )NrU   )r   r   r   r   r   r   r   r   )r   rb   r
   )objs    r$   test_getitem_unordered_duprg    sN    
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        ||           d S )NrU   )r   r   r   r   r   r   r+   r   r   )r   rb   r9   r\   r0   r1   )r#   r4   r3   s      r$   test_getitem_dupsri    se    
q!:!:!:"(
K
K
KCq!fS#Jbh???HXF68,,,,,r&   c                      t          t          d          t          g d                    } | d         }| j        ddg         }t	          j        ||           d S )NrU   )r   r   r   r   r   r   r   r   r+   )r   rb   r   r   r0   r1   )r#   r3   r4   s      r$   test_getitem_categorical_strrk    s[    
q-F-F-F!G!G
H
H
HCXFxAH68,,,,,r&   c                  B    t          dg d          } | d d d          d S )Nr   )r   r   r   r   r   r   rN   )r   rR  s    r$   +test_slice_can_reorder_not_uniquely_indexedrm    s.    
333
4
4
4C"IIIIr&   
index_valsaabcdaadcbc                     t          t          d          t          |                     }t          j        t
          d          5  |d          d d d            d S # 1 swxY w Y   d S )NrU   r   z^3$r?   r+   )r   rb   rc   rB   rC   rD   )rn  ss     r$   0test_duplicated_index_getitem_positional_indexerrs    s     	uQxxtJ//000A	xu	-	-	-  	!                 s   	AA!$A!c                       e Zd Zej                            ddhddig          d             Zej                            ddhddig          d             ZdS )TestGetitemDeprecatedIndexersr;   r   c                     t          g d          }t          j        t          d          5  ||          d d d            d S # 1 swxY w Y   d S )Nr   as an indexer is not supportedr?   r   rB   rC   r   r"   r;   r#   s      r$   $test_getitem_dict_and_set_deprecatedzBTestGetitemDeprecatedIndexers.test_getitem_dict_and_set_deprecated  s     YYY]9,LMMM 	 	HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   	AA
Ac                     t          g d          }t          j        t          d          5  d||<   d d d            d S # 1 swxY w Y   d S )Nr   rw  r?   r   rx  ry  s      r$   $test_setitem_dict_and_set_disallowedzBTestGetitemDeprecatedIndexers.test_setitem_dict_and_set_disallowed  s     YYY]9,LMMM 	 	CH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A  AAN)r   r   r   rB   r   r   rz  r|  r   r&   r$   ru  ru    s        [UaS1a&M22  32 [UaS1a&M22  32  r&   ru  );__doc__r   r   r   numpyr9   rB   pandas._libs.tslibsr   r   pandas.compat.numpyr   pandas.errorsr	   pandas.core.dtypes.commonr
   pandasr   r   r   r   r   r   r   r   r   r   pandas._testing_testingr0   pandas.core.indexingr   pandas.tseries.offsetsr   r   r   r   r  r0  rA  r   r   rE  rI  rK  rN  rS  rU  rW  r[  r^  rb  rd  rg  ri  rk  rm  rs  ru  r   r&   r$   <module>r     s                         / . . . . . ( ( ( ( ( ( / / / / / /    
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
       . . . . . . ' ' ' ' ' 't t t t t t t tnB1 B1 B1 B1 B1 B1 B1 B1J; ; ; ; ; ; ; ;|q# q# q# q# q# q# q# q#h1 1 1 1 1 1 1 1 . . . 
	
A
<+++
<u555   	 	 		 	 	* * *
( 
( 
(- - -/ / /    ! ! !  
  - - -- - -  
 '9::  ;:         r&   