
    bMhF_                        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j$        %                    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j$        %                    d*d+d,g          d-             Z5 G d. d/          Z6dS )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                            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     i/var/www/html/test/jupyter/venv/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_values-   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!   keyr1   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            }d}d}t          j        t          |          5  t	          j        t          |          5  |d          d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )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   s   cURZurz222VP]:S111 	 	+MJJJ  C              	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s5   B	A*B*A.	.B1A.	2BB	Bc                    d}d}t          j        t          |          5  t          j        t
          |          5  |t          |                    d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )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   s   DP]:S111 	6 	6+MJJJ 6 6O 4 4556 6 6 6 6 6 6 6 6 6 6 6 6 6 6	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6s4   A6AA6A"	"A6%A"	&A66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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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   z^5$r>      z^'c'$r   )r(   r(   r   r   r   r   )	r   r7   randomdefault_rngstandard_normalr   r@   rA   rP   )r    any_int_numpy_dtyper8   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          j        d          }d}t          j        t          |          5  ||         }d d d            n# 1 swxY w Y   ||j        d         k    sJ d S )NrT   r=   r>   )r7   int64r.   rC   rD   iloc)r    rJ   idxrE   ress        r"   test_getitem_int64z+TestSeriesGetitemScalars.test_getitem_int64w   s    hqkkK'SAAA 	' 	'!#&C	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	'o*1-------s   	AAAc                     t          t          d          t          t          d                              }|t          t          d                             }t          j        ||           d S )NrT   r   r   rangelistr.   r/   r    r!   r1   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   r7   rU   rV   rW   rI   r.   assert_almost_equalr\   )r    rl   rngr!   r1   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   r7   rU   rV   rW   rI   rr   minuter   r   
_with_freqr.   r/   )r    r   rt   maskr1   r2   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!   r2   r1   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\   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,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   r7   arangerI   get_locr\   r@   rA   rP   )r    r   r!   r9   indexerr1   rE   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          }d}t          j        t          |          5  |d         }d d d            n# 1 swxY w Y   |dk    sJ d S )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   s    Aa(())K'SAAA 	 	VF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	{{{{{{s   	AA	A	N)__name__
__module____qualname__r#   r3   r:   rG   rK   rQ   rY   r_   re   r@   markparametrizerx   r   r   r   r   r   r   r    r$   r"   r   r   &   s_         1 1 1	 	 	  6 6 6    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   r.   r/   )r    arrr!   r1   r   r2   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   r7   rU   rV   rW   rI   r.   r/   )r    r]   rt   r1   r2   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   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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>   )r@   rA   
ValueErrorr7   newaxis)r    rJ   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   r7   rU   rV   rW   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===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                    }||         }|                    |          }t          j        ||           d S )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  sa     IIMMMNN
 
 S88I&&
vx00000r$   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)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,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   r7   rU   rV   rW   valuesr.   r/   r0   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   r@   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          } ||          }d}t          j        t          |          5  ||          d d d            d S # 1 swxY w Y   d S )NABCzENone of \[Index\(\['C'\], dtype='object|str'\)\] are in the \[index\]r>   )r   r@   rA   rP   )r    r   r!   r9   rE   s        r"   test_getitem_no_matchesz1TestSeriesGetitemListLike.test_getitem_no_matchesf  s     c3Z  cUmm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   r8   )r   r   r   Periodr.   r/   r8   )r    r!   r1   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                    t          dd                              d           }t          j                            |          }t          t          t          |                    |          }|j        d d         } |dg          }d}t          j
        t          |          5  ||         }d d d            n# 1 swxY w Y   t          j        ||           d S )	Nr   r)   r|   r   r   r   r=   r>   )r   r   r   IntervalIndexfrom_breaksr   rb   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11<<TBB))#..U3r77^^2...8BQB<c1#hhK'SAAA 	 	XF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
vx00000s   '	B<<C C r8   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   rT   5r>   )r   rb   astyper   r   
MultiIndexfrom_productr   rI   r@   rA   rP   )r    r8   r   r]   r   mir!   r9   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   r7   arrayr@   rA   rP   loc)r    any_unsigned_int_numpy_dtyper!   r9   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   r@   r   r   rc   r7   r   r   r   r   r   r   r[   float64uint64r   r   r   r$   r"   r   r   e  s       [UT28UF$CDD	 	 ED	
+ 
+ 
+ [UT28U$;<<1 1 =<1 [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   r.   r/   assert_index_equalr   )r    string_seriesr!   r   r1   r2   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[   )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   rO   r   r.   r/   r@   rA   r   bool)r    r!   r2   r1   rE   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 )NrT   r<   z=Cannot mask with non-boolean array containing NA / NaN valuesr>   )r  r   rO   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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   r7   r   r   _data_values_ndarraybaserb   )r    r   r9   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  r@   rA   r   r   )r    rJ   rt   mask_shiftedrE   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_valuesr.   r/   )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   r7   zerosrI   r  rk   r.   r  )r    r   r   maskedr2   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   r1  s    r"   r3  z;TestGetitemCallable.test_getitem_callable.<locals>.<lambda>  s
    Sz r$   r   c                 
    g dS )N)TFTTr   r1  s    r"   r3  z;TestGetitemCallable.test_getitem_callable.<locals>.<lambda>#  s    888 r$   )r   r(   r)   )r   rc   r   r.   r/   r\   r0   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   r6  r   r$   r"   r-  r-    s#        1 1 1 1 1r$   r-  c                     d | D             }| |         }| t          | dk                       }| | dk             }t          j        ||           t          j        ||           d S )Nc              3   "   K   | ]
}|d k    V  dS )r   Nr   ).0r2  s     r"   	<genexpr>z)test_getitem_generator.<locals>.<genexpr>)  s&      
(
(Q1q5
(
(
(
(
(
(r$   r   )iterr.   r/   )r  genr1   result2r2   s        r"   test_getitem_generatorr>  (  sq    
(
(-
(
(
(C3FD!2334G]Q./H68,,,7H-----r$   seriesr   z
2012-01-01r(   r   CETr{   c                     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@   rA   r   )r?  s    r"   test_getitem_ndim_deprecatedrB  1  s     
z)E	F	F	F  qqq$w                 s   6::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   )r@   rA   r   )/multiindex_year_month_day_dataframe_random_datadfr!   rE   s       r"   4test_getitem_multilevel_scalar_slice_not_implementedrF  >  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>   rT   )rc   rb   r   r
   r@   rA   r   )r   r!   rE  rE   s       r"   test_getitem_dataframe_raisesrH  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)   rJ  rT   rS   r   r   rn   )r   rb   r7   r   r.   r/   )r!   r]   r2   s      r"   (test_getitem_assignment_series_alignmentrK  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(   rT   rS   r   )g       @r   r   g      @r   Noner>   )r   r@   rA   rP   r   r   _enginer!   s    r"   9test_getitem_duplicate_index_mistyped_key_raises_keyerrorrP  `  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 )NrT   r)   r   )r   rb   r   r.   r/   )r!   r9   r1   r2   s       r"   ,test_getitem_1tuple_slice_without_multiindexrR  m  sQ    
q

C88+CXF3q6{H68,,,,,r$   c                    | | dk             }|j         | j         k    sJ d}t          j        t          |          5  | g d         }d d d            n# 1 swxY w Y   |j         | j         k    sJ | dd         }|j         | j         k    sJ d S )Nr   r=   r>   )r   r(   r   rT   r<   )r-   r.   rC   rD   )rJ   r1   rE   s      r"   test_getitem_preserve_namerT  v  s    _q01F;/.....
GC		#M	=	=	= , , +, , , , , , , , , , , , , , ,;/.....QrT"F;/.......s   AAA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(   rT   r   r   znot in indexr>   )r   r7   rU   rV   rW   rc   rb   r   r@   rA   rP   )r!   indsarr_indss      r"    test_getitem_with_integer_labelsrX    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   r@   rA   rP   )rJ   drE   s      r"   test_getitem_missingr[    s    a 466)A
/C	xs	+	+	+                   s   	AAAc                    d}t          j        t          |          5  | g d         }|g d         }d d d            n# 1 swxY w Y   | 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 d S )Nr=   r>   r   r(   r   )r.   rC   rD   r   r\   )r  object_seriesrE   slice1slice2s        r"   test_getitem_fancyr`    s   
GC		#M	=	=	= * *yyy)yyy)* * * * * * * * * * * * * * * q!V\!_4444q!V\!_4444a FKN2222a FKN222222s   ?AAc                     d}t          j        t          |          5  | d         }d d d            n# 1 swxY w Y   t          |t          j                  sJ d S )Nr=   r>   rT   )r.   rC   rD   
isinstancer7   r   )rJ   rE   values      r"   test_getitem_box_float64rd    s    
GC		#M	=	=	= # #"# # # # # # # # # # # # # # #eRZ(((((((s   	377c                      t          t          d          g d          } t          | d                   sJ | d         dk    sJ d S )NrT   )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 )NrT   )r   r   r   r   r   r   r)   r   r   )r   rb   r7   r[   r.   r/   )r!   r2   r1   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 )NrT   )r   r   r   r   r   r   r   r   r)   )r   rb   r	   r\   r.   r/   )r!   r1   r2   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   rO  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          |                     }d}t          j        t
          |          5  |d         }d d d            n# 1 swxY w Y   |dk    sJ d S )NrT   r   r=   r>   r)   )r   rb   rc   r.   rC   rD   )rn  srE   r1   s       r"   0test_duplicated_index_getitem_positional_indexerrs    s     	uQxxtJ//000A
GC		#M	=	=	=  1              Q;;;;;;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 )TestGetitemDeprecatedIndexersr9   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   r@   rA   r   r    r9   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   r@   r   r   rz  r|  r   r$   r"   ru  ru    s        [UaS1a&M22  32 [UaS1a&M22  32  r$   ru  )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   rB  rF  rH  rK  rP  rR  rT  rX  r[  r`  rd  rg  ri  rk  rm  rs  ru  r   r$   r"   <module>r     s                        
 0 / / / / /    
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
       . . . . . . ' ' ' ' ' 'y y y y y y y yx@1 @1 @1 @1 @1 @1 @1 @1F< < < < < < < <~q# q# q# q# q# q# q# q#h1 1 1 1 1 1 1 1 . . . 1vzz,22233zz,e<<<==   
	 	 		 	 	* * *
( 
( 
(- - -
/ 
/ 
/    3 3 3) ) )  - - -- - -  
 '9::  ;:         r$   