
    bMh                        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        c/var/www/html/test/jupyter/venv/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                    t          ||          } ||          }t          j                            d                              dd          }g }|t
          u rF|t          j        t          j        fv r,|	                    d           |r|	                    d           |t
          u s|t          j        u r,|	                    d           |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\]z$Passed array should be 1-dimensional;Buffer has wrong number of dimensions \(expected 1, got 3\)zindexer should be 1-dimensionalz&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using_array_manager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" DBCCC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   -	KK
K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_3dx   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/////rl   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            n# 1 swxY w Y   t          ddgt          j        dgt          d	t          j        gt                    d          }t          j        ||           d S )Nar   r$   r!   ru   bcitem of incompatible dtyper   r   )r   rx   r   ru   rw   rx   )r   r(   nanr   r,   r3   assert_produces_warningFutureWarningr2   r   objectassert_frame_equalr5   r6   r9   s      r:   test_setitem_dtype_upcastz#TestFancy.test_setitem_dtype_upcast   s   a"2"2344&3#w}
****'!=
 
 
 	# 	# #BF6N	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# a&{v1V1V1VWW
 
 	b(+++++s   A55A9<A9valgQ	@wxyzc                    t          t          j        dd                              dd          t	          d          g d          }|                                }t          j        t          d	
          5  ||j	        d<   d d d            n# 1 swxY w Y   t          d|dgg dgt	          d          g d          }t          j
        ||           t          |d                   sJ t          |d                   sJ d S )Nr#   r*   r   r!   r$   abr   r   bazr   ro   ry   r   ru   r   r   r$   r%   r"   r   r   )r   r(   r)   reshapelistcopyr3   r|   r}   r2   r   r   )r5   r   r6   leftrights        r:   test_setitem_dtype_upcast2z$TestFancy.test_setitem_dtype_upcast2   sa    Iaw'''//155t**)))
 
 
 wwyy'!=
 
 
 	' 	' $'DHZ 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' a[)))$t**)))
 
 
 	dE***U,,,,,U,,,,,,,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            n# 1 swxY w Y   t          g dg dgt	          d          g d	          }t          j	        ||           t          |d                   sJ t          |d                   sJ d S )Nr#   r*   r   r!   r$   g      $@r   r   r   ry   r   r   r   )r   r   g?)g333333?g?g      ?r   r   )r   r(   r)   r   r   r3   r|   r}   r2   r   r   )r5   r   r   s      r:   test_setitem_dtype_upcast3z$TestFancy.test_setitem_dtype_upcast3   sW   Iaw'''//155<t**)))
 
 

 '!=
 
 
 	* 	* $*DHZ 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*
 /t**)))
 
 
 	dE***d5k*****d5k*******s   (A??BBc                     t          t          j        d          g d          }|ddg         j        }t	          g d          }t          j        ||           d S )Nr$   )ru   ru   rw   rn   rw   ru   )rw   ru   ru   )r   r(   eyero   r	   r3   rq   rr   s       r:   test_dups_fancy_indexingz"TestFancy.test_dups_fancy_indexing   s\     rvayy///:::S#J'))
fh/////rl   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   aaaaaaarn   r%   )r   r   ro   rJ   r3   r   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&)))))rl   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#   drx   )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_label4  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   r5   r6   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   rn   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_indexing2A  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$   ru   rw   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_indexing3L  s    I!!!$$44V<<---#J
 
 
 71Q3<A
fh///C:&
fh///71Q36?Ac
*+
fh/////rl   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_slrj   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0rl   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  rv   ru   c                     | dk    rdn| S )Nr   _ xs    r:   <lambda>z9TestFancy.test_indexing_mixed_frame_bug.<locals>.<lambda>n  s    AJJSSA rl   r   r   c                     | dk    rdn| S )Nr   -----r   r   s    r:   r   z9TestFancy.test_indexing_mixed_frame_bug.<locals>.<lambda>r  s    1::1 rl   )r   r!   r   )r   applyr2   rJ   )r5   r6   idxtemps       r:   test_indexing_mixed_frame_bugz'TestFancy.test_indexing_mixed_frame_bugg  s    %003337O7OPP
 

 W]]#E#EFF6
 jCvc3h%%&L&LMM"sF{wt}''''''rl   c                 z   t          t          j                            d                              d          dgg dz             }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"   ru   )            rn   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_accessv  s    I!!!$$++G44seFVFVFV>V
 
 
 ]8295N+O+OPPP 	 	|||	 	 	 	 	 	 	 	 	 	 	 	 	 	 	"v|A"(1+------s   5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   rn   )	r   r(   r{   reset_index	set_indexreindexro   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)))))rl   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)ru   rw   ru   rw   ru   rw   )r   r   r   r   r   r   r#      )FCPFcol1col2r
  r,   r   r   r	  r!   )r$   r$   ru   rw   )r   r   r%   r#   r   r   r      r   r   )r   r   r   astyper(   r{   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,,,,,rl   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(+++++rl   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)))))rl   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   	Timestampr~   r   _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   ABCDEFGrn   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_assignment4  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(+++++rl   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   r   s      r:   (test_astype_assignment_full_replacementsz2TestFancy.test_astype_assignment_full_replacementsZ  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(+++++rl   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          |j                                        dgz             }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   rq   r   r(   r)   )r5   r2  ss2exps        r:   test_index_type_coercionz"TestFancy.test_index_type_coercionh  sT    q""F5885A;;$G$G$GH 	- 	-A#AG,,,,,B GGBKK!"(+++++72;;s#q((((B GGBKK'CzzAGNN,,s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,,,,,,	- 	-rl   N))__name__
__module____qualname____doc__r;   r=   r.   markfilterwarningsrb   rf   rk   rs   r   parametrizer   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r"  r$  r/  r1  r3   getitemr2   r9  r   rl   r:   r   r   %   s       ,,1 1 1,
+ 
+ 
+ [	 ( (	 (T [	  	 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(<==)- )- >=)- )- )-rl   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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    ru   r   r    )r   r    ru   )r   r(   rF   rG   r3   r   r   s      r:   test_float_index_to_mixedz"TestMisc.test_float_index_to_mixed  s    Y**1--44R88Y**1--44R88 
 
 32c7CtbyIIJJ
h+++++rl   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   rv   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+++++rl   c                     t          g dg ddg d          }|                                }|j        |j                 |j        |j        <   t	          j        ||           d S )Nr   r   rv   rG  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#&&&&&rl   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<   |rwt          j
        t          d          5  t          j        t          d          5   |||||           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S 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3rl   r   r"   r%   )jimrO  rP  jolineabcder*   )ro   r   r   r$   r   r!   )r      r   r#   r   rO  )r!      r   r"   r   rP  r   r,   c                     d|  S )N@r   r   s    r:   r   z-TestMisc.test_rhs_alignment.<locals>.<lambda>  s    'a'' rl   )r    z@-28z@-20z@-12g      1@)z@2g      :g      2g      $z@18zInvalid valuer   zincompatible dtype)r(   r)   r   r   r   rJ   r   r  mapr.   r/   	TypeErrorr3   r|   r}   )
r5   r   r[  xsr  r6   rR  rT  rS  frames
             r:   test_rhs_alignmentzTestMisc.test_rhs_alignment  s9   	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 	:y@@@ > >/!)=   > > Ib#y*===> > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > +MAUVVV : :	"c9j999: : : : : : : : : : : : : : : : : :sH   F"/F
>F"
F	F"F	F""F&)F&
G&&G*-G*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   rb  r   )rM   
IndexSlicer	   r   r(   r)   r3   !assert_indexing_slices_equivalent)r5   r   SLCrj   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Vrl   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"   zrh   )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   rR  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(+++++rl   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   )rw   b2b3rv   ru   r   )r   rJ   r2   r   r(   r*   r3   r4   rJ  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?????rl   rA   )r"   i?B i@B c                    t          t          |          t          j                  }d|j        t          d          <   t          j        |j        t          d                   t          ddg                     d|j        t          d          <   t          j        |j        t          d                   t          d	ddg                     d S )
N)r   r   *   r   g      E@r   r   +   r!   g     E@)r   r   r(   r,   r2   r3   r4   )r5   rA   r6  s      r:   !test_loc_range_in_series_indexingz*TestMisc.test_loc_range_in_series_indexing  s     tBJ777eAhh
quU1XXtA30G0G0GHHHeAhh
quU1XXtAq60J0J0JKKKKKrl   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   r{   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/////rl   c                     t          ddgddgd          }dD ]}t          ||           t          j        |          }~ |            J d S )Nr   r   r!   r$   rv   )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|||||rl   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_nan0  sn    QM233__E_**&']#(""""(""""""rl   N)r:  r;  r<  rE  rH  rK  ri  r.   r>  r@  r   r(   r)   linspacerp  rr  rx  r|  r  r  r  r  r   rl   r:   rC  rC    sN       
, 
, 
,, , ,' ' '4: 4: 4:l [sB2!4kbk#sB6O6OP 
W 
W 
W! ! !
, , ,@ @ @ [V%9%9%9::L L ;:L0 0 0  	# 	# 	# 	# 	#rl   rC  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$   rG  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_locK  s`    ,4)
OT#UJ$788*.AwJ'&'?@@
o/ABBBBBrl   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_dataframeU  sk    ,4)
OT#UJ$788OS./%2H2KKL&'?@@
o/ABBBBBrl   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_dataframe_  sn    ,4)
OT#UJ$788SWOE2oe6LQ6OOP&'?@@
o/ABBBBBrl   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   rG  r  r   r!   r$   rz   )ru   rw   rx   r   r   r   r   )Nrw   rx   )r   r   rJ   r(   r{   r
   r3   r   )r5   r  r8  s      r:   test_none_coercion_mixed_dtypesz9TestDataframeNoneCoercion.test_none_coercion_mixed_dtypesi  s    #YY$__tQ**HT1a,@,@(4QRTUBVBVW$__	 
 
 #'Qfa^fc3'8D!Q//$11E1EF%%%	 
 
 	os33333rl   )r:  r;  r<  r(   r{   r}   r   r
   EXPECTED_SINGLE_ROW_RESULTSr.   r>  r@  r  r  r  r  r   rl   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 4rl   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$   periodstzTdeepz
2018-01-01r   )r   r   r   rU   _validate_setitem_valuer   _ndarray)r5   tz_naive_fixturer[   r  dtirj   r  newvals           r:   test_setitem_dt64_string_scalarz8TestDatetimelikeCoercion.test_setitem_dt64_string_scalar  s    qR888SXX4X(())&&v...$C:9	))));'6?::::::;&((((((rl   boxri   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   rQ  r3   r2   r   r   r   rU   r  r   r  )
r5   r  r[   ri   r  r  r  rj   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?::::::;&((((((rl   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  tdirj   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6rl   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   rQ  r3   r2   r   r   r   rU   r  r  )r5   r[   ri   r  r  rj   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6rl   N)r:  r;  r<  r  r.   r>  r@  r   r(   r1   rM   Categoricalr	   rQ  r  r   Hourr  r  r   rl   r:   r  r    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 7rl   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  ru   rw   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,,,,,rl   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  ru   rw   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,,,,,rl   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   )rj   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  rj   resr8  s       r:   (test_ser_list_indexer_exceeds_dimensionsr    s`     ",,C
*S//1a&
!C
"b1v
/
/
/C3$$$$$rl   valuer   rw   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   ru   rw   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[   rj   s      r:   ,test_scalar_setitem_series_with_nested_valuer  6  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(   r{   r3   r   r1   r~   rL   rV   r  )r  r6   r9   s      r:   -test_scalar_setitem_with_nested_value_length1r  H  s     
C#	$	$BBF6NyyyRVRV/DEEFFH"h''' 
---v)N)N)NOO	P	PBBF6N%$$ 'v%',,.......vf~&&&&&&rl   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 )NrG  r   )r   r   r   r  r   r  r   )r   rL   r(   rV   r3   r4   r.   r/   r0   r~   r2   r  )r  r[   rj   r9   s       r:   4test_scalar_setitem_series_with_nested_value_length1r  ]  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Oru   rw   )r   r   r   )r   r2   r3   r4   rJ   )s1r7  s     r:   +test_object_dtype_series_set_series_elementr  x  s    	c#s	,	,	,BhhBsG((BF3K26#;11126#;111	c#s	,	,	,BBGAJ271:vxx00000rl   ).r=  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   rC  r  r  r  r  r>  r@  r   r  r  r  r  r  r  r  r   rl   r:   <module>r     s%   " "        				       ' ' ' ' ' '                                     / / / / / / 5 5 5 5 5 5m	- m	- m	- m	- m	- m	- m	- m	-`d# d# d# d# d# d# d# d#N@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 1rl   