
    Mh:                         S SK r S SKrS SKrS SKJrJrJrJrJ	r	J
r
JrJrJrJrJrJrJrJr  S SKJr  S SKJr   " S S5      r " S S5      r " S S	5      r " S
 S5      r " S S5      r " S S5      rg)    N)CategoricalCategoricalDtypeCategoricalIndex	DataFrame
DateOffsetDatetimeIndexIndex
MultiIndexSeries	Timestampconcat
date_rangeget_dummiesperiod_range)SparseArrayc                   2    \ rS rSrS rS rS rS rS rSr	g)	TestGetitem   c                     [        / SQSS//SS/SS//S9n[        S[        S5      US	9n[        R                  " [
        S
S9   US
     S S S 5        g ! , (       d  f       g = f)N)a_lotonlyone
notevenonei      r   )levelscodes   )indexcolumnsr   match)r
   r   rangepytestraisesKeyError)selfmidfs      Z/var/www/html/env/lib/python3.13/site-packages/pandas/tests/frame/indexing/test_getitem.py test_getitem_unused_level_raises,TestGetitem.test_getitem_unused_level_raises   s^    6r
Cq6Aq6"
 rq26]]8<8| 988s   A
A!c                 8   [        SSS9n[        [        R                  R	                  S5      R                  S5      US9nX!S      n[        R                  " X2R                  S S 2S4   5        US   n[        R                  " X2R                  S S 2S4   5        g )Nz1/1/2000   )periods   )
   r.   r    r   )	r   r   nprandomdefault_rngstandard_normaltmassert_series_equaliloc)r'   rngr)   tss       r*   test_getitem_periodindex$TestGetitem.test_getitem_periodindex&   s}    :q1ryy,,Q/??HRUVAZ
r771a4=1
^
r771a4=1    c                     [        [        S5      [        S5      /5      n[        SS/SS//SSS/US9n[        U5      nU[	        UR
                  5         n[        R                  " XB5        g )Nz
12-31-1999z
12-31-2000r   r   bool)dtyper   r    )r   r   r   r   listr    r7   assert_frame_equal)r'   catsexpecteddummiesresults        r*   1test_getitem_list_of_labels_categoricalindex_cols=TestGetitem.test_getitem_list_of_labels_categoricalindex_cols0   sh    Il3Y|5LMNq!fq!f-VAq6SWXd#goo./
f/r>   c                 &   [        SS/5      n[        SU05      n[        USS9nUS   n[        R                  " XC5        UR
                  S S 2S4   n[        R                  " XC5        UR                  S S 2S4   n[        R                  " XC5        g )Nr   r   Aname)r   r   r   r7   r8   r9   loc)r'   datar)   rE   rG   s        r*   0test_getitem_sparse_column_return_type_and_dtype<TestGetitem.test_getitem_sparse_column_return_type_and_dtype9   s    Aq6"T{#$S)C
v0 A
v03
v0r>   c                     [        SS//[        SS/SS9S9nUR                  nUS   n[        R                  " X#5        g )Nr   r0   rK   BstringrA   r2   )r   r	   rK   r7   r8   r'   r)   rG   rE   s       r*   test_getitem_string_columns'TestGetitem.test_getitem_string_columnsH   s?    AxSz)JKc7
v0r>    N)
__name__
__module____qualname____firstlineno__r+   r<   rH   rP   rW   __static_attributes__rY   r>   r*   r   r      s    	2011r>   r   c            	           \ rS rSrS rS rS r\R                  R                  S\
\\\S S // SQS	9\R                  R                  S
SS/5      S 5       5       rS rS rS rSrg)TestGetitemListLikeP   c                     [        S/S/S/S.5      n/ SQUl        [        R                  " [        SS9   U/ SQ     S S S 5        g ! , (       d  f       g = f)Ng      ?g       @      @)xyz)rd   rd   rf   z\['y'\] not in indexr!   )r   r    r$   r%   r&   r'   r)   s     r*   test_getitem_list_missing_key1TestGetitemListLike.test_getitem_list_missing_keyQ   sH     cU#cU;<$
 ]]8+BC DCCs   A
Ac                 @   [        [        R                  R                  S5      R	                  S5      [        S5      S9nSUR                  l        USS/   nUR                  R                  S:X  d   eUR                  S S 2SS 24   n[        R                  " X#5        g )Nr0   )   rk   AABCr2   foorS   C)r   r3   r4   r5   r6   rB   r    rM   r9   r7   rC   rV   s       r*   test_getitem_list_duplicates0TestGetitemListLike.test_getitem_list_duplicates[   s    II!!!$44V<d6l
  

S#J~~""e+++771ab5>
f/r>   c                     [        / SQ/ SQ// SQS9nSn[        R                  " [        [        R
                  " U5      S9   US/     S S S 5        g ! , (       d  f       g = f)Nr   r0   r   rk   r.      arv   br2   z"None of [Index(['baf'], dtype=r!   baf)r   r$   r%   r&   reescape)r'   r)   msgs      r*   test_getitem_dupe_cols*TestGetitemListLike.test_getitem_dupe_colsh   sC    	9-G0]]8299S>:wK ;::s   A
A idx_typec           
      P    [        [        U [        [        U 5      5      5      5      $ N)dictzipr#   lenkeyss    r*   <lambda>TestGetitemListLike.<lambda>u   s    c$c$i(89:r>   c           
      l    [        [        U [        [        U 5      5      5      5      R	                  5       $ r   )r   r   r#   r   r   r   s    r*   r   r   v   s"    c$c$i(89:??Ar>   )rB   iterr	   setr   	dict_keys)idsr   r   r0   c                    US:X  a  USpTOB[        [        R                  R                  S5      R	                  S5      [        / SQSS9S9nS	nUR                  S   UR                  S
   /nU" U5      n[        U" U5      5      n[        U[        [        45      (       a'  [        R                  " [        SS9   XG     S S S 5        g XG   n	UR                  S S 2U4   n
UR                  R                  U
R                  l        [         R"                  " X5        U" Xe/-   5      n[        R                  " [$        SS9   XG     S S S 5        g ! , (       d  f       g = f! , (       d  f       g = f)Nr   foodr0   )   r   ))rm   bar)bazqux)peekaboo)sthsth2rL   r2   )goodr   r   as an indexer is not supportedr!   znot in index)r   r3   r4   r5   r6   r	   r    rB   
isinstancer   r   r$   r%   	TypeErrorrN   namesr7   rC   r&   )r'   r~   r   float_frameframemissingr   idx	idx_checkrG   rE   s              r*   test_getitem_listlike)TestGetitemListLike.test_getitem_listliken   s4     Q;(&7 		%%a(88@F(E 'Ga %--"23tn$(	cC;''y0PQ
 R ZF99Q	\*!&!4!4
f/ti'(]]8>:J ;: RQ  ;:s   8E
<E

E
E)c                     [        / SQ/ SQS.5      nS S 5       nUR                  U   n[        SS/SS	/S.S
S/S9n[        R                  " X45        g )Nrr   rs   rv   rw   c              3   $   #    U  H  ov   M     g 7fr   rY   .0rd   s     r*   	<genexpr>BTestGetitemListLike.test_getitem_iloc_generator.<locals>.<genexpr>        %f1f   r   r0   r0   r   r.   rt   r   r   )r   r9   r7   rC   r'   r)   indexerrG   rE   s        r*   test_getitem_iloc_generator/TestGetitemListLike.test_getitem_iloc_generator   sT    YY78%f%!Aq6A71vF
f/r>   c                     [        / SQ/ SQS.5      nS S 5       nUR                  US4   n[        SS/S	SS
/S9n[        R                  " X45        g )Nrr   rs   r   c              3   $   #    U  H  ov   M     g 7fr   rY   r   s     r*   r   RTestGetitemListLike.test_getitem_iloc_two_dimensional_generator.<locals>.<genexpr>   r   r   r   r   r.   rt   rw   r0   )rM   r   )r   r9   r   r7   r8   r   s        r*   +test_getitem_iloc_two_dimensional_generator?TestGetitemListLike.test_getitem_iloc_two_dimensional_generator   sQ    YY78%f%!$1a&s1a&9
v0r>   c                 f   [        [        [        S5      5      [        SS[	        SS9S9S9nUR
                  SS n[        / S	Q[        / S
QS[	        SS9S9S9n[        R                  " X#5        [        [        [        S5      5      [        SS[	        SSS9S9S9nUR
                  SS n[        / S	Q[        / SQS[	        SSS9S9S9n[        R                  " X#5        [        [        [        S5      5      [        SS[	        SS9S9S9nUR
                  SS n[        R                  " X!5        g )Nr1   z
01-01-2022r   )days)r/   freqr   
2022-01-01
2022-01-03)r   r   r0   )r   z
2022-01-02r   zdatetime64[ns])rA   r   r0   )r   hours)z2022-01-01 00:00:00z2022-01-02 02:00:00z2022-01-03 04:00:00r   )minutes)	r   rB   r#   r   r   rN   r   r7   rC   rV   s       r*   !test_getitem_iloc_dateoffset_days5TestGetitemListLike.test_getitem_iloc_dateoffset_days   s%   rO\2JA<NO
 \2:&Q'
 	f/rObzq/J
 \2U&Qa0
 	f/rO\2Jq<QR
 \2
f)r>   rY   N)rZ   r[   r\   r]   rh   ro   r|   r$   markparametrizerB   r   r	   r   r   r   r   r   r^   rY   r>   r*   r`   r`   P   s     0 [[:A	
 B   [[X1v.# /#J01'*r>   r`   c                        \ rS rSrS rS rSrg)TestGetitemCallable   c                 V   US    nUR                   S S 2S4   n[        R                  " X#5        US    nUR                   S S 2SS/4   n[        R                  " X!R                   S S 2SS/4   5        US S nUS    nUR                  SS/S S 24   n[        R                  " X#5        g )	Nc                     g)NrK   rY   rd   s    r*   r   ;TestGetitemCallable.test_getitem_callable.<locals>.<lambda>   s    sr>   rK   c                 
    SS/$ )NrK   rS   rY   r   s    r*   r   r      s    Szr>   rS   r   c                 
    / SQ$ )N)TFTrY   r   s    r*   r   r      s    1r>   r   r0   )rN   r7   r8   rC   r9   )r'   r   rG   rE   r)   s        r*   test_getitem_callable)TestGetitemCallable.test_getitem_callable   s    ]+??1c6*
v012??1sCj=1
fooa#sm&DE!_12##QFAI.
f/r>   c                     [        SS//SS//S9n[        S/S//S9nUS   n[        R                  " X25        UR                  S S 2S4   n[        R                  " X25        g )Nr   r0   rv   rw   r2   )r   r7   rC   rN   )r'   r)   rE   rG   s       r*   %test_loc_multiindex_columns_one_level9TestGetitemCallable.test_loc_multiindex_columns_one_level   sb    Ax3*6aSC5'2C
f/3
f/r>   rY   N)rZ   r[   r\   r]   r   r   r^   rY   r>   r*   r   r      s    0	0r>   r   c                   z   \ rS rSrS r\R                  R                  SSS/SS//SS	/S
S//\R                  S/\R                  S/\R                  S/SS//4SS/SS//SS	/S
S//\R                  S/\R                  S/SS
/S	S//445      S 5       r
\R                  S 5       rS rS rS rS rS rS rSrg)TestGetitemBooleanMask   c                 z   [        S[        R                  " SSS90[        / SQ[	        / SQSS9S	S
9S9n[        S[        R                  " SSS90[        / SQ[	        / SQSS9S	S
9S9nXR
                  S:H     nUR                  /    n[        R                  " X45        X"R
                  S:H     nUR                  /    n[        R                  " X45        XR
                  S:H     nUR                  / SQ   n[        R                  " X45        X"R
                  S:H     nUR                  / SQ   n[        R                  " X45        XR
                  S:     nUR                  S/   n[        R                  " X45        XR
                  S:     nUR                  /    n[        R                  " X45        Sn[        R                  " [        US9   X"R
                  S:       S S S 5        [        R                  " [        US9   X"R
                  S:       S S S 5        g ! , (       d  f       NB= f! , (       d  f       g = f)NrK   rt   int64rU   )r   r   r0   r   r   r0   )r   r0   r   T)orderedrS   )rA   rM   r   Frv   r   )r   r   r   r0   rk   z7Unordered Categoricals can only compare equality or notr!   )r   r3   aranger   r   r   r9   r7   rC   r$   r%   r   )r'   df3df4rG   rE   r{   s         r*   (test_getitem_bool_mask_categorical_index?TestGetitemBooleanMask.test_getitem_bool_mask_categorical_index   s   RYYq0 #"&y$?		
 RYYq0 #"&y%@		
 YY#%&88B<
f/YY#%&88B<
f/YY!^$88I&
f/YY!^$88I&
f/ YY]#88QC=
f/YY]#88B<
f/ H]]9C0		A 1]]9C0		A 10 1000s   H H,
H),
H:zdata1,data2,expected_datar   r0   r   rk   g      ?rt      r   rc   g      @g      @g      @g       @r.   c                 z   [        [        R                  " U5      5      n[        [        R                  " U5      5      n[        XE/SS9nXfS:     n[	        U5       VV	s0 s H  u  pU[        R                  " U	5      _M     n
nn	[        U
5      R                  SSS.S9n[        R                  " X{5        g s  sn	nf )Nr   )axisr0   r   )r0   r   r2   )r   r3   arrayr   	enumeraterenamer7   rC   )r'   data1data2expected_datadf1df2r)   rG   icolexdictrE   s               r*   5test_getitem_bool_mask_duplicate_columns_mixed_dtypesLTestGetitemBooleanMask.test_getitem_bool_mask_duplicate_columns_mixed_dtypes7  s    . ((SJQ'F1:=1IJ1Ivq!RXXc]"1IJV$++aL+A
f/ Ks   #B7c                 l    / SQn[        [        R                  " S5      R                  SS5      USS9nU$ )N)rK   rK   rn   D   r   rk   float64r    rA   )r   r3   r   reshape)r'   dupsr)   s      r*   df_dup_cols"TestGetitemBooleanMask.df_dup_colsX  s/    #ryy},,Q2D	R	r>   c                     UnSn[         R                  " [        US9   X"R                  S:       S S S 5        g ! , (       d  f       g = f)Nz/cannot reindex on an axis with duplicate labelsr!   rt   )r$   r%   
ValueErrorrK   )r'   r   r)   r{   s       r*   ;test_getitem_boolean_frame_unaligned_with_duplicate_columnsRTestGetitemBooleanMask.test_getitem_boolean_frame_unaligned_with_duplicate_columns^  s5     ?]]:S1ttaxL 211s	   9
Ac                     [        [        R                  " S5      R                  SS5      / SQSS9nX"R                  S:     nUR
                  Ul        UnX"R                  S:     n[        R                  " XC5        g Nr   r   rk   )rK   rS   rn   r   r   r   rt   )r   r3   r   r   rn   r    r7   rC   r'   r   r)   rE   rG   s        r*   2test_getitem_boolean_series_with_duplicate_columnsITestGetitemBooleanMask.test_getitem_boolean_series_with_duplicate_columnsg  sl     IIbM!!!Q'1EY
 ddQh<&..DD1H
f/r>   c                     [        [        R                  " S5      R                  SS5      / SQSS9nX"S:     nUR                  Ul        UnX"S:     n[
        R                  " XC5        g r   )r   r3   r   r   r    r7   rC   r   s        r*   1test_getitem_boolean_frame_with_duplicate_columnsHTestGetitemBooleanMask.test_getitem_boolean_frame_with_duplicate_columnsu  sb    IIbM!!!Q'1EY
 1f:&..F
f/r>   c                 R    [        5       nXS:     n[        R                  " X5        g )Nr   )r   r7   rC   )r'   r)   r   s      r*   %test_getitem_empty_frame_with_boolean<TestGetitemBooleanMask.test_getitem_empty_frame_with_boolean  s$     [aj
b&r>   c                 4   [        / SQ/ SQ// SQS9nUR                  5       nUS   n[        R                  " U5         SUR                  S S & S S S 5        U(       a  UnO[        / SQ/ SQ// SQS9n[        R
                  " X65        g ! , (       d  f       NA= f)	Nrr   rs   ru   r2   rw   d   )r   r0   r  )rk   r.   r  )r   copyr7   assert_cow_warningrN   rC   )r'   using_copy_on_writewarn_copy_on_writer)   df_origviewrE   s          r*   5test_getitem_returns_view_when_column_is_unique_in_dfLTestGetitemBooleanMask.test_getitem_returns_view_when_column_is_unique_in_df  sz     	9-G'')#w""#56DHHQK 7H +{!;_UH
b+ 76s   B		
Bc                     [        / SQ/[        S/5      SSS/S9nU[        S/5         n[        S/[        S/5      S9n[        R                  " X#5        g )N)r   r0   r   rk   KEYrS   rn   r2   r   rL   )r   	frozensetr   r7   r8   rV   s       r*   'test_getitem_frozenset_unique_in_column>TestGetitemBooleanMask.test_getitem_frozenset_unique_in_column  sT    ~	5'0BCc/RSIug&'1#Iug$67
v0r>   rY   N)rZ   r[   r\   r]   r   r$   r   r   r3   nanr   fixturer   r   r   r   r  r  r  r^   rY   r>   r*   r   r      s   ?B [[# Q!Q qAq6"&&#}sCjI Q!Q Q!Q &&#1v1v>	
00$ ^^ 
00',1r>   r   c                   &    \ rS rSrS rS rS rSrg)TestGetitemSlicei  c                    [         R                  " SSS5      n[        U5      nUSS/   u  pE[         R                  R	                  S5      R                  S5      nU[        La	  US S 2S4   nU" XcS9nXtU nUR                  SS	 n	[        R                  " X5        UR                  XE n[        R                  " X5        g )
Ng      $@g      I@r0   r.      )   r   r   r      )r3   r   r	   r4   r5   r6   r   r9   r7   assert_equalrN   )
r'   frame_or_seriesvaluesr   startendrO   objrG   rE   s
             r*   test_getitem_slice_float64+TestGetitemSlice.test_getitem_slice_float64  s    4q)fQG_
yy$$Q'77@)+1:Dd0388Ab>
)#
)r>   c                     [        SS0[        / SQ5      S9n[        R                  " [        SS9   USS   S S S 5        g ! , (       d  f       g = f)	Nrv   r   )z11.01.2011 22:00z11.01.2011 23:00z12.01.2011 00:00z2011-01-13 00:00r   z,Value based partial slicing on non-monotonicr!   z
2011-01-01z
2011-11-01)r   r   r$   r%   r&   rg   s     r*   test_getitem_datetime_slice,TestGetitemSlice.test_getitem_datetime_slice  sP    !H

 ]]J
 |L)
 
 
s   A  
Ac                 B   [        [        R                  R                  S5      R	                  S5      5      nUR
                  [        S S S5      4   nUR                  S:X  d   eUR
                  [        S S S5      [        S 5      4   n[        R                  " X#5        g )Nr0   )r1   r   )r.   r   )
r   r3   r4   r5   r6   r9   sliceshaper7   rC   rV   s       r*   )test_getitem_slice_same_dim_only_one_axis:TestGetitemSlice.test_getitem_slice_same_dim_only_one_axis  s    ryy,,Q/??HI%dA.01||v%%%775tQ/t<=
f/r>   rY   N)rZ   r[   r\   r]   r   r#  r(  r^   rY   r>   r*   r  r    s    *&*$0r>   r  c                   d    \ rS rSr\R
                  R                  SSS1SS0/5      S 5       rSrg)TestGetitemDeprecatedIndexersi  keyrv   rw   c                     [        SS/SS//[        R                  " SS/5      S9n[        R                  " [
        SS	9   X!     S S S 5        g ! , (       d  f       g = f)
Nr   r0   r   rk   )rv   r   )rw   r0   r2   r   r!   )r   r
   from_tuplesr$   r%   r   )r'   r,  r)   s      r*   $test_getitem_dict_and_set_deprecatedBTestGetitemDeprecatedIndexers.test_getitem_dict_and_set_deprecated  sS     VaVj&<&<h=Q&R
 ]]9,LMG NMMs    A
ArY   N)	rZ   r[   r\   r]   r$   r   r   r/  r^   rY   r>   r*   r+  r+    s2    [[Uc3Z#s$<= >r>   r+  )ry   numpyr3   r$   pandasr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   pandas._testing_testingr7   pandas.core.arraysr   r   r`   r   r   r  r+  rY   r>   r*   <module>r6     sn    	        *31 31lF* F*R0 08i1 i1X,0 ,0^ r>   