
    dX                        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     e/var/www/html/t/fyr/venv311/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          t          j        dd          t          j        dd                    }d}t          j        t
          |          5  |d          d d d            d S # 1 swxY w Y   d S )N   
   r   z2index -11 is out of bounds for axis 0 with size 10matchi)r   r.   rands_arraypytestraises
IndexError)r    r!   msgs      r"   #test_getitem_negative_out_of_boundsz<TestSeriesGetitemScalars.test_getitem_negative_out_of_boundsG   s    R^Ar**".R2H2HIIIB]:S111 	 	HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   	A++A/2A/c                     d}t          j        t          |          5  |t          |                    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>   )rA   rB   rC   lenr    datetime_seriesrD   s      r"   %test_getitem_out_of_bounds_indexerrorz>TestSeriesGetitemScalars.test_getitem_out_of_bounds_indexerrorN   s    D]:S111 	2 	2C0011	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2s   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r8   z-1r>   r   objectrA   rB   KeyErrorr   s     r"   4test_getitem_out_of_bounds_empty_rangeindex_keyerrorzMTestSeriesGetitemScalars.test_getitem_out_of_bounds_empty_rangeindex_keyerrorT   s     Rv&&&]84000 	 	GG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   	AAAc                    |}t          t          j                            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          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 )N   )r   r   r   r   r(   r(   rL   r   z^5$r>   r<   z^'c'$r   )r(   r(   r   r   r   r   )r   r7   randomrandnr   rA   rB   rP   )r    any_int_numpy_dtyper8   r!   s       r"   (test_getitem_keyerror_with_integer_indexzATestSeriesGetitemScalars.test_getitem_keyerror_with_integer_index[   sC   #RY__Q''u5G5G5Gu/U/U/UVVV]86222 	 	FF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]88444 	 	HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 RY__Q''/A/A/ABBB]86222 	 	FF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]88444 	 	HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sH   	A22A69A6	B--B14B1	DDD>	EEEc                 V    t          j        d          }||         |d         k    sJ d S Nr<   )r7   int64)r    rI   idxs      r"   test_getitem_int64z+TestSeriesGetitemScalars.test_getitem_int64n   s0    hqkks#q'9999999r$   c                     t          t          d          t          t          d                              }|t          t          d                             }t          j        ||           d S )Nr<   r   r   rangelistr.   r/   r    r!   r1   s      r"   test_getitem_full_rangez0TestSeriesGetitemScalars.test_getitem_full_ranger   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)ri   i           r   )	r   maybe_get_tzr   r   hourr   r   r   localize_pydatetime)r    rc   ri   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$   ri   z
US/Easternzdateutil/US/Easternc                     t          dd|          }t          t          j                            t          |                    |          }|d         }t          j        ||d                    d S )N1/1/2000r=   periodsri   r   1/3/2000r(   )r   r   r7   rT   rU   rG   r.   assert_almost_equal)r    ri   rngr!   r1   s        r"    test_string_index_alias_tz_awarez9TestSeriesGetitemScalars.test_string_index_alias_tz_aware   sb    RB777RY__SXX..c:::Z
vs1v.....r$   c                 r   t          ddd          }t          t          j                            t          |                    |          }|j        dk    |j        dk    z  }|t          dd                   }||         }|j	        
                    d           |_	        t          j        ||           d S )Nrw   z1/5/20005minrh   r   	      )r   r   r7   rT   rU   rG   ro   minuter   r   
_with_freqr.   r/   )r    r|   rq   maskr1   r2   s         r"   test_getitem_time_objectz1TestSeriesGetitemScalars.test_getitem_time_object   s    Zf===BIOOCHH--S999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   iloc)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   rM   r   r   r(   )r   pdCategoricalIndexr   r.   r/   )r    r!   resr2   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)   categoryrL   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:12h  rh   ry   r   z6 days, 23:11:12   z!^Timedelta\('50 days 00:00:00'\)$r>   z50 days)
r   r   r7   arangerG   get_locr   rA   rB   rP   )r    r|   r!   r9   indexerr1   rD   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                 J    t          ddd          }|d         }|dk    sJ d S )Nr   r   )TFr   ra   s      r"   "test_getitem_bool_index_positionalz;TestSeriesGetitemScalars.test_getitem_bool_index_positional   s1    Aa(())Q{{{{{{r$   N)__name__
__module____qualname__r#   r3   r:   rE   rJ   rQ   rW   r\   rb   rA   markparametrizeru   r}   r   r   r   r   r   r    r$   r"   r   r   &   s_         1 1 1	 	 	  2 2 2    &: : :, , , [W8P&QRR4 4 SR4 [TL2G#HII/ / JI/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)rf   rg   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                 B   t          g d          }t          t          j                            t          |                    |          }|dd          }|dd          }t          j        ||           |dd         }|dd         }t          j        ||           d S )N)rw   1/2/2000r   rz   z1/4/2000r   r   r   rz   r   )r   r   r7   rT   rU   rG   r.   r/   )r    r[   rq   r1   r2   s        r"   -test_getitem_slice_strings_with_datetimeindexzETestSeriesGetitemSlices.test_getitem_slice_strings_with_datetimeindex   s    HHH
 
 BIOOCHH--S999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   r   r   r   r   z5 dayz6 dayV      r   r   r7   r   rG   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>   )rA   rB   
ValueErrorr7   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          |          }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   rS      z Indexing with a single-item listr>   r   )r   r   r7   rT   rU   slicerA   rB   r   r.   r/   )r    r   r!   r   rD   r1   r2   s          r"   test_getitem_median_slice_bugz5TestSeriesGetitemSlices.test_getitem_median_slice_bug  s    :z===RY__R((666At$$%0]:S111 	 	LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 gaj]#wqz?
vx00000s   0	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_date"  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      @)rA   rB   	TypeErrorformatrH   s      r"   test_getitem_slice_float_raisesz7TestSeriesGetitemSlices.test_getitem_slice_float_raises6  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   r^   ra   s      r"   test_getitem_slice_bugz.TestSeriesGetitemSlices.test_getitem_slice_bugA  s    U2YYd599oo666STT
vs+++RSS
vs122w///TcT
vs2A2w/////r$   c                     t          t          j                            d          g d          }|d d         }t          |j        d d         g d          }t          j        ||           d S )N   )r(   r   rS   r   r=   rk         r   r   )r(   r   rS   r   )r   r7   rT   rU   valuesr.   r/   r0   s       r"   test_getitem_slice_integersz3TestSeriesGetitemSlices.test_getitem_slice_integersL  so    RY__Q''/K/K/KLLLRaR#*RaR.===
vx00000r$   )r   r   r   r   r   r   r   r   r   rA   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CrL   zANone of \[Index\(\['C'\], dtype='object'\)\] are in the \[index\]r>   rN   )r    r   r!   r9   rD   s        r"   test_getitem_no_matchesz1TestSeriesGetitemListLike.test_getitem_no_matchesU  s     c3Z  cU&)))c#hhR]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)ry   rh   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_periodvaluesa  s    \,EEEFFaVY|#...	,S0Q0Q0QRa&
 
 

 	vs+++|{******r$   c                 R   t          dd                              d           }t          j                            |          }t          t          t          |                    |          }|j        d d         } |dg          }||         }t          j
        ||           d S )Nr   r)   ry   r   r   r   )r   r   r   IntervalIndexfrom_breaksr   r_   rG   r   r.   r/   )r    r   dtiiir!   r2   r9   r1   s           r"   *test_getitem_intlist_intervalindex_non_intzDTestSeriesGetitemListLike.test_getitem_intlist_intervalindex_non_intm  s     q111<<TBB))#..U3r77^^2...8BQB<c1#hhS
vx00000r$   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   rM   r   r<   5r>   )r   r_   astyper   r   
MultiIndexfrom_productr   rG   rA   rB   rP   )r    r8   r   r[   r   mir!   r9   s           r"   -test_getitem_intlist_multiindex_numeric_levelzGTestSeriesGetitemListLike.test_getitem_intlist_multiindex_numeric_levely  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   rL   4r>   )r   r7   arrayrA   rB   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   rA   r   r   r`   r7   r   r   r   r   r   r   rZ   float64uint64r   r   r   r$   r"   r   r   T  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)medianr`   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          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 )
NrL   
index_namer   r   rZ   )r8   r   sUnalignable boolean Series provided as indexer \(index of the boolean Series and of the indexed object do not matchr>   T)r   r7   rZ   r   r-   isnar8   rO   r   r.   r/   rA   rB   r   bool)r    r!   r2   r1   rD   s        r"   test_getitem_boolean_emptyz1TestGetitemBooleanMask.test_getitem_boolean_empty  s   Rrx(((%	#((**oy~----yBH$$$$ c3Z  eBg.F.F.FGGGVBf---.
vx000
I 	 ]=444 	( 	(r&&&''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( ]=444 	, 	,vT***++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,s$   /DDD>E))E-0E-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 )Nr<   r=   z=Cannot mask with non-boolean array containing NA / NaN valuesr>   )r  r   rO   r.   r/   copyr7   nanrA   rB   r   )
r    r  r!   r   omaskr1   r2   s2coprD   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/Pacificrx   )TTFF)	r   r7   r   r   _data_values_ndarraybaser_   )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  rA   rB   r   r   )r    rI   rq   mask_shiftedrD   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 )
Nrw   z3/1/2000r   r   rL   Tr=         )r   r7   zerosrG   r  rh   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   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88 r$   )r   r(   r)   )r   r`   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   r7  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   ).0r3  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   CETrx   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   )rA   rB   r   )r@  s    r"   test_getitem_ndim_deprecatedrC    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   )rA   rB   r   )/multiindex_year_month_day_dataframe_random_datadfr!   rD   s       r"   4test_getitem_multilevel_scalar_slice_not_implementedrG  +  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>   r<   )r`   r_   r   r
   rA   rB   r   )r|   r!   rF  rD   s       r"   test_getitem_dataframe_raisesrI  7  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=      rk   )
r   r   r=   r)   rK  r<   rS   r   r   rk   )r   r_   r7   r   r.   r/   )r!   r[   r2   s      r"   'test_getitem_assignment_series_aligmentrL  C  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(   r<   rS   r   )g       @r   r   g      @r   Noner>   )r   rA   rB   rP   r   r   _enginer!   s    r"   9test_getitem_duplicate_index_mistyped_key_raises_keyerrorrQ  M  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 )Nr<   r)   r   )r   r_   r   r.   r/   )r!   r9   r1   r2   s       r"   ,test_getitem_1tuple_slice_without_multiindexrS  Z  sQ    
q

C88+CXF3q6{H68,,,,,r$   c                     | | dk             }|j         | j         k    sJ | g d         }|j         | j         k    sJ | dd         }|j         | j         k    sJ d S )Nr   )r   r(   r   r<   r=   )r-   )rI   r1   s     r"   test_getitem_preserve_namerU  c  su    _q01F;/.....YYY'F;/.....QrT"F;/.......r$   c            
         t          t          j                            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(   r<   r   r   znot in indexr>   )
r   r7   rT   rU   r`   r_   r   rA   rB   rP   )r!   indsarr_indss      r"    test_getitem_with_integer_labelsrY  n  sG   
$$Dq"a,A,A
B
B
BC??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   rA   rB   rP   )rI   drD   s      r"   test_getitem_missingr\  z  s    a 466)A
/C	xs	+	+	+                   s   	AAAc                     | g d         }|g d         }| j         d         |j         d         k    sJ |j         d         |j         d         k    sJ | d         |d         k    sJ |d         |d         k    sJ d S )Nr   r(   r   r   )r  object_seriesslice1slice2s       r"   test_getitem_fancyra    s    999%F999%Fq!V\!_4444q!V\!_4444vay((((vay((((((r$   c                 N    | d         }t          |t          j                  sJ d S rY   )
isinstancer7   r  )rI   values     r"   test_getitem_box_float64re    s*    AEeRZ(((((((r$   c                      t          t          d          g d          } t          | d                   sJ | d         dk    sJ d S )Nr<   )r   r   r   r   r   r   r   r   )r   r_   r   )objs    r"   test_getitem_unordered_duprh    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 )Nr<   )r   r   r   r   r   r   r)   r   r   )r   r_   r7   rZ   r.   r/   )r!   r2   r1   s      r"   test_getitem_dupsrj    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 )Nr<   )r   r   r   r   r   r   r   r   r)   )r   r_   r	   r   r.   r/   )r!   r1   r2   s      r"   test_getitem_categorical_strrl    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   rM   r   rP  s    r"   +test_slice_can_reorder_not_uniquely_indexedrn    s.    
333
4
4
4C"IIIIr$   
index_valsaabcdaadcbc                 |    t          t          d          t          |                     }|d         }|dk    sJ d S )Nr<   r   r)   )r   r_   r`   )ro  sr1   s      r"   0test_duplicated_index_getitem_positional_indexerrt    s>     	uQxxtJ//000AqTFQ;;;;;;r$   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   rA   rB   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   rx  r>   r   ry  rz  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   rA   r   r   r{  r}  r   r$   r"   rv  rv    s        [UaS1a&M22  32 [UaS1a&M22  32  r$   rv  )7__doc__r   r   r   numpyr7   rA   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     s                        
 0 / / / / /    
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
       . . . . . . ' ' ' ' ' 'k k k k k k k k\}1 }1 }1 }1 }1 }1 }1 }1@: : : : : : : :z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<<<==   
	 	 		 	 	* * *
( 
( 
(- - -/ / /	 	 	  ) ) )) ) )
  - - -- - -  
 '9::  ;:         r$   