
    :i,B                     t   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
 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mZmZ ddlmZ d Zd Zd	 Zd
 Z d Z!d Z"ejF                  jI                  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 Z0d  Z1d! Z2d" Z3d# Z4ejF                  jI                  d$ ed%d&d'(       ed)d&d*(       ed+d&d,(      g      d-        Z5d. Z6d/ Z7d0 Z8d1 Z9d2 Z:d3 Z;d4 Z<d5 Z=ejF                  jI                  d6i d7d8ig      ejF                  jI                  d9g d:d:g e>dd;       ej~                  g       g      d<               Z@ G d= d>      ZA G d? d@      ZBy)Az test get/set & misc     )	timedeltaN)WARNING_CHECK_DISABLED)IndexingError)NA	DataFrameIndex
IndexSlice
MultiIndexNaTSeries	Timedelta	Timestampconcat
date_rangeisnaperiod_rangetimedelta_rangec                  @   t        t        j                  j                  d      j	                  d      g d      } d}d}t        j                  t        |      5  t        j                  t        |      5  | d    d d d        d d d        t        j                  t        |      5  t        j                  t        |      5  d| d<   d d d        d d d        t        j                  t        d	      5  | d
    d d d        | j                         } t        j                  t        |      5  t        j                  t        |      5  | d    d d d        d d d        d}t        j                  t        |      5  t        j                  t        |      5  d| d<   d d d        d d d        y # 1 sw Y   5xY w# 1 sw Y   :xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   jxY w# 1 sw Y   y xY w)N      )abr   r   r   indexz>Series.__[sg]etitem__ treating keys as positions is deprecatedz/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default_rngstandard_normalpytestraises
IndexErrortmassert_produces_warningFutureWarningKeyError
sort_index)swarn_msgmsgs      p/var/www/html/talentspherev1.5.2/venv/lib/python3.12/site-packages/pandas/tests/series/indexing/test_indexing.pytest_basic_indexingr.      s   
		a 003;T	A PH
;C	z	- ''XF 	aD	 
z	- ''XF 	AaD	 
xx	0 	# 	
A	z	- ''XF 	aD	 EC	z	- ''XF 	AaD	 	 	 	 	  	 	 
	 	 s   F=7F0=F=(GG

G5G$.G<
G0G<=HHH0F:	5F==G
G	GG!$G-0G9	5G<<HH	HHc                     | }t        g d|      }t        t        d      |      }|d   }t        ddgt        ddg|            }t        j                  ||d	       y )
N   r   r1   dtype   r   r1   r   r   Tcheck_exactr   r   ranger%   assert_series_equal)any_numeric_dtyper3   idxserresultexpecteds         r-   6test_getitem_numeric_should_not_fallback_to_positionalr?   :   sY    E
	
'C
q
%CVFq!fE1a&$>?H68>    c                     | }t        g d|      }t        t        d      |      }d|d<   t        g d|      }t        j                  ||d	       y )
Nr0   r2   r4   r   
   r1   )rB   r1   rB   Tr5   r7   )r:   r3   r;   r<   r>   s        r-   6test_setitem_numeric_should_not_fallback_to_positionalrC   D   sJ    E
	
'C
q
%CCFk-H3d;r@   c                     | j                   g d   }| |   }| j                  |      }t        j                  ||       | |d   |d    }| j                  |d   |d    }t        j                  ||       y )Nr   rB      r   r   )r   reindexr%   r9   loc)datetime_seriesindicesr=   r>   s       r-   test_basic_getitem_with_labelsrK   N   sz    ##K0GW%F&&w/H68,WQZ'!*5F""71:
;H68,r@   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 y )
Nz
2011-01-01r4   z
US/Eastern)periodstzr   r   r   r   )rN   r   r   )r   r   r   rH   iloc)r<   r>   r=   s      r-    test_basic_getitem_dt64tz_valuesrQ   Z   sw     <|<OC ,7HWWS\FXXXa[FXXFXr@   c                 6   t        t        j                  j                  d      j	                  d            }|d   }t        j                  ||       t        j                  |      5  d|d<   d d d        | s|dk(  j                         sJ y y # 1 sw Y   "xY w)Nr   rB   .r   )	r   r   r   r    r!   r%   r9   assert_cow_warningall)using_copy_on_writewarn_copy_on_writer*   r=   s       r-   test_getitem_setitem_ellipsisrW   i   s    ryy$$Q'77;<AsVF61%			1	2 #!  """  s   (BBz$result_1, duplicate_item, expected_1   )r1   r   r   r4   r1   r   r1   i9  r2   r1   r   r4   c                     | j                  |      }|j                  |      }t        j                  |d   |       |d   | d   k(  sJ y )Nr1   r   )_appendr%   r9   )result_1duplicate_item
expected_1r=   r>   s        r-   $test_getitem_with_duplicates_indicesr`   u   sN    " n-F!!.1H6!9h/!9###r@   c                      t        g dg d      } | j                  d   | d   k(  sJ d| j                  d<   t        j                  | d   d       y )NrZ   rO   r   r   r   )r   rP   r%   assert_almost_equalr*   s    r-   test_getitem_setitem_integersrd      sI    y/*A66!9#AFF1I1S61%r@   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        | | 
      }d}t        j                  t        |      5  t        |d   t              sJ 	 d d d        t        |j                  | d      t              sJ t        |j
                  d   t              sJ t        |j                  | d      t              sJ t        |j                  d	   t              sJ y # 1 sw Y   xY w)N2009041520090519B)freqr   r1   r   r4      r   z;Series.__getitem__ treating keys as positions is deprecatedr   )r   r   
isinstancer   atiatrH   rP   r%   r&   r'   )rngr<   r,   s      r-   test_series_box_timestampro      s?   
Z#
6C
+Cc!fi(((cffQi+++cggaj),,,cggaj),,,chhqk9---
C
 C
GC		#	#M	= -#a&),,,-cffSVni000cggaj),,,cggc!foy111chhqk9---- -s   E77F c                  X   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 y )
Nz	1 day 1 sr   hrM   ri   r   r1   r   r4   rj   )r   r   rk   r   rl   rm   rH   rP   )rn   r<   s     r-   test_series_box_timedeltars      s    
+qs
;C
+Cc!fi(((cffQi+++cggaj),,,cggaj),,,chhqk9---r@   c           
          t        t        d      t        t        ddd                  }t        j                  t
        d      5   | |      d    d d d        y # 1 sw Y   y xY w)	NrB   r      r   r   z^1$r   r1   )r   r8   listr"   r#   r(   
indexer_slr<   s     r-   test_getitem_ambiguous_keyerrorry      sN    
r$uQA"7
8C	xv	. 3  s   AA$c                     t        g dg d      }t        j                  t        t	        j
                  d            5   | |      g d    d d d        y # 1 sw Y   y xY w)N)r1   r   r4   rj   )foobarr{   bahz['bam'] not in indexr   )r{   r|   r}   bam)r   r"   r#   r(   reescaperw   s     r-   test_getitem_dups_with_missingr      sK     ;
<C	xryy1G'H	I 63456 6 6s   AAc           
          t        t        d      t        t        ddd                  }|j                         }d | |      d<   t	        |t        dgdg      g      }t        j                  ||       y )NrB   r   ru   r   r   r   r1   )r   r8   rv   copyr   r%   r9   )rx   r*   s2r>   s       r-   test_setitem_ambiguous_keyerrorr      sd    uRyU1b!_ 56A 
BJrN1q&!QC012H2x(r@   c                    t         j                  | | j                  d   <   t         j                  | j                  g d<   t         j                  | j                  d<   t        j                  | j                  d         sJ t        j                  | j                  d         sJ d| t        j                  |       <   t        j                  | j                  d         rJ y )Nr   )r1   r         r   )r   nanr   rP   isnan)rI   s    r-   test_setitemr      s    02OO))!,-')vvO$ ffO88O((+,,,88O((+,,,12OBHH_-.xx,,Q/0000r@   c                     | dd }t        |      t        |j                        k(  sJ |j                  j                  du sJ y )Nr   ru   T)lenr   	is_unique)rI   sls     r-   test_setslicer      s@    	2	Br7c"((m###88%%%r@   c                    d}t        j                  t        |      5  | d d df    d d d        t        j                  t        |      5  d| d d df<   d d d        d}t        j                  t        |      5  | t	        d d      g    d d d        | t	        d d      f   }| d d }t        j                  ||       d}t        j                  t        |      5  | dd d gg    d d d        t        j                  t        |      5  d| dd d gg<   d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   [xY w# 1 sw Y   y xY w)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slicer%   r9   	TypeError)rI   r,   r=   r>   s       r-   !test_basic_getitem_setitem_cornerr      sI   
<C	xs	+ 1	xs	+ " !1" -C	z	- *tQ()*
 eD!n./Fr"H68, )C	y	, +T4L)*+	y	, /-.T4L)*/ /) " "
* *+ +/ /s;   
D
D':D3
D?
ED$'D03D<?EEc                    | j                         }| 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                  |      t        j                  |       dd         | dd }t        j                  |      5  d|d d  d d d        |rt        j                  | |       y | dd dk(  j                         sJ y # 1 sw Y   ;xY w)NrB   ru   i	   r   r1      )
r   r   r   r%   assert_numpy_array_equalr   arrayrS   r9   rT   )	string_seriesobject_seriesrU   rV   originalnumSlicenumSliceEndobjSlicer   s	            r-   
test_slicer      sl   !!#HR#H%KR#Hq!777q!777x=C////*+xq8I/JJJJ>>! 3 3B 7777 5rxx7Nst7TU 
r"	B			1	2 1 
}h7b$)..000 s   EE'c                     t        g t              } t        d      | j                  d<   t        t	        d      ddg      }t        j                  | |       | j                  | j                  j                  dd            } t        t        j                  t	        d      gdddg      }t        j                  | |       t        d      | j                  d<   t        t	        d      dddg      }t        j                  | |       y )	Nr2   r1   rh   z1 daysztimedelta64[ns]r3   r   r   A)r   objectr   rH   r   r%   r9   rG   r   insertr   r   )r*   r>   s     r-   test_timedelta_assignmentr     s    r A1AEE#Ji)1B3%PH1h'			!''..C()A	8$%->sCjH 1h'1AEE#Ji)1B3PS*UH1h'r@   c                 n   t        dD ci c]  }|g d	 c}      }|j                  g dd      }|J t        dgdg      }d|d	<   |j                         }| | r4t	        j
                         5  |d	   j                  |       d d d        |}nqt	        j                  t        st        nd d
      5  |d	   j                  |       d d d        t        g dg dg dg dd      }|j                  g dd      }|J t	        j                  ||       y c c}w # 1 sw Y   xY w# 1 sw Y   bxY w)NrO   rZ   T)inplacer1   )r   r   r   r   r   valzinplace methodr   )r   r1   r   )r   r   r   r   )r   	set_indexr   r   r%   raises_chained_assignment_errorupdater&   r   r'   assert_frame_equal)rU   r   dfreturn_valuer*   df_originalr>   s          r-   test_underlying_data_conversionr   "  s,   	/:QAyL:	;B<<<>Ls9+&ABuI'')K//1 	 uIQ	 ''!7MT"
 	  uIQ		 
 ))IN
  ))/4)H###"h'/ ;	  	 	  	 s   D2D5D+D(+D4c                     | j                   g d   }t        j                  |j                   d<   t        j                  | j                   d         rJ y )NrE   r1   rB   )rP   r   r   r   )rI   seqs     r-   test_preserve_refsr   >  sC    


{
+C&&CHHQKxx,,R01111r@   c                     | }t        t        j                  j                  d      j	                  t        |            |d      } ||      d   }|j                  |j                  k(  sJ y )Nr   sth)r   namer{   )r   r   r   r    r!   r   r   )%lexsorted_two_level_string_multiindexrx   r   r<   r=   s        r-   test_multilevel_preserve_namer   D  s]    1E

		a 00U<EPUC _U#F;;#(("""r@   r   z
2014-01-01ru   MSrr   z2014-01M0rq   c           
         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 ]H  }t        j                  ||||d   |ddd          t        j                  ||||d   |ddd          J  y )Nr      ru      r   )strr   r   aranger	   r%   !assert_indexing_slices_equivalent)r   keystr1keystr2r<   SLCkeykey2s          r-   test_slice_with_negative_stepr   Q  s    %(mG%)nG
2
&C
Cq" U
,,S#cg2g,AErE
K
,,S#gs2g,EQrE
KeBi( 	UD00c$s2+6FBqQSGU00c#d2+6FAaPRFT	U	Ur@   c                  l    t        ddgddg      } | d   dk(  sJ | d   dk(  sJ d| d<   | d   dk(  sJ y )Nr1   r   )r   )r   r   r4   )r   rc   s    r-   test_tuple_indexr   i  sP    1vff-.AV9>>V9>>AfIV9>>r@   c                      t        d      t        d      }} t        ddg| |g      }||    dk(  sJ ||   dk(  sJ d||<   ||   dk(  sJ y )Nr   r   r1   r   r   r4   )	frozensetr   )idx0idx1r*   s      r-   test_frozenset_indexr   r  s`    33$D1vdD\*AT7a<<T7a<<AdGT7a<<r@   c                      t        ddgddg      } | j                         }t        ddgddg      }|| j                  | dkD  <   t        j                  | |       y )	Nr1   r   r   r   r   r      d   )r   r   rH   r%   r9   )r<   r>   rhss      r-   "test_loc_setitem_all_false_indexerr   |  sW    
!QSz
*CxxzH
!QSz
*CCGGC#I3)r@   c                      t        dg      } | j                  t        t        dgd         }t        g d      }t        j                  ||       y )Nr1   Fbooleanr2   int64)r   rH   r   r%   r9   r<   r=   r>   s      r-   +test_loc_boolean_indexer_non_matching_indexr     sB    
!+CWWVRKy9:Fb(H68,r@   c                      t        dg      } t        t        dgdddg      }t        j                  t        d      5  | j
                  |    d d d        y # 1 sw Y   y xY w)Nr1   Fr   r   r   Unalignabler   )r   r   r"   r#   r   rH   )r<   indexers     r-   ,test_loc_boolean_indexer_miss_matching_indexr     sR    
!+Cb%[	!Q@G	}M	:   s   AA c                      t        ddgi      } t        d| i      }| |j                  d<   t        | | d      }t        j                  ||       y )Nr   r1   label	new_label)r   r   )r   r   rH   r%   r9   )r   r<   r>   s      r-   (test_loc_setitem_nested_data_enlargementr     sM    	C!:	B
'2
CCGGK45H3)r@   c                      t        dt        g dd            } | j                  dd }t        dt        dgd            }t        j                  ||       y )Nr1   )r   r1   r   Int64r2   r   r   r4   )r   r   rH   r%   r9   r   s      r-   'test_loc_ea_numeric_index_oob_slice_endr     sI    
%	9
:CWWQq\FauaS89H68,r@   c                      t        ddd      } t        j                  t        d      5  | j                  d    d d d        y # 1 sw Y   y xY w)Nr1   r   )TFr   r   )r   r"   r#   r(   rH   )r<   s    r-   test_getitem_bool_int_keyr     s?    
!$
%C	xs	+ 
  s   AAr   r   xr   Fr   c                     t        dddgi|      }|j                         }d|j                  | <   t        j                  ||       y )Nr   r1   r         ?)r   r   rH   r%   r   )r   r   r   r>   s       r-   test_setitem_empty_indexerr     sD     
C!Q'3'	(BwwyHBFF7O"h'r@   c                   h   e Zd Zej                  j                  ddhddig      d        Zej                  j                  ddhddidhdfddidfg      d        Zej                  j                  ddhddig      d        Zej                  j                  ddhddidhdfddidfg      d        Z	y)	TestDeprecatedIndexersr   r1   c                     t        ddg      }t        j                  t        d      5  |j                  |    d d d        y # 1 sw Y   y xY wNr1   r   as an indexer is not supportedr   r   r"   r#   r   rH   selfr   r<   s      r-   $test_getitem_dict_and_set_deprecatedz;TestDeprecatedIndexers.test_getitem_dict_and_set_deprecated  s@     aVn]]9,LM 	GGCL	 	 	   AAr   c                     t        ddgt        j                  ddg            }t        j                  t
        d      5  |j                  |    d d d        y # 1 sw Y   y xY wNr1   r   rY   )r4   rj   r   r   r   r   r
   from_tuplesr"   r#   r   rH   r   s      r-   /test_getitem_dict_and_set_deprecated_multiindexzFTestDeprecatedIndexers.test_getitem_dict_and_set_deprecated_multiindex  sS     aV:#9#966:J#KL]]9,LM 	GGCL	 	 	    AA"c                     t        ddg      }t        j                  t        d      5  d|j                  |<   d d d        y # 1 sw Y   y xY wr   r   r   s      r-   $test_setitem_dict_and_set_disallowedz;TestDeprecatedIndexers.test_setitem_dict_and_set_disallowed  sB     aVn]]9,LM 	CGGCL	 	 	r   c                     t        ddgt        j                  ddg            }t        j                  t
        d      5  d|j                  |<   d d d        y # 1 sw Y   y xY wr   r   r   s      r-   /test_setitem_dict_and_set_disallowed_multiindexzFTestDeprecatedIndexers.test_setitem_dict_and_set_disallowed_multiindex  sU     aV:#9#966:J#KL]]9,LM 	CGGCL	 	 	r   N)
__name__
__module____qualname__r"   markparametrizer   r   r   r    r@   r-   r   r     s    [[UaS1a&M2 3 [[UaS1a&A3(aVQK$HI J [[UaS1a&M2 3 [[UaS1a&A3(aVQK$HI Jr@   r   c            
          e Zd Zd Zdddde ej                  d       ej                  d      gZddg e	dd      g d	 e	d
d
d
      gZ
ej                  j                  dedd ej                  d       ej                  d      gz         ej                  j                  de
      d               Zej                  j                  dedd ej                  d      gz         ej                  j                  de
      d               Zej                  j                  dedgz         ej                  j                  de
      d               Zy
)TestSetitemValidationc                 b   d}t        j                  |      }|j                         }t        j                  ||      5  |||<   |j                         }d d d        t        j                  ||      5  ||j
                  |<   |j                         }d d d        t        j                  ||      5  ||j                  |<   |j                         }d d d        t        j                  ||      5  ||d d  d d d        y # 1 sw Y   xY w# 1 sw Y   zxY w# 1 sw Y   GxY w# 1 sw Y   y xY w)Nz3Setting an item of incompatible dtype is deprecatedr   )r   r   r   r%   r&   rP   rH   )r   r<   invalidr   warnr,   orig_sers          r-   _check_setitem_invalidz,TestSetitemValidation._check_setitem_invalid  s   Ciin88:''C8 	""CL--/C	" ''C8 	" 'CHHW--/C	" ''C8 	"&CGGG--/C	" ''C8 	CF	 		" 	"	" 	"	" 	"	 	s/   D4 D3 D2D%D
DD"%D.y      ?       @True1z1.0r   r   r1   TFFNr
  g      ?r   c                 R    t        g dd      }| j                  |||t               y )Nr  boolr2   r   r  r'   )r   r
  r   r<   s       r-   #test_setitem_validation_scalar_boolz9TestSetitemValidation.test_setitem_validation_scalar_bool  s%    
 )8##C'=Ir@   Tr   c                     t        g d|      }t        |      r |t        urt        j                  |      sd }nt
        }| j                  ||||       y )NrZ   r2   )r   r   r   r   isnatr'   r  )r   r
  any_int_numpy_dtyper   r<   r  s         r-   "test_setitem_validation_scalar_intz8TestSetitemValidation.test_setitem_validation_scalar_int   sH     Y&9:=WC/8ID D##C'4@r@   c                 R    t        g d|      }| j                  |||t               y )N)r1   r   Nr2   r  )r   r
  float_numpy_dtyper   r<   s        r-   $test_setitem_validation_scalar_floatz:TestSetitemValidation.test_setitem_validation_scalar_float
  s%     \):;##C'=Ir@   )r  r  r  r  r   r   
datetime64timedelta64_invalid_scalarsr   	_indexersr"   r  r  r   float64r  r  r  r  r@   r-   r  r    sh   , 	eu QCq!&:E$d<STI[[#q#xrxx{JBJJqM&JJ [[Y	2J 3J [[Y(8D#zrzzRU;W(WX[[Y	2A 3 YA [[Y(8D6(AB[[Y	2J 3 CJr@   r  )C__doc__datetimer   r   numpyr   r"   pandas.compatr   pandas.errorsr   pandasr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   pandas._testing_testingr%   r.   r?   rC   rK   rQ   rW   r  r  r   r`   rd   ro   rs   ry   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r@   r-   <module>r)     s     	   0 '     8?<	-	# * rl+,As8Ar7&)	
 y\23Ay>"Ay>"	
$$&.&.6)1&/616($(82# <$7Y5Rc2UU *-*- c3Z 01R%q"xrxxPR|$TU( V 2( <9J 9Jr@   