
    Pij=                     |   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mZmZ ddlmZ d Zd Zd Zd	 Zd
 Zd Z ej!        "                    ddg ddddi eddie#          gg dg dd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  Z0d! Z1d" Z2ej!        "                    d# ed$d%d&'           ed(d%d)'           ed*d%d+'          g          d,             Z3d- Z4d. Z5d/ Z6d0 Z7d1 Z8d2 Z9d3 Z:d4 Z;ej!        "                    d5i d6d7ig          ej!        "                    d8g d9d9g e<dd:           ej=        g           g          d;                         Z>d< Z? G d= d>          Z@ G d? d@          ZAdS )Aztest get/set & misc    )	timedeltaN)IndexingError)NA	DataFrameIndex
IndexSlice
MultiIndexNaTSeries	Timedelta	Timestampconcat
date_rangeisnaperiod_rangetimedelta_rangec                     t          t          j                            d                              d          g d          } t          j        t          d          5  | d          d d d            n# 1 swxY w Y   t          j        t          d          5  | d          d d d            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      )abr   r   r   indexz^5$matchz^'c'$c)	r   nprandomdefault_rngstandard_normalpytestraisesKeyError
sort_indexss    ~/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/series/indexing/test_indexing.pytest_basic_indexingr(      s   
	a  0033;T;T;T	 	 	A 
xu	-	-	-  	!               
xx	0	0	0  	#               	
A	xu	-	-	-  	!                 s6   	A44A8;A8	B//B36B3)	C??DD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   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_positionalr:   /   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/   r1   )r5   r-   r6   r7   r9   s        r'   6test_setitem_numeric_should_not_fallback_to_positionalr>   9   sr    E
			
'
'
'C
q
%
%
%CCFkkk---H3d;;;;;;r;   c                    | j         g d         }| |         }|                     |          }t          j        ||           | |d         |d                  }| j        |d         |d                  }t          j        ||           d S )Nr   r=      r   r   )r   reindexr3   r4   loc)datetime_seriesindicesr8   r9   s       r'   test_basic_getitem_with_labelsrF   C   s    #KKK0GW%F&&w//H68,,,WQZ'!*4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 d S )
Nz
2011-01-01r.   z
US/Eastern)periodstzr   r   r   r   )rI   r   r   )r   r   r   rC   iloc)r7   r9   r8   s      r'    test_basic_getitem_dt64tz_valuesrL   O   s     <|<<<OOO  C ,777HWS\FXXa[FXXFXr;   c                      t          t          j                            d                              d                    } | d         }t          j        ||            d S )Nr   r=   .)r   r   r   r   r    r3   r4   )r&   r8   s     r'   test_getitem_setitem_ellipsisrN   ^   sO    ry$$Q''77;;<<AsVF61%%%%%r;   z$result_1, duplicate_item, expected_1   )r+   r   r   r.   r+   r   r+   i9  r,   r+   r   r.   c                     t          |           } t          |          }|                     |          }|                    |          }t          j        |d         |           |d         | d         k    sJ d S )Nr+   r   )r   _append_internalr3   r4   )result_1duplicate_item
expected_1r8   r9   s        r'   $test_getitem_with_duplicates_indicesrW   e   sz    " hHN++N&&~66F**>::H6!9h///!9######r;   c                      t          g dg d          } | j        d         | d         k    sJ d| j        d<   t          j        | d         d           d S )NrQ   rJ   r   r   r   )r   rK   r3   assert_almost_equalr%   s    r'   test_getitem_setitem_integersrZ   ~   s\    yyy///**A6!9#AF1I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          | | 
          }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iatrC   rK   rngr7   s     r'   test_series_box_timestamprf      sY   
Z#
6
6
6C
++Cc!fi(((((cfQi+++++cgaj),,,,,cgaj),,,,,chqk9-----
C
 
 
 Cc#a&k9-----cfSVni00000cgaj),,,,,cgc!foy11111chqk9-------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 d S )
Nz	1 day 1 sr   hrH   r_   r   r+   r   r.   r`   )r   r   ra   r   rb   rc   rC   rK   rd   s     r'   test_series_box_timedeltarj      s    
+qs
;
;
;C
++Cc!fi(((((cfQi+++++cgaj),,,,,cgaj),,,,,chqk9-------r;   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   r2   listr!   r"   r#   
indexer_slr7   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   r2   rm   copyr   r3   r4   )ro   r&   s2r9   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(((((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 d S )Nr   )r+   r         r   )r   nanr   rK   isnan)rD   s    r'   test_setitemr      s    02OO)!,-')vO$ fO8O(+,,,,,8O(+,,,,,12OBH_--.x,Q/0000000r;   c                     | dd         }t          |          t          |j                  k    sJ |j        j        du sJ d S )Nr   rl   T)lenr   	is_unique)rD   sls     r'   test_setslicer      sK    	2	Br77c"(mm####8%%%%%%r;   c                     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d d gg          d d d            n# 1 swxY w Y   t          j        t          |          5  d| dd d g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slicer3   r4   	TypeError)rD   msgr8   r9   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	,	,	, + +T4L)**+ + + + + + + + + + + + + + +	y	,	,	, / /-.T4L)*/ / / / / / / / / / / / / / / / / /sT   7;;
A33A7:A7B??CCD66D:=D:
E33E7:E7c                 n   |                                  }| 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         }d|d d <   t          j        | |           d S )Nr=   rl   i	   r   r+      )rz   r   r   r3   assert_numpy_array_equalr   arrayr4   )string_seriesobject_seriesoriginalnumSlicenumSliceEndobjSlicer   s          r'   
test_slicer      sE   !!##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 5 5rx7N7Nstt7TUUU 
r"u	BBqqqE =(33333r;   c                  D   t          g t                    } t          d          | j        d<   t          t	          d          ddg          }t          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        | |           d S )	Nr,   r+   r^   z1 daysztimedelta64[us]r-   r   r   A)r   objectr   rC   r   r3   r4   rB   r   insertr   r   )r&   r9   s     r'   test_timedelta_assignmentr      s   r   A1AE#Ji))1B3%PPPH1h'''			!'..C(())A	8$$%->sCj  H 1h'''1AE#Ji))1B3PS*UUUH1h'''''r;   c                     t          d dD                       } |                     g dd          }|J t          dgdg          }d| d	<   |                                 }|  t	          j                    5  | d	                             |           d d d            n# 1 swxY w Y   |}t	          j        | |           d S )
Nc                     i | ]}|g d S )rQ    ).0r   s     r'   
<dictcomp>z3test_underlying_data_conversion.<locals>.<dictcomp>  s    :::QAyyy:::r;   rJ   T)inplacer+   )r   r   r   r   r   val)r   	set_indexr   rz   r3   raises_chained_assignment_errorupdateassert_frame_equal)dfreturn_valuer&   df_originalr9   s        r'   test_underlying_data_conversionr     s   	::/:::	;	;B<<<>>Ls9+&&&ABuI''))KB		+	-	-  
5	              H"h'''''s   8B  B$'B$c                     | j         g d         }t          j        |j         d<   t          j        | j         d                   rJ d S )Nr@   r+   r=   )rK   r   r   r   )rD   seqs     r'   test_preserve_refsr     sD    

{{{
+C&CHQKx,R01111111r;   c                     | }t          t          j                            d                              t          |                    |d          } ||          d         }|j        |j        k    sJ d S )Nr   sth)r   namerr   )r   r   r   r   r    r   r   )%lexsorted_two_level_string_multiindexro   r   r7   r8   s        r'   test_multilevel_preserve_namer   $  sv    1E

	a  00U<<EPU  C Z__U#F;#(""""""r;   r   z
2014-01-01rl   MSri   z2014-01M0rh   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 ]R}t          j        ||||d         |ddd                    t          j        ||||d         |ddd                    Sd S )Nr      rl      r   )strr   r   aranger   r3   !assert_indexing_slices_equivalent)r   keystr1keystr2r7   SLCkeykey2s          r'   test_slice_with_negative_stepr   1  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r;   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   r%   s    r'   test_tuple_indexr   I  s]    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 d S )Nr   r   r+   r   r   r.   )	frozensetr   )idx0idx1r&   s      r'   test_frozenset_indexr   R  sq    33$D1vdD\***AT7a<<<<T7a<<<<AdGT7a<<<<<<r;   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   rC   r3   r4   )r7   r9   rhss      r'   "test_loc_setitem_all_false_indexerr   \  sl    
!QSz
*
*
*CxxzzH
!QSz
*
*
*CCGC#I3)))))r;   c                      t          dg          } | j        t          t          dgd                   }t          g d          }t          j        ||           d S )Nr+   Fbooleanr,   int64)r   rC   r   r3   r4   r7   r8   r9   s      r'   +test_loc_boolean_indexer_non_matching_indexr   e  sW    
!++CWVRKy99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            d S # 1 swxY w Y   d S )Nr+   Fr   r   r   Unalignabler   )r   r   r!   r"   r   rC   )r7   indexers     r'   ,test_loc_boolean_indexer_miss_matching_indexr   m  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   rC   r3   r4   )r   r7   r9   s      r'   (test_loc_setitem_nested_data_enlargementr   u  s`    	C!:		B
'2

CCGK4455H3)))))r;   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   rC   r3   r4   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,,,,,r;   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#   rC   )r7   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         ?)r   rz   rC   r3   r   )r   r   r   r9   s       r'   test_setitem_empty_indexerr     sP     
C!Q'3'	(	(BwwyyHBF7O"h'''''r;   c                      d} t          g dg d          }t          j        t          |           5  |j        dd          d d d            d S # 1 swxY w Y   d S )NzJCannot get left slice bound for non-monotonic index with a missing label 4)r.   r   r   r   )r.   r   r   r   r   r   r`   r   r   )r   r7   s     r'   1test_loc_non_monotonic_index_with_a_missing_labelr     s    
VC
\\\
2
2
2C	xs	+	+	+  !                 s   AAA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   rC   selfr   r7   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   rP   )r.   r`   r   r   r   r   r	   from_tuplesr!   r"   r   rC   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   r;   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  r;   r   c            	          e Zd 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                            dg e	d	d ej        d	           ej        d	                    ej                            de          d                         Zej                            dg e	dd ej        d                    ej                            de          d                         Zej                            dg e	d          ej                            de          d                         ZdS )TestSetitemValidationc                    |                                 }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            n# 1 swxY w Y   t          j        t          d          5  ||j        |<   |                                 }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 )NzInvalid valuer   )rz   r!   r"   r   rK   rC   )r   r7   invalidr   orig_sers        r'   _check_setitem_invalidz,TestSetitemValidation._check_setitem_invalid  s!   88::]9O<<< 	" 	""CL--//C	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" ]9O<<< 	" 	" 'CHW--//C	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" ]9O<<< 	" 	"&CGG--//C	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" ]9O<<< 	 	CF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sG   AAA<B''B+.B+C88C<?C<D33D7:D7c                     |                                 }|||<   |                                 }||j        |<   |                                 }||j        |<   |                                 }||d d <   d S )N)rz   rK   rC   )r   r7   valuer   r  s        r'   _check_setitem_validz*TestSetitemValidation._check_setitem_valid  sh    88::Gmmoo!mmoo mmooAAAr;   y      ?       @True1z1.0r
   r   r+   TFFNr  g      ?r   c                 Z    t          g dd          }|                     |||           d S )Nr  boolr,   r   r  )r   r  r   r7   s       r'   #test_setitem_validation_scalar_boolz9TestSetitemValidation.test_setitem_validation_scalar_bool  s;    
 )))888##C':::::r;   Tr   c                     t          g d|          }t          |          r6|t          ur-t          j        |          s|                     |||           d S |                     |||           d S )NrQ   r,   )r   r   r
   r   isnatr  r  )r   r  any_int_numpy_dtyper   r7   s        r'   "test_setitem_validation_scalar_intz8TestSetitemValidation.test_setitem_validation_scalar_int  s~     YYY&9:::== 	?WC//8I8I/%%c7G<<<<<''Wg>>>>>r;   c                 Z    t          g d|          }|                     |||           d S )N)r+   r   Nr,   r  )r   r  float_numpy_dtyper   r7   s        r'   $test_setitem_validation_scalar_floatz:TestSetitemValidation.test_setitem_validation_scalar_float  s9     \\\):;;;##C':::::r;   )r   r   r   r  r  r
   r   
datetime64timedelta64_invalid_scalarsr   	_indexersr!   r  r  r   float64r  r  r  r   r;   r'   r  r    s         $   	eu QCq!&:&:&:EE$d<S<STI[J%JqJ#Jxrx{{JJBJqMMJ  [Y	22; ; 32 ; [Y(W*:(WD(W#(WzrzRU(WXX[Y	22? ? 32 YX? [Y(A*:(AD(ABB[Y	22; ; 32 CB; ; ;r;   r  )B__doc__datetimer   rv   numpyr   r!   pandas.errorsr   pandasr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   pandas._testing_testingr3   r(   r:   r>   rF   rL   rN   r  r  r   rW   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   r  r   r;   r'   <module>r&     s           				      ' ' ' ' ' '                                        "? ? ?< < <	- 	- 	-  & & & * |||$$HFAr7&)))	
 		lll++			NFAyyy>""	
 $ $ $& & &. . .". . .  6 6 6) ) )1 1 1& & &/ / /64 4 4.( ( ($( ( ( 2 2 2# # # 
<$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(         <B; B; B; B; B; B; B; B; B; B;r;   