
    d4                        d Z ddlmZ ddlZddlZddlZddlmZ ddl	m
Z
mZmZmZmZmZmZmZmZmZmZmZ ddlmZ d Zd Zd Zd	 Zd
 Zd Zej                             d edg dd           eddi           eddie!          g eg dg dd           edg di           edg di          gg          d             Z"d Z#d Z$d Z%d Z&d Z'd Z(d Z)d Z*d Z+d Z,d Z-d  Z.d! Z/d" Z0ej                             d# ed$d%d&'           ed(d%d)'           ed*d%d+'          g          d,             Z1d- Z2d. Z3d/ Z4d0 Z5d1 Z6d2 Z7d3 Z8d4 Z9ej                             d5i d6d7ig          ej                             d8g d9d9g e:dd:           ej;        g           g          d;                         Z< G d< d=          Z=dS )>z test get/set & misc     )	timedeltaN)IndexingError)NA	DataFrameIndex
IndexSlice
MultiIndexSeries	Timedelta	Timestampconcat
date_rangeperiod_rangetimedelta_rangec                     t          t          j                            d          g d          } 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            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	          j        t          |          5  | d          d d d            n# 1 swxY w Y   d	}t	          j        t          |          5  d| d<   d d d            d S # 1 swxY w Y   d S )
N   )abr   r   r   indexz/index 5 is out of bounds for axis 0 with size 5matchr   z^'c'$cz7index 5 is out of bounds for axis (0|1) with size 5|^5$)	r
   nprandomrandnpytestraises
IndexErrorKeyError
sort_index)smsgs     f/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/series/indexing/test_indexing.pytest_basic_indexingr%      s   ryq!!)B)B)BCCCA
;C	z	-	-	-  	!              	z	-	-	-  !               
xx	0	0	0  	#               	
A	z	-	-	-  	!              
DC	z	-	-	-  !                 sZ   	A##A'*A'	BB"B	CCC	D%%D),D)E  E$'E$c                     | }t          g d|          }t          t          d          |          }|d         }t          ddgt          ddg|                    }t          j        ||d	           d S )
N   r   r(   dtype   r   r(   r      Tcheck_exactr   r
   rangetmassert_series_equal)any_numeric_dtyper*   idxserresultexpecteds         r$   6test_getitem_numeric_should_not_fallback_to_positionalr8   0   s    E
			
'
'
'C
q
%
%
%CVFq!fE1a&$>$>$>???H68>>>>>>    c                     | }t          g d|          }t          t          d          |          }d|d<   t          g d|          }t          j        ||d	           d S )
Nr'   r)   r+   r   
   r(   )r;   r(   r;   Tr-   r/   )r3   r*   r4   r5   r7   s        r$   6test_setitem_numeric_should_not_fallback_to_positionalr<   :   sr    E
			
'
'
'C
q
%
%
%CCFkkk---H3d;;;;;;r9   c                    | j         g d         }| |         }|                     |          }t          j        ||           | |d         |d                  }| j        |d         |d                  }t          j        ||           d S )Nr   r;      r   r,   )r   reindexr1   r2   loc)datetime_seriesindicesr6   r7   s       r$   test_basic_getitem_with_labelsrD   D   s    #KKK0GW%F&&w//H68,,,WQZ'!*45F"71:
#:;H68,,,,,r9   c                      t          t          ddd          g d          } t          dd          }| j        d         }||k    sJ | j        d	         }||k    sJ | d         }||k    sJ d S )
Nz
2011-01-01r+   z
US/Eastern)periodstzr   r   r   r   )rG   r   r   )r
   r   r   rA   iloc)r5   r7   r6   s      r$    test_basic_getitem_dt64tz_valuesrJ   P   s     <|<<<OOO  C ,777HWS\FXXa[FXXFXr9   c                      t          t          j                            d                    } | d         }t	          j        ||            d| d<   |dk                                    sJ d S )Nr;   .r   )r
   r   r   r   r1   r2   all)r"   r6   s     r$   test_getitem_setitem_ellipsisrM   _   sd    ryr""##AsVF61%%%AcFaKr9   z$result_1, duplicate_item, expected_1   )r(   r,   r,   r+   r(   r,   r(   i9  r)   r(   r,   r+   c                     |                      |          }|                     |          }t          j        |d         |           |d         | d         k    sJ d S )Nr(   r,   )_appendr1   r2   )result_1duplicate_item
expected_1r6   r7   s        r$   $test_getitem_with_duplicates_indicesrV   i   s`    " n--F!!.11H6!9h///!9######r9   c                      t          g dg d          } | j        d         | d         k    sJ d| j        d<   t          j        | d         d           d S )NrP   rH   r   r   r   )r
   rI   r1   assert_almost_equalr"   s    r$   test_getitem_setitem_integersrZ      s\    yyy///**A6!9#AF1I1S61%%%%%r9   c                     t          ddd          } t          |           }t          |d         t                    sJ t          |j        d         t                    sJ t          |j        d         t                    sJ t          |j        d         t                    sJ t          |j        d	         t                    sJ t          | | 
          }t          |d         t                    sJ t          |j        | d                  t                    sJ t          |j        d         t                    sJ t          |j        | d                  t                    sJ t          |j        d	         t                    sJ d S )N2009041520090519B)freqr   r(   r,   r+      r   )r   r
   
isinstancer   atiatrA   rI   rngr5   s     r$   test_series_box_timestamprf      sU   
Z#
6
6
6C
++Cc!fi(((((cfQi+++++cgaj),,,,,cgaj),,,,,chqk9-----
C
 
 
 Cc!fi(((((cfSVni00000cgaj),,,,,cgc!foy11111chqk9-------r9   c                     t          ddd          } t          |           }t          |d         t                    sJ t          |j        d         t                    sJ t          |j        d         t                    sJ t          |j        d         t                    sJ t          |j        d	         t                    sJ d S )
Nz	1 day 1 sr   hrF   r_   r   r(   r,   r+   r`   )r   r
   ra   r   rb   rc   rA   rI   rd   s     r$   test_series_box_timedeltarj      s    
+qs
;
;
;C
++Cc!fi(((((cfQi+++++cgaj),,,,,cgaj),,,,,chqk9-------r9   c           
         t          t          d          t          t          ddd                              }t          j        t
          d          5   | |          d          d d d            d S # 1 swxY w Y   d S )	Nr;   r      r,   r   z^1$r   r(   )r
   r0   listr   r   r    
indexer_slr5   s     r$   test_getitem_ambiguous_keyerrorrp      s    
r$uQA"7"7
8
8
8C	xv	.	.	.  
3                 s   A55A9<A9c                     t          g dg d          }t          j        t          t	          j        d                    5   | |          g d          d d d            d S # 1 swxY w Y   d S )N)r(   r,   r+   r`   )foobarrr   bahz['bam'] not in indexr   )rr   rs   rt   bam)r
   r   r   r    reescapern   s     r$   test_getitem_dups_with_missingrx      s     ;;;
<
<C	xry1G'H'H	I	I	I 6 6
3444556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6s   A##A'*A'c           
      ,   t          t          d          t          t          ddd                              }|                                }d | |          d<   t	          |t          dgdg          g          }t          j        ||           d S )Nr;   r   rl   r,   r   r   r(   )r
   r0   rm   copyr   r1   r2   )ro   r"   s2r7   s       r$   test_setitem_ambiguous_keyerrorr|      s    uRyyU1b!__ 5 5666A 
BJJrNN1q&!QC000122H2x(((((r9   c                 P   t           j        | | j        d         <   t           j        | g d<   t           j        | d<   t          j        | d                   sJ t          j        | d                   sJ d| t          j        |           <   t          j        | d                   rJ d S )Nr   )r(   r,         r,   )r   NaNr   isnan)rB   s    r$   test_setitemr      s    02OO)!,-"$&OJJJOA8OA&'''''8OA&'''''12OBH_--.x*+++++++r9   c                     | dd         }t          |          t          |j                  k    sJ |j        j        du sJ d S )Nr   rl   T)lenr   	is_unique)rB   sls     r$   test_setslicer      sK    	2	Br77c"(mm####8%%%%%%r9   c                 0   d}t          j        t          |          5  | d d df          d d d            n# 1 swxY w Y   t          j        t          |          5  d| d d df<   d d d            n# 1 swxY w Y   d}t          j        t          |          5  | t	          d d          g          d d d            n# 1 swxY w Y   | t	          d d          f         }| d d         }t          j        ||           d}t          j        t          |          5  | dt	          d d           g          d d d            n# 1 swxY w Y   t          j        t          |          5  d| dt	          d d           g<   d d d            d S # 1 swxY w Y   d S )Nz0key of type tuple not found and not a MultiIndexr   r,   z Indexing with a single-item listr   zunhashable type(: 'slice')?)r   r   r    
ValueErrorslicer1   r2   	TypeError)rB   r#   r6   r7   s       r$   !test_basic_getitem_setitem_cornerr      s   
<C	xs	+	+	+  1              	xs	+	+	+ " " !1" " " " " " " " " " " " " " " -C	z	-	-	- * *tQ())* * * * * * * * * * * * * * *
 eD!nn./Frr"H68,,, )C	y	,	,	, 0 0E$--.//0 0 0 0 0 0 0 0 0 0 0 0 0 0 0	y	,	,	, 4 423E$--./4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4sT   7;;
A33A7:A7B??CCEE	E(FFFc                    |                                  }| dd         }| dd          }|dd         }| j        d         |j        vsJ |j        d         |j        vsJ t          |          t          |j                  k    sJ | |j        d                  ||j        d                  k    sJ |j        d         | j        d         k    sJ t          j        |t          j        |           dd                    sJ | dd         }d|d d <   |rt          j        | |           d S | dd         dk                                    sJ d S )Nr;   rl   i	   r   r(      )	rz   r   r   r1   equalContentsr   arrayr2   rL   )string_seriesobject_seriesusing_copy_on_writeoriginalnumSlicenumSliceEndobjSlicer   s           r$   
test_slicer      ss   !!##HRU#H%KRU#Hq!7777q!7777x==C//////*+xq8I/JJJJJ>! 3B 77777K-)@)@)FGGGGG 
r"u	BBqqqE 1
}h77777be$)..0000000r9   c            	      6   t          g t                    } t          d          | j        d<   t	          j        | t          t          d          dg                     |                     | j        	                    dd                    } t	          j        | t          t          j        t          d          gddg                     t          d          | j        d<   t          t          d          ddg          }t	          j        | |           d S )Nr)   r(   r^   z1 daysr   r   A)r
   objectr   rA   r1   r2   r   r@   r   insertr   nan)r"   r7   s     r$   test_timedelta_assignmentr     s    r   A1AE#J1fYx%8%8FFFGGG			!'..C(())A1fbfi.A.A%B3PS*UUUVVV1AE#Ji))#s<<<H1h'''''r9   c                    t          d dD                       }|                    g dd          }|J t          dgdg          }d|d	<   |                                }| |d	                             |           | r|}n9t          g d
g d
g d
g dd          }|                    g dd          }|J t          j        ||           d S )Nc                     i | ]}|g d S )rP    ).0r   s     r$   
<dictcomp>z3test_underlying_data_conversion.<locals>.<dictcomp>  s    :::QAyyy:::r9   rH   T)inplacer(   )r,   r,   r,   r   r   valrP   )r   r(   r   )r   r   r   r   )r   	set_indexr
   rz   updater1   assert_frame_equal)r   dfreturn_valuer"   df_originalr7   s         r$   test_underlying_data_conversionr     s   	::/:::	;	;B<<<>>Ls9+&&&ABuI''))KBuIQ $))))))))IIINN
 
  ))///4)HH###"h'''''r9   c                 p    | g d         }t           j        |d<   t          j        | d                   rJ d S )Nr>   r(   r;   )r   r   r   )rB   seqs     r$   test_preserve_refsr   %  s<    
+++
&CVCFx+,,,,,,,r9   c                     | }t          t          j                            t	          |                    |d          } ||          d         }|j        |j        k    sJ d S )Nsth)r   namerr   )r
   r   r   r   r   r   )%lexsorted_two_level_string_multiindexro   r   r5   r6   s        r$   test_multilevel_preserve_namer   +  s\    1E
U,,E
F
F
FCZ__U#F;#(""""""r9   r   z
2014-01-01rl   MSri   z2014-01M0Hc           
          t          | d                   }t          | d                   }t          t          j        d          |           }t          }|| d         fD ]}t          j        |||d d         |dd d                    t          j        ||d |d         |d dd                    || d         fD ]R}t          j        ||||d         |ddd                    t          j        ||||d         |ddd                    Sd S )Nr      rl      r   )strr
   r   aranger   r1   !assert_indexing_slices_equivalent)r   keystr1keystr2r5   SLCkeykey2s          r$   test_slice_with_negative_stepr   6  s/    %(mmG%)nnG
2
&
&C
Cq" U U
,S#cg2g,AErE
KKK
,S#gs2g,EQrE
KKKeBi( 	U 	UD0c$s2+6FBqQSGUUU0c#d2+6FAaPRFTTTT	U	U Ur9   c                      t          ddgddg          } | d         dk    sJ | d         dk    sJ d| d<   | d         dk    sJ d S )Nr(   r,   )r   )r   r   r+   )r
   rY   s    r$   test_tuple_indexr   N  s]    1vff-...AV9>>>>V9>>>>AfIV9>>>>>>r9   c                      t          d          t          d          }} t          ddg| |g          }||          dk    sJ ||         dk    sJ d||<   ||         dk    sJ d S )Nr   r   r(   r,   r   r+   )	frozensetr
   )idx0idx1r"   s      r$   test_frozenset_indexr   W  sq    33$D1vdD\***AT7a<<<<T7a<<<<AdGT7a<<<<<<r9   c                      t          ddgddg          } |                                 }t          ddgddg          }|| j        | dk    <   t          j        | |           d S )	Nr(   r,   r   r   r   r      d   )r
   rz   rA   r1   r2   )r5   r7   rhss      r$   "test_loc_setitem_all_false_indexerr   a  sl    
!QSz
*
*
*CxxzzH
!QSz
*
*
*CCGC#I3)))))r9   c                      t          dg          } | j        t          t          dgd                   }t          g d          }t          j        ||           d S )Nr(   Fbooleanr)   int64)r
   rA   r   r1   r2   r5   r6   r7   s      r$   +test_loc_boolean_indexer_non_matching_indexr   j  sW    
!++CWVRKy999:Fb(((H68,,,,,r9   c                      t          dg          } t          t          dgdddg          }t          j        t          d          5  | j        |          d d d            d S # 1 swxY w Y   d S )Nr(   Fr   r,   )r*   r   Unalignabler   )r
   r   r   r   r   rA   )r5   indexers     r$   ,test_loc_boolean_indexer_miss_matching_indexr   r  s    
!++Cb%[	!Q@@@G	}M	:	:	:                   s   A""A&)A&c                      t          ddgi          } t          d| i          }| |j        d<   t          | | d          }t          j        ||           d S )Nr   r(   label	new_label)r   r   )r   r
   rA   r1   r2   )r   r5   r7   s      r$   (test_loc_setitem_nested_data_enlargementr   z  s`    	C!:		B
'2

CCGK4455H3)))))r9   c                      t          dt          g dd                    } | j        dd         }t          dt          dgd                    }t          j        ||           d S )Nr(   )r   r(   r,   Int64r)   r   r,   r+   )r
   r   rA   r1   r2   r   s      r$   'test_loc_ea_numeric_index_oob_slice_endr     sn    
%			999
:
:
:CWQqS\FauaS888999H68,,,,,r9   c                      t          ddd          } t          j        t          d          5  | j        d          d d d            d S # 1 swxY w Y   d S )Nr(   r   )TFr   r   )r
   r   r   r    rA   )r5   s    r$   test_getitem_bool_int_keyr     s    
!$$
%
%C	xs	+	+	+  

                 s   A		AAr   r   xr   Fr   c                     t          dddgi|          }|                                }d|j        | <   t          j        ||           d S )Nr   r(   r,   g      ?)r   rz   rA   r1   r   )r   r   r   r7   s       r$   test_setitem_empty_indexerr     sP     
C!Q'3'	(	(BwwyyHBF7O"h'''''r9   c                   z   e Zd Zej                            ddhddig          d             Zej                            ddhddidhdfddidfg          d             Zej                            ddhddig          d             Zej                            ddhddidhdfddidfg          d             Z	dS )	TestDeprecatedIndexersr   r(   c                     t          ddg          }t          j        t          d          5  |j        |          d d d            d S # 1 swxY w Y   d S Nr(   r,   as an indexer is not supportedr   r
   r   r   r   rA   selfr   r5   s      r$   $test_getitem_dict_and_set_deprecatedz;TestDeprecatedIndexers.test_getitem_dict_and_set_deprecated  s     aVnn]9,LMMM 	 	GCLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AAAr,   c                     t          ddgt          j        ddg                    }t          j        t
          d          5  |j        |          d d d            d S # 1 swxY w Y   d S Nr(   r,   rO   )r+   r`   r   r   r   r
   r	   from_tuplesr   r   r   rA   r   s      r$   /test_getitem_dict_and_set_deprecated_multiindexzFTestDeprecatedIndexers.test_getitem_dict_and_set_deprecated_multiindex  s     aV:#966:J#K#KLLL]9,LMMM 	 	GCLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AA"%A"c                     t          ddg          }t          j        t          d          5  d|j        |<   d d d            d S # 1 swxY w Y   d S r   r   r   s      r$   $test_setitem_dict_and_set_disallowedz;TestDeprecatedIndexers.test_setitem_dict_and_set_disallowed  s     aVnn]9,LMMM 	 	CGCL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AA	A	c                     t          ddgt          j        ddg                    }t          j        t
          d          5  d|j        |<   d d d            d S # 1 swxY w Y   d S r   r   r   s      r$   /test_setitem_dict_and_set_disallowed_multiindexzFTestDeprecatedIndexers.test_setitem_dict_and_set_disallowed_multiindex  s     aV:#966:J#K#KLLL]9,LMMM 	 	CGCL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AA"AN)
__name__
__module____qualname__r   markparametrizer   r   r   r   r   r9   r$   r   r     s       [UaS1a&M22  32 [UaS1a&A3(aVQK$HII  JI [UaS1a&M22  32 [UaS1a&A3(aVQK$HII  JI  r9   r   )>__doc__datetimer   rv   numpyr   r   pandas.errorsr   pandasr   r   r   r   r	   r
   r   r   r   r   r   r   pandas._testing_testingr1   r%   r8   r<   rD   rJ   rM   r   r   r   rV   rZ   rf   rj   rp   rx   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r9   r$   <module>r     s~           				      ' ' ' ' ' '                                   *? ? ?< < <	- 	- 	-     * Frlll++,,FAs8FAr7&)))	
 Fyyy\\\2233FAyyy>""FAyyy>""	
 $ $ $& & &. . .". . .  6 6 6) ) ), , ,& & &4 4 461 1 14( ( (( ( (,- - -# # # 
<$777Y555Rc222 U U U     * * *- - -  * * *- - -   c3Z 011R%q"xrxPR||$TUU( ( VU 21(         r9   