
    Pi                        d Z ddlZddlmZ ddl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 ddlZddlmZmZmZmZmZmZmZ ddlmZ ddlmZ ddlmZ  G d	 d
          Z G d d          Z G d d          Z  G d d          Z!d Z"d Z#ej$        %                    d edg          df eg d e&d                    dfg          d             Z'd Z(ej$        %                    ddddg ej        ddg           ej        dddg          g          d             Z)ej$        %                    ddddg ej        ddg           ej        dddg          g          d              Z*ej$        %                    dd!d"g ej        d"g           ej        d#d"g          g          d$             Z+ej$        %                    dd!d"g ej        d"g           ej        d#d"g          g          d%             Z,d& Z-dS )'ztest fancy indexing & misc    N)datetime)IndexingError)is_float_dtypeis_integer_dtypeis_object_dtype)	DataFrameIndexNaTSeries
date_rangeoffsetstimedelta_range)_mklbl)gen_objc                   <   e Zd ZdZd Zd Zej                            d          d             Z	ej                            d          d             Z
d Zd	 Zd
 Zej                            dddg          d             Zd Zd Zd Zd Zd Zej                            dg d ed          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% Z$ej                            d&e%j&        e%j'        g          d'             Z(d(S ))	TestFancyz"pure get/set item & fancy indexingc                    t          t          t          j        dd          t          j                            }t          j        dt          j                  |d<   t          j        dt                    |d<   d}t          j	        t          |	          5  t          j        g d
          |j        |j        dd         df<   d d d            n# 1 swxY w Y   t          j        g d
          |j        |j        dd         df<   |j        |j        dd         df         }t          g d
g dd          }t          j        ||           d S )N      dtypeindex
   foobar@Must have equal len keys and value when setting with an iterablematch)y        p=
ף@yGz??g@      ?         )      r"   r#   r   name)r   r	   nparangeint64zerosfloat64complexpytestraises
ValueErrorarraylocr   r   tmassert_series_equal)selfdfmsgresultexpecteds        w/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/indexing/test_indexing.pytest_setitem_ndarray_1dz!TestFancy.test_setitem_ndarray_1d(   s    U29Q#3#328DDDEEEHRrz2225	HRw///5	 Q]:S111 	T 	T+-84R4R4R+S+SBF28AaC=%'(	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T (*x0N0N0N'O'Orx!}e#$1u,-***,,,U
 
 
 	vx00000s   .CCCc                    t          t          t          j        dd                              }t          j        dt          j                  |d<   t          j        dt                    |d<   d}t          j        t          |	          5  t          j        dd
          dz  |dd<   d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   r   r   r   r   r   r%   y              ?r!   r"   )
r   r	   r(   r)   r+   r,   r-   r.   r/   r0   )r5   r6   r7   s      r:   test_setitem_ndarray_1d_2z#TestFancy.test_setitem_ndarray_1d_2>   s     U29Q#3#344555HRrz2225	HRw///5	P]:S111 	+ 	+i1oo*BqsG	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+s   B::B>B>zPignore:Series.__getitem__ treating keys as positions is deprecated:FutureWarningc                 D   t          ||          } ||          }t          j                            d                              dd          }g }|t
          u r/|t          j        t          j        fv r|	                    d           |t
          u s|t          j        u r|	                    d           |t          j
        u s|t
          u r#|t          j        u r|	                    d           |t          u r#|t          j        u r|	                    d           t          |t          j                  r#|t          j        u r|	                    d           t          |t          j        t          j        t          j        f          r|	                    d	           t%          |          d
k    st          |t          j                  r|	                    d           t)          |          t*          u rIt          |j        t          j                  s*|	                    d           |	                    d           d                    |          }t2          t4          t6          f}	t9          j        |	|          5  ||          d d d            d S # 1 swxY w Y   d S )Nr!   r"   r!   r!   r!   sizez8Wrong number of dimensions. values.ndim > ndim \[3 > 1\];Buffer has wrong number of dimensions \(expected 1, got 3\)z&Cannot index with multidimensional key Index data must be 1-dimensionalData must be 1-dimensionalr   z%positional indexers are out-of-boundszvalues must be a 1D arrayz only handle 1-dimensional arrays|r   )r   r(   randomdefault_rngintegersr   r3   setitemilocappendr2   r   
isinstancepdIntervalIndexTimedeltaIndexDatetimeIndexPeriodIndexlen
MultiIndextyper	   _valuesndarrayjoin
IndexErrorr0   NotImplementedErrorr.   r/   )
r5   r   frame_or_seriesindexer_sliobjidxrnd3msgsr7   potential_errorss
             r:   test_getitem_ndarray_3dz!TestFancy.test_getitem_ndarray_3dJ   s    ou--{3i##A&&//	/BBf$$RW8M)M)MKKSTTTf$$rw(>(>KKVWWW"&  v%%+*C*CKK@AAAi''K2:,E,EKK:;;;eR-.. 	<;"'3I3IKK:;;;eb/1A2>RSS 	6KK4555u::??j>>?KK?@@@;;%
5="*(M(MKK3444 KK:;;;hhtnn&
4GH]+3777 	 	II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   ?	JJJzPignore:Series.__setitem__ treating keys as positions is deprecated:FutureWarningc                    t          ||          } ||          }t          j                            d                              dd          }|t
          j        u rt          }d|j         }nt          }d	                    g d          }t          j        ||          5  d	||<   d d d            d S # 1 swxY w Y   d S )
Nr!   r"   r?   r@   zCannot set values with ndim > rE   )rB   zCannot set values with ndim > 1rC   rD   z,Array conditional must be same shape as selfr   r   )r   r(   rF   rG   rH   r3   rJ   r0   ndimrW   r.   r/   )	r5   r   rZ   r[   r\   r]   r^   errr7   s	            r:   test_setitem_ndarray_3dz!TestFancy.test_setitem_ndarray_3dr   s    ou--{3i##A&&//	/BB"'!!C=38==CCC((   C ]3c*** 	 	DI	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   $B77B;>B;c                     t          j        d          }t          ddgddgg          }||         }t          ddgd          }t	          j        ||           t          ddg          }||         }|dk    sJ d S )Nr   r   r!   r$   r%   r'   )r(   r1   r   r   r3   r4   )r5   keyr6   r8   r9   sers         r:   test_getitem_ndarray_0dz!TestFancy.test_getitem_ndarray_0d   s    hqkk AA'((C1a&q)))
vx000 aVnnS{{{{{{    c                 >   t          dg          }d|j        d<   d|j        d<   d|j        t          j        <   |j        t          j        df         dk    sJ |j        }t          ddt          j        gt          j                  }t          j        ||           d S )Nr   columnsr   r!   r$   r   )	r   r2   r(   infr   r	   r,   r3   assert_index_equalr5   r6   r8   r9   s       r:   test_inf_upcastzTestFancy.test_inf_upcast   s     s###q	q	rv vbfai A%%%%!Qrz:::
fh/////rk   c                    t          ddidddg          }t          j        |d<   |d         j        t          j        k    sJ t          j        t          d          5  d	|j        d
<   d d d            d S # 1 swxY w Y   d S )Nar   r$   r!   rt   bcInvalid valuer   r   )r   rw   )	r   r(   nanr   r,   r.   r/   	TypeErrorr2   r5   r6   s     r:   test_setitem_dtype_upcastz#TestFancy.test_setitem_dtype_upcast   s    a"2"2344&3#w}
****]9O<<< 	# 	#"BF6N	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#s   A66A:=A:valgQ	@wxyzc                 <   t          t          j        dd                              dd          t	          d          g d          }|                                }t          j        t          d	
          5  ||j	        d<   d d d            d S # 1 swxY w Y   d S )Nr#   r*   r   r!   r$   abr   r   bazr   rn   rx   r   rt   r   )
r   r(   r)   reshapelistcopyr.   r/   rz   r2   )r5   r}   r6   lefts       r:   test_setitem_dtype_upcast2z$TestFancy.test_setitem_dtype_upcast2   s     Iaw'''//155t**)))
 
 
 wwyy]9O<<< 	' 	'#&DHZ 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	's   9BBBc                    t          t          j        dd                              dd          dz  t	          d          g d	          }t          j        t          d
          5  d|j        d<   d d d            d S # 1 swxY w Y   d S )Nr#   r*   r   r!   r$   g      $@r   r   r   rx   r   r~   r   )	r   r(   r)   r   r   r.   r/   rz   r2   )r5   r   s     r:   test_setitem_dtype_upcast3z$TestFancy.test_setitem_dtype_upcast3   s    Iaw'''//155<t**)))
 
 

 ]9O<<< 	* 	*#)DHZ 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s   (B  BBc                     t          t          j        d          g d          }|ddg         j        }t	          g d          }t          j        ||           d S )Nr$   )rt   rt   rv   rm   rv   rt   )rv   rt   rt   )r   r(   eyern   r	   r3   rp   rq   s       r:   test_dups_fancy_indexingz"TestFancy.test_dups_fancy_indexing   s\     rvayy///:::S#J'))
fh/////rk   c                    t          g dgt          d                    }t          g dg          }t          d          |_        |j        d d df          |j        d d df          t	          j        ||           d S )N)r   r!   r           @      @r   r   aaaaaaarm   r%   )r   r   rn   rJ   r3   assert_frame_equalr5   r6   r8   s      r:   &test_dups_fancy_indexing_across_dtypesz0TestFancy.test_dups_fancy_indexing_across_dtypes   s    ;;;<d9ooVVV???@AAi 	1AAAqD
b&)))))rk   c                 H   t          g dg dt          d          dg d          }ddg}t          d	d
gddgddgd|          }|j        |         }t          j        ||           |j        t          |                   }t          j        ||           g d}t          j        t          d          5  |j        |          d d d            n# 1 swxY w Y   g d}t          j        t          d          5  |j        |          d d d            d S # 1 swxY w Y   d S )Nr"      	   r   )      @r"   r#   r   abcd)testtest1otherAr   BCr   r   r   r   r   g      @r#   drw   )r   r   Enot in indexr   )FGHr   r   r   )	r   r   r2   r3   r   r	   r.   r/   KeyError)r5   r6   rowsr9   r8   s        r:   %test_dups_fancy_indexing_not_in_orderz/TestFancy.test_dups_fancy_indexing_not_in_order   s   "]]^^^d6llSS&&&
 
 
 Sz!WQx3*EET
 
 
 
fh///d$
fh///]8>::: 	 	F4LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 .--]8>::: 	 	F4LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   8CCC<DDDc                    t          t          j                            d                              d          t          d                    }|rVt          j        t          t          j
        d                    5  |j        dg          d d d            d S # 1 swxY w Y   d S t          j        t          t          j
        d                    5  |j        dg          d d d            d S # 1 swxY w Y   d S )	Nr!   )r"   r$   AABCDr   z8"None of [Index(['E'], dtype='str')] are in the [index]"r   r   z;"None of [Index(['E'], dtype='object')] are in the [index]")r   r(   rF   rG   standard_normalr   r.   r/   r   reescaper2   )r5   using_infer_stringdfnus      r:   +test_dups_fancy_indexing_only_missing_labelz5TestFancy.test_dups_fancy_indexing_only_missing_label   s   I!!!$$44V<<DMM
 
 
  	 iP        #                                    iS        #                                   s$   >BB!BC00C47C4valsr   r   r!   abcc                     t          d|i          }t          j        t          d          5  |j        g d          d d d            d S # 1 swxY w Y   d S )Nr   r   r   )r      r   r   r.   r/   r   r2   )r5   r   r6   s      r:   &test_dups_fancy_indexing_missing_labelz0TestFancy.test_dups_fancy_indexing_missing_label  s     T{##]8>::: 	 	F999	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A

AAc                     t          dg dig d          }t          j        t          d          5  |j        g d          d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   r   r   )r   r   r   r   r{   s     r:   #test_dups_fancy_indexing_non_uniquez-TestFancy.test_dups_fancy_indexing_non_unique  s    .6J6J6JKKK]8>::: 	$ 	$F???##	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$s   AAAc                    t          t          j                            d                              d          g d          }t          j        t          d          5  |j        d d g df          d d d            d S # 1 swxY w Y   d S )Nr!   )r"   r"   )r   r   r   r   r   rm   r   r   )r   r   r   )	r   r(   rF   rG   r   r.   r/   r   r2   r{   s     r:   test_dups_fancy_indexing2z#TestFancy.test_dups_fancy_indexing2  s     I!!!$$44V<<---
 
 

 ]8>::: 	' 	'F111ooo%&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	's   B  BBc                    t          t          j                            d                              d          g dddg          }|j        dd         }|j        d	dg         }t          j        ||           |}|j        d d ddgf         }t          j        ||           |j        ddd d f         }|j        d	dgddgf         }t          j        ||           d S )
Nr!   )r   r!   )	r   r   r   r!   r!   r!   r$   r$   r$   rt   rv   r   r   r#   r   )	r   r(   rF   rG   r   rJ   r2   r3   r   )r5   r6   r9   r8   s       r:   test_dups_fancy_indexing3z#TestFancy.test_dups_fancy_indexing3)  s    I!!!$$44V<<---#J
 
 
 71Q3<A
fh///C:&
fh///71Q36?Ac
*+
fh/////rk   c                     t          t          d          g d          }t          t          d          ddg          } ||          dg         }t          j        ||           d S )Nr$   r   r   r$   r   r!   r   )r   ranger3   r4   )r5   
indexer_slri   r9   r8   s        r:   test_duplicate_int_indexingz%TestFancy.test_duplicate_int_indexing=  sg    U1XXYYY///%((1a&111C!%
vx00000rk   c                    t          ddddddddd          }|d	                             d
           |d<   |d         dk    }|j        |d	f                             d           }||j        |df<   |j        d         dk    sJ d S )Naaabbbcccr   r!   r$   o      iM  ru   rt   c                     | dk    rdn| S )Nr   _ xs    r:   <lambda>z9TestFancy.test_indexing_mixed_frame_bug.<locals>.<lambda>K  s    AJJSSA rk   r   r   c                     | dk    rdn| S )Nr   -----r   r   s    r:   r   z9TestFancy.test_indexing_mixed_frame_bug.<locals>.<lambda>O  s    1::1 rk   )r   r!   r   )r   applyr2   rJ   )r5   r6   idxtemps       r:   test_indexing_mixed_frame_bugz'TestFancy.test_indexing_mixed_frame_bugD  s    %003337O7OPP
 

 W]]#E#EFF6
 jCvc3h%%&L&LMM"sF{wt}''''''rk   c                 r   t          t          j                            d                              d          g d          }t	          j        t          t          j        d                    5  |g d          d d d            n# 1 swxY w Y   |d         j	        d	         |j	        d	         k    sJ d S )
Nr!   )r   r"   )rt               rm   z'[26, -8] not in index'r   )r      ir   r   )
r   r(   rF   rG   r.   r/   r   r   r   shaper{   s     r:    test_multitype_list_index_accessz*TestFancy.test_multitype_list_index_accessS  s    I!!!$$++G44>S>S>S
 
 
 ]8295N+O+OPPP 	 	|||	 	 	 	 	 	 	 	 	 	 	 	 	 	 	"v|A"(1+------s   1BBBc                 @   t          ddddddddddd	d
ddddddt          j        t          j        t          j        t          j        dt          j        t          j        t          j        t          j        t          j        t          j        dddddddddddddddddddd d d d d d d d d d d!dd"                                          }|                    g d#                                                              |j        $          }t          j        ||           d S )%NnonQC10111213243546474859)         r   r   r   r         r                       r    goe@gm77M @g,o@g2?g@?gufn?g%?gTFa?gI"?g+ew7?gy7Z?g9?gGp#?gC?i  i  i  i  i  )PRuidQCdatayear)r   r   r   rm   )	r   r(   ry   reset_index	set_indexreindexrn   r3   r   r   s      r:   test_set_index_nanzTestFancy.test_set_index_nan]  so      "  " +**++*++++++++ "  cA AC
 C
F +--G 	L LL00011[]]WRZW(( 	
 	fb)))))rk   c                 l   t          g dg dt          t          d                    t          t          dd                    d                              ddi          }t          j        |j        d<   |                                }|j        	                                 }d	dg}|d
z  }t          j        |j        d<   t          dt          j        ddddgg dt          g d          dddt          j        ddgd          }|j        ||f         |j        ||f<   t          j        ||           t          dt          j        ddddgg dg ddddt          j        ddgd          }|                                }|j        ||f         j        |j        ||f<   t          j        ||           d S )N)rt   rv   rt   rv   rt   rv   )r   r   r   r   r   r   r#      )FCPFcol1col2r  r,   r   r   r  r!   )r$   r$   rt   rv   )r   r   r%   r#   r   r   r      r   r   )r   r   r   astyper(   ry   rJ   r   r  isnar   r2   r3   r   values)r5   r6   df2maskcolsdftr9   s          r:   test_multi_assignzTestFancy.test_multi_assign  s    444(((U1XXU1b\\**	 
 
 &&)$
%
% 	 ggii~AgBFCc37(((22233QBFB3	 
 
 "gdDj1d

c8,,,
 BFCc37(((+++QBFB3	 
 
 ggii!gdDj18d

c8,,,,,rk   c                 6   t          g dg dg dg dd          }|                                }|d         dk    }dD ]}|d         |j        ||f<   |d                                         |j        |d         dk    dd	gf<   t          j        ||           d S )
N)r   r!   r   r   r   )r   r   r   r   r   )r$   r%   r"   r#   r   )r   r   r   Dr   r   r   r   r  r   )r   r   r2   r3   r   )r5   r6   r9   r  cols        r:   "test_multi_assign_broadcasting_rhsz,TestFancy.test_multi_assign_broadcasting_rhs  s    $__&&&&&&$__	 
 
 7799}! 	. 	.C&(gHLs##+-c7<<>>r#w!|c3Z'(
b(+++++rk   c                     t          ddgdg          }g d|j        d<   ddg|j        d<   t          ddgdg          }ddg|j        d<   t          j        ||           d S )Nr   r   r   r   r  r!   )r   rJ   r3   r   r   s      r:   test_setitem_listzTestFancy.test_setitem_list  s{     aVaS111!		A!Q!555FD
fb)))))rk   c                    t          dgt          t          j        d          gt                              }|j        j        sJ t          j        t          d          5  |d          d d d            n# 1 swxY w Y   t          j        t          d          5  |j
        d          d d d            d S # 1 swxY w Y   d S )Nr   z
2011-01-01r   '2011'r   2011r  r   )r   r	   rM   	Timestampobjectr   _is_all_datesr.   r/   r   r2   r{   s     r:   test_string_slicezTestFancy.test_string_slice  s;    sE2<#=#=">fMMMNNx%%%%]88444 	 	vJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]88444 	 	F9	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   "	A77A;>A;B88B<?B<c                 6   t                      }|j        j        rJ t          j        t
          d          5  |d          d d d            n# 1 swxY w Y   t          j        t
          d          5  |j        d          d d d            d S # 1 swxY w Y   d S )Nr  r   r  z^0$r  )r   r   r  r.   r/   r   r2   r{   s     r:   test_string_slice_emptyz!TestFancy.test_string_slice_empty  s    [[8))))]88444 	 	vJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]85111 	 	F9	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s#   	AAA3BBBc                    t          g dgt          d                    }|t          d                                       t                    |t          d          <   |                                }|j        d d ddf                             t          j                  |j        d d ddf<   t          g dgt          d                    }|t          d                                       t                    |t          d          <   |d	                             t                    |d	<   |d
                             t                    |d
<   t          j	        ||           |                                }|j
        d d d	f                             t          j                  |j
        d d d	f<   t          g dgt          d                    }|t          d                                       t                    |t          d          <   t          j	        ||           |                                }|j
        d d d
dgf                             t          j                  |j
        d d d
dgf<   t          g dgt          d                    }|t          d                                       t                    |t          d          <   t          j	        ||           d S )N)123.4r"         @r   ABCDEFGrm   ABCDGr   r!   )r   r!   r#  r$  r"   r%  r   CDGr   r   )r   r"  r#  r$  r"   r%  r   r   )r!  r!   r$   r$  r"   r%  r   )r   r   r  r  r   rJ   r(   r*   r3   r   r2   )r5   r   df_origr6   r9   s        r:   test_astype_assignmentz TestFancy.test_astype_assignment  s   1112DOO
 
 
 ")g!7!>!>v!F!FW\\^^ '!!!QqS&/00::1Q3---.Y
 
 
 !)e 5 < <V D De ,,V44 ,,V44
b(+++ \\^^3..rx88qqq#v///0$y//
 
 
 #+4=="9"@"@"H"Hg
b(+++\\^^ "qqq3*} 5 < <RX F Fqqq3*}---.Y
 
 
 #+4=="9"@"@"H"Hg
b(+++++rk   c                    t          dg di          }|d                             t          j                  |j        d d df<   t          dg di          }t          j        ||           t          dg di          }|d                             t          j                  |j        d d df<   t          j        ||           d S )Nr   )r    r   r   r   r   )r   r  r(   r*   rJ   r3   r   r2   r5   r6   r9   s      r:   (test_astype_assignment_full_replacementsz2TestFancy.test_astype_assignment_full_replacements7  s    111233 3rx001c#7#7#7899
b(+++111233C11qqq#v
b(+++++rk   indexerc                    t          t          d                    t          t          d          t          dd                    fD ]}t          |j                  sJ |                                }d ||          d<   t          |j                  sJ  ||          d         dk    sJ |                                }d ||          d<   |j        }d|vr*t          g |j                                        d          }t          j	        |j        |           |                                }d ||          d<   t          |j                  sJ t          t          d          t          j        d	                    fD ]}t          |j                  sJ |                                }d ||          d<   t          |j                  sJ  ||          d         dk    sJ |                                }d ||          d<   t          j	        |j        |j                   |                                }d ||          d<   t          |j                  sJ d S )
Nr"   r   r#   r   r   g?r   0g      @)r   r   r   r   r   r   r	   tolistr3   rp   r   r(   r)   )r5   r.  ss2exps        r:   test_index_type_coercionz"TestFancy.test_index_type_coercionE  sX    q""F5885A;;$G$G$GH 	- 	-A#AG,,,,,B GGBKK!"(+++++72;;s#q((((B GGBKK'Czz2agnn..2233!"(C000B GGBKK"28,,,,,,q38889 	- 	-A!!'*****B GGBKK!"(+++++72;;s#q((((B GGBKK!"(AG444B GGBKK"28,,,,,,	- 	-rk   N))__name__
__module____qualname____doc__r;   r=   r.   markfilterwarningsra   re   rj   rr   r|   parametrizer   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r*  r-  r3   getitemr2   r5  r   rk   r:   r   r   %   s       ,,1 1 1,
+ 
+ 
+ [	 " "	 "H [	  	 0  0 0 0$# # # [UT6N33
' 
' 43
'* * *0 0 0
* 
* 
*  2     , [Viiie%=>>  ?>$ $ $	' 	' 	'0 0 0(1 1 1( ( (. . .L* L* L*\.- .- .-`, , ,&
* 
* 
*
 
 
	 	 	$, $, $,L, , , [YRV(<==)- )- >=)- )- )-rk   r   c            
       @   e Zd Zd Zd Zd Zd Zej        	                    d e
dd           ej        d          dz    ej        dd	d          g          d
             Zd Zd Zd Zej        	                    dg d          d             Zd Zd Zd Zd ZdS )TestMiscc                 d   t          t          j                            d                              d          t          j                            d                              d          d          }d|d<   t          |d         |d         dgdz  d          }t	          j        ||           d S )Nr!   r   )r   r    rt   r   r    )r   r    rt   )r   r(   rF   rG   r3   r   r,  s      r:   test_float_index_to_mixedz"TestMisc.test_float_index_to_mixeds  s    Y**1--44R88Y**1--44R88 
 
 32c7CtbyIIJJ
h+++++rk   c                     t          g dg ddg d          }d|j        |j        d d         <   t          g dg d	d|j                  }t          j        ||           d S )
Nr   r$   r%   r"   ru   r    r   r   r   r   r!   r   )r   r   r"   )r   r2   r   r3   r   r,  s      r:   &test_float_index_non_scalar_assignmentz/TestMisc.test_float_index_non_scalar_assignment  s{    YYYYYY77OOO rx|999999==RXNNN
h+++++rk   c                     t          g dg ddg d          }|                                }|j        |j                 |j        |j        <   t	          j        ||           d S )Nr   rC  ru   rD  r   )r   r   r2   r   r3   r   r5   r6   r
  s      r:    test_loc_setitem_fullindex_viewsz)TestMisc.test_loc_setitem_fullindex_views  se    YYYYYY77OOOggii6"(+rx
b#&&&&&rk   c                    d }t          j        d                              dd          }g d}t          ||t	          d          d          }d	|j        d
dddddf         z  }|                                }g d|d<   g d|d<   |j        dddd
fxx         d	z  cc<   |                                }|j        dddd
fxx         d	z  cc<    |||||           ||||fD ]?}|d                             d          |d<   |d                             d           |d<   @g d|d<   g d|d<   t          j
        t          d          5   |||||           d d d            d S # 1 swxY w Y   d S )Nc                    t          d          g dt          dd          }}}ddgddgt          dd          }	}}|                                 }
||
j        ||f<   t	          j        |
|           |                                 }
||
j        ||f<   t	          j        |
|           |                                 }
||
j        ||	f<   t	          j        |
|           d S )	Nbcdr   r   r%   joejolier!   r$   )r   slicer   r2   r3   r   rJ   )r6   rhs	right_loc
right_iloclbl_oneidx_one	slice_onelbl_twoidx_two	slice_twor   s              r:   	run_testsz.TestMisc.test_rhs_alignment.<locals>.run_tests  s    *.u++yyy%1++iWG+0'*:QFE!QKKiWG7799D),DHWg%&!$	2227799D*-DIgw&'!$
3337799D.1DIi*+!$
33333rk   r   r"   r%   )jimrL  rM  jolineabcder*   )rn   r   r   r$   r   r!   )r      r   r#   r   rL  )r!      r   r"   r   rM  r   r,   c                     d|  S )N@r   r   s    r:   r   z-TestMisc.test_rhs_alignment.<locals>.<lambda>  s    'a'' rk   )r    z@-28z@-20z@-12g      1@)z@2g      :g      2g      $z@18rx   r   )r(   r)   r   r   r   rJ   r   r  mapr.   r/   rz   )	r5   rX  xsr  r6   rO  rQ  rP  frames	            r:   test_rhs_alignmentzTestMisc.test_rhs_alignment  s)   	4 	4 	4" Yr]]""1a((000r4tG}}GLLL 271Qr61Qr6>** WWYY
...
5///
7!QqS!!!R'!!!GGII	qsAaCx   B&    		"c9j111 #y*5 	C 	CE <..y99E%L"7^//0A0ABBE'NN???
5@@@
7]9O<<< 	6 	6Ib#y*555	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6s   E--E14E1r   r   r   d      c                    t           j        }t          |          }t          t	          j        d          |          }t          j        |||d         d d         |dd d                    t          j        ||d |d         d         |d dd                    t          j        |||d         |d         d         |ddd                    t          j        |||d         |d         d         |d d                    d S )Nr   r   r   r]  r   r_  r   )rM   
IndexSlicer	   r   r(   r)   r3   !assert_indexing_slices_equivalent)r5   r   SLCri   s       r:   )test_str_label_slicing_with_negative_stepz2TestMisc.test_str_label_slicing_with_negative_step  s    mCjjRYr]]#...
,S#c!fll2CSBZPPP
,S#mAm2Dc%1R%jQQQ
,SWs1v*+SAb\	
 	
 	
 	,S#c!fs2w6K2LcRTSTRTgVVVVVrk   c                      |t          j        t          |                    |          }t          j        t
          d          5   ||          d d d          d d d            d S # 1 swxY w Y   d S )Nr   zslice step cannot be zeror   r   )r(   r)   rR   r.   r/   r0   )r5   r   r   rZ   r\   s        r:    test_slice_with_zero_step_raisesz)TestMisc.test_slice_with_zero_step_raises  s    obiE

335AAA]:-HIII 	! 	!JsOOCCaC  	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!s   A**A.1A.c                    t          g dd          }t          g dg dd|          }|                                }dd	d}||j        d
<   dd	g|j        d
<   t	          j        ||           t          g dg dd|          }||j        d
<   t          g dg dd|          }t	          j        ||           d S )N)r   r"   zrg   )r   r!   r#   )r!   r!   r   )r   yr   r   c   r"   )r   r   g       @)r   r!   r   )r   r   g     X@)r	   r   r   r2   r3   r   )r5   r   r6   r9   rO  s        r:   8test_loc_setitem_indexing_assignment_dict_already_existszATestMisc.test_loc_setitem_indexing_assignment_dict_already_exists  s    jjjs+++YYYYYY77uEEE7799Bq	b'Q
b(+++ YYY___==UKKKq	9993C3C3CDDERRR
b(+++++rk   c                    t          g dg dd          }|j        g d d f         }|j        d d df         j        t          j        k    sJ t          j        |j        d d df         |j        d d df                    d S )Nr   )rv   b2b3ru   rt   r   )r   rJ   r2   r   r(   r*   r3   r4   rG  s      r:   *test_iloc_getitem_indexing_dtypes_on_emptyz3TestMisc.test_iloc_getitem_indexing_dtypes_on_empty  s    YYY->->->??@@gb!!!enwqqq#v$0000
swqqq#vA?????rk   rA   )r"   i?B i@B c           	         t          t          |          t          j                  }d|j        t          d          <   t          j        |j        t          d                   t          dt          d                               d|j        t          d          <   t          j        |j        t          d                   t          dt          d                               d S )	N)r   r   *   r   g      E@r   +   r!   g     E@)r   r   r(   r,   r2   r3   r4   )r5   rA   r2  s      r:   !test_loc_range_in_series_indexingz*TestMisc.test_loc_range_in_series_indexing  s     tBJ777eAhh
quU1XXt5880L0L0LMMMeAhh
quU1XXt5880L0L0LMMMMMrk   c                 2   t          t          j        d                              dd          t	          d          t	          d                    }t          dt	          d          t	          d                    }||                                         }t          t          j        d	d
t          j        gddt          j        gt          j        gdz  g          t	          d          t	          d                    }t          j	        ||           d S )Ng      "@r$   r   ABCr   r   r   ABr   r    r   r   )
r   r(   r)   r   r   notnullr1   ry   r3   r   )r5   r6   index_dfr8   r9   s        r:   #test_partial_boolean_frame_indexingz,TestMisc.test_partial_boolean_frame_indexing  s    IcNN""1a((UT%[[
 
 
 Qd4jj$t**EEEH$$&&'HsC(3RV*<rvhlKLLu++KK
 
 

 	fh/////rk   c                 F   t          t          j        ddd          dg          j        }|g d         }t          t          j        dd          t          j        d	d          t          j        d
d          ggdgg d          }t          j        ||           d S )Nz
2021-01-01r"   r  )periodsfreqr   rm   r   )r  z
2021-01-02z
2021-01-03r   )r   rM   period_rangeTPeriodr3   r   rq   s       r:   test_period_column_slicingz#TestMisc.test_period_column_slicing  s     OL!#>>>E
 
 
  	 III Il555Il555Il555 %II

 

 

 	fh/////rk   c                     t          ddgddgd          }dD ]}t          ||           t          j        |          }~ |            J d S )Nr   r   r!   r$   ru   )r2   rJ   atiat)r   getattrweakrefref)r5   r6   r'   wrs       r:   test_no_reference_cyclez TestMisc.test_no_reference_cycle  sd    aV1a&11220 	 	DB[__rtt|||||rk   c                     t          ddd|g          }|                    d          }|j        |         }||         }d}||k    sJ ||k    sJ d S )Nr   z{1,2}F)dropna)r   value_countsr2   )r5   nulls_fixturer6   vcresult1result2r9   s          r:   test_label_indexing_on_nanz#TestMisc.test_label_indexing_on_nan  sn    QM233__E_**&']#(""""(""""""rk   N)r6  r7  r8  rA  rE  rH  re  r.   r:  r<  r   r(   r)   linspacerl  rn  rt  rx  r|  r  r  r  r  r   rk   r:   r?  r?  r  s]       
, 
, 
,, , ,' ' '-6 -6 -6^ [sB2!4kbk#sB6O6OP 
W 
W 
W! ! !
, , ,@ @ @ [V%9%9%9::N N ;:N0 0 00 0 0*  	# 	# 	# 	# 	#rk   r?  c            
          e Zd Zg dej        ddgefg dej        ddgdf edd	d	           edd	d           edd	d          ge edd	d           edd	d          gdfg d
g ddfgZe	j
                            de          d             Ze	j
                            de          d             Ze	j
                            de          d             Zd ZdS )TestDataframeNoneCoercionr   r!   r$   rD  r   r   N  r   r   )Nr   r   r9   c                     |\  }}}t          d|i          }d |j        ddgf<   t          d|i          }t          j        ||           d S Nr   r   r   r2   r3   r   r5   r9   
start_dataexpected_resultwarnstart_dataframeexpected_dataframes          r:   test_coercion_with_locz0TestDataframeNoneCoercion.test_coercion_with_loc6  s`    ,4)
OT#UJ$788*.AwJ'&'?@@
o/ABBBBBrk   c                     |\  }}}t          d|i          }d ||d         |d         d         k    <   t          d|i          }t          j        ||           d S r  )r   r3   r   r  s          r:   (test_coercion_with_setitem_and_dataframezBTestDataframeNoneCoercion.test_coercion_with_setitem_and_dataframe@  sk    ,4)
OT#UJ$788OS./%2H2KKL&'?@@
o/ABBBBBrk   c                     |\  }}}t          d|i          }d |j        |d         |d         d         k    <   t          d|i          }t          j        ||           d S r  r  r  s          r:   $test_none_coercion_loc_and_dataframez>TestDataframeNoneCoercion.test_none_coercion_loc_and_dataframeJ  sn    ,4)
OT#UJ$788SWOE2oe6LQ6OOP&'?@@
o/ABBBBBrk   c                    t          g dg dt          ddd          t          ddd          t          ddd          gg dd          }d |j        d	<   t          t          j        ddgt          j        d
dgt
          t          ddd          t          ddd          gg dd          }t          j        ||           d S )Nr   rD  r  r   r!   r$   )rt   rv   rw   )rt   rv   rw   r   r   r   r   )Nrv   rw   )r   r   rJ   r(   ry   r
   r3   r   )r5   r  r4  s      r:   test_none_coercion_mixed_dtypesz9TestDataframeNoneCoercion.test_none_coercion_mixed_dtypesT  s    #YY$__tQ**HT1a,@,@(4QRTUBVBVW$__	 
 
 #'Qfa^fc3'8D!Q//$11E1EF%%%	 
 
 	os33333rk   )r6  r7  r8  r(   ry   FutureWarningr   r
   EXPECTED_SINGLE_ROW_RESULTSr.   r:  r<  r  r  r  r  r   rk   r:   r  r  '  sp        
RVQNM2	263,d3 XdAq!!88D!Q#7#7$19M9MN((4A&&q!(<(<=	
 
		 4 4 4d;# [Z)DEEC C FEC [Z)DEEC C FEC [Z)DEEC C FEC4 4 4 4 4rk   r  c            
       \   e Zd Zd Zej                            deej	        e
j	        e
j        eg          ej                            dddg edd           ej	        g d          g          d                         Zej                            d	d
 ej        d          g          d             Zej                            deej	        e
j	        e
j        eg          ej                            dddg edd           ej	        g d          g          d                         ZdS )TestDatetimelikeCoercionc                 8   |}t          dd|          }t          |                    d                    }|j        }d}|                    |           | ||          d<   |)|j        |j        k    sJ |j        j        |j        u sJ d S |j        |u sJ d S )N
2016-01-01r$   r  tzTdeepz
2018-01-01r   )r   r   r   rU   _validate_setitem_valuer   _ndarray)r5   tz_naive_fixturer[   r  dtiri   r	  newvals           r:   test_setitem_dt64_string_scalarz8TestDatetimelikeCoercion.test_setitem_dt64_string_scalark  s    qR888SXX4X(())&&v...$C:9	))));'6?::::::;&((((((rk   boxrh   r   r   r!   )TTFc                    |}t          |t                    r|t          j        u rt          dd          }t	          dd|          }t          |                    d                    }|j        } |dd	g          }	|                    |	           |	 ||          |<   |)|j	        |j	        k    sJ |j        j
        |j
        u sJ d S |j        |u sJ d S )
Nr   r   r  r$   r  Tr  z
2019-01-01z
2010-01-02)rL   rN  r3   r2   r   r   r   rU   r  r   r  )
r5   r  r[   rh   r  r  r  ri   r	  newvalss
             r:   test_setitem_dt64_string_valuesz8TestDatetimelikeCoercion.test_setitem_dt64_string_values  s     c5!! 	kRV&;&;1++CqR888SXX4X(())#|\233&&w/// 'C:9	))));'6?::::::;&((((((rk   scalarz3 Daysr%   c                     t          dd          }t          |                    d                    }|j        }|                    |           | ||          d<   |j        j        |j        u sJ d S )N1 Dayr$   r  Tr  r   )r   r   r   rU   r  r  )r5   r[   r  tdiri   r	  s         r:   test_setitem_td64_scalarz1TestDatetimelikeCoercion.test_setitem_td64_scalar  s~     gq111SXX4X(())&&v...$C{#v666666rk   c                 l   t          |t                    r|t          j        u rt          dd          }t	          dd          }t          |                    d                    }|j        } |dd	g          }|                    |           | ||          |<   |j        j	        |j	        u sJ d S )
Nr   r   r  r$   r  Tr  z10 Daysz44 hours)
rL   rN  r3   r2   r   r   r   rU   r  r  )r5   r[   rh   r  r  ri   r	  r  s           r:   test_setitem_td64_string_valuesz8TestDatetimelikeCoercion.test_setitem_td64_string_values  s     c5!! 	kRV&;&;1++Cgq111SXX4X(())#y*-..&&w/// 'C{#v666666rk   N)r6  r7  r8  r  r.   r:  r<  r   r(   r1   rM   Categoricalr	   rN  r  r   Hourr  r  r   rk   r:   r  r  j  sy       ) ) )* [UT28RXr~u$UVV[AaXRX.A.A.A%B%BC ) )  WV)0 [X,',q//'BCC	7 	7 DC	7 [UT28RXr~u$UVV[AaXRX.A.A.A%B%BC 7 7  WV7 7 7rk   r  c                  f   t          t          j        ddgd          t          j        ddgd          ddd	g
          } t          t          j        ddgd          ddgd          }| j        d         }t          j        ||           | j        d         }t          j        ||           d S )Nr   r!   Int64r   r$   r%   r  rt   rv   r   r   r   r&   r   )r   rM   r1   r   r2   r3   r4   rJ   )r6   r9   r8   s      r:   "test_extension_array_cross_sectionr    s    	1a&0001a&000	
 	
 Cj
 
 
B bh1vW555c3ZcRRRHVC[F68,,,WQZF68,,,,,rk   c                     t          t          j        ddgd          t          j        ddgd          dddg	          } | j        d         }t          ddgdd
dgd          }t          j        ||           | j        d         }t          j        ||           t          t          j        ddgd          t          j        ddg          dddg	          } | j        d         }t          ddgt          d
dgd          }t          j        ||           | j        d         }t          j        ||           d S )Nr   r!   r  r   r*   r  rt   rv   r   r   r   )r   r   r'   r   )
r   rM   r1   r(   r2   r   r3   r4   rJ   r  )r6   r8   r9   s      r:   +test_extension_array_cross_section_convertsr    s\   	1a&0001a&000	
 	
 Cj
 
 
B VC[Fq!fGC:CHHHH68,,,WQZF68,,, 
h1vW---BHc3Z4H4HIICj
 
 
B VC[Fq#hfS#JSIIIH68,,,WQZF68,,,,,rk   z	ser, keysr   )r   r   r   r   r   )r   r   c                 B   t           d}}t          j        ||          5   ||           |          d d d            n# 1 swxY w Y   |t          j        k    r	t
          d}}t          j        ||          5  d ||           |<   d d d            d S # 1 swxY w Y   d S )NzToo many indexersr   ztoo many indices for arrayr   )r   r.   r/   r3   rJ   rX   )ri   keys
indexer_liexp_errexp_msgs        r:   'test_ser_tup_indexer_exceeds_dimensionsr    s/    %&9WG	wg	.	.	.  
3               RW%'C	wg	.	.	. " " !

3" " " " " " " " " " " " " " " " " "s!   >AA8BBBc                     t          dg          } | |          ddg         }t          ddgt          ddg                    }t          j        ||           d S )Nr   r   r   )r   r	   r3   r4   )r  ri   resr4  s       r:   (test_ser_list_indexer_exceeds_dimensionsr    s`     ",,C
*S//1a&
!C
"b1v
/
/
/C3$$$$$rk   valuer   rv   c                    t          dg di          }d                    ddg          }t          j        t          |          5  | |j        d<   d d d            n# 1 swxY w Y   t          g dt          j        g dt          	          d
          }t          j        t          d          5  | |j        d<   d d d            d S # 1 swxY w Y   d S )Nr   r   rE   z"Must have equal len keys and value(setting an array element with a sequencer   r   r   r   rt   rv   r   r  )	r   rW   r.   r/   r0   r2   r(   r1   r  )r  r6   r7   s      r:   %test_scalar_setitem_with_nested_valuer    sb   
 
C#	$	$B
((06	
 C 
z	-	-	-  v              
 
---v)N)N)NOO	P	PB	z)M	N	N	N  v                 s$   AA!$A!2C

CCc                    t          g d          }t          j        t          d          5  |  ||          d<   d d d            n# 1 swxY w Y   t          g dt                    }|  ||          d<   t          | t          j                  r'|j        d         | k    	                                sJ d S |j        d         | k    sJ d S )Nr   r  r   r   r  r   )
r   r.   r/   r0   r  rL   r(   rV   r2   all)r  r[   ri   s      r:   ,test_scalar_setitem_series_with_nested_valuer  !  s   
 

C	z)S	T	T	T $ $#C$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ f
-
-
-CKKQ%$$ #
e#((*******wqzU""""""s   AAA)r   r   r   c                    t          dg di          }| |j        d<   t          g ddt          j        t          j        gd          }t	          j        ||           t          g dt          j        g dt                    d          }| |j        d<   t          | t          j	                  r'|j        d         | k    
                                sJ d S |j        d         | k    sJ d S )Nr   r   r  r   r  r  r   )r   r2   r(   ry   r3   r   r1   r  rL   rV   r  )r  r6   r9   s      r:   -test_scalar_setitem_with_nested_value_length1r  3  s     
C#	$	$BBF6NyyyRVRV/DEEFFH"h''' 
---v)N)N)NOO	P	PBBF6N%$$ 'v%',,.......vf~&&&&&&rk   c                 <   t          g d          }t          | t          j                  r5|  ||          d<   t          g d          }t	          j        ||           nAt          j        t          d          5  |  ||          d<   d d d            n# 1 swxY w Y   t          g dt                    }|  ||          d<   t          | t          j                  r'|j
        d         | k                                    sJ d S |j
        d         | k    sJ d S )NrD  r   )r   r   r   r  r   r  r   )r   rL   r(   rV   r3   r4   r.   r/   r0   r  r2   r  )r  r[   ri   r9   s       r:   4test_scalar_setitem_series_with_nested_value_length1r  H  sr    
!
!C%$$ (#C///**
sH----]H
 
 
 	( 	( #(KKQ	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( f
-
-
-CKKQ%$$ #
e#((*******wqzU""""""s   <BBBc                     t          dddg          } t                      | d<   t                      | j        d<   t          j        | j        d         t                                 t          j        | j        d         t                                 t          dddg          }t                      |j        d<   t          j        |j        d         t                                 d S )NOrt   rv   )r   r   r   )r   r2   r3   r4   rJ   )s1r3  s     r:   +test_object_dtype_series_set_series_elementr  c  s    	c#s	,	,	,BhhBsG((BF3K26#;11126#;111	c#s	,	,	,BBGAJ271:vxx00000rk   ).r9  r1   r   r   r  numpyr(   r.   pandas.errorsr   pandas.core.dtypes.commonr   r   r   pandasrM   r   r	   r
   r   r   r   r   pandas._testing_testingr3   pandas.tests.indexing.commonr   !pandas.tests.indexing.test_floatsr   r   r?  r  r  r  r  r:  r<  r   r  r  r  r  r  r  r  r   rk   r:   <module>r     s%              				       ' ' ' ' ' '                                     / / / / / / 5 5 5 5 5 5J	- J	- J	- J	- J	- J	- J	- J	-Zr# r# r# r# r# r# r# r#j@4 @4 @4 @4 @4 @4 @4 @4FP7 P7 P7 P7 P7 P7 P7 P7f- - -"- - -: fbTllFffYYYdd5kkBBBFKL " "	 "% % % fq!fhbh1v..C!Q0H0HI   . fq!fhbh1v..C!Q0H0HI # # # fseXRXse__kek#u.E.EF ' ' '$ fseXRXse__kek#u.E.EF # # #01 1 1 1 1rk   