
    [6gj                        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 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)using_pyarrow_string_dtype)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ej                             e            d           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        b/var/www/surfInsights/venv3-11/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/   r0   r1   )r6   r7   r8   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   r4   setitemilocappendr3   r	   
isinstancepdIntervalIndexTimedeltaIndexDatetimeIndexPeriodIndexlen
MultiIndextyper
   _valuesndarrayjoin
IndexErrorr1   NotImplementedErrorr/   r0   )r6   r   frame_or_seriesindexer_sliusing_array_managerobjidxrnd3msgsr8   potential_errorss              r;   test_getitem_ndarray_3dz!TestFancy.test_getitem_ndarray_3dL   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@   rA   zCannot set values with ndim > rF   )rC   zCannot set values with ndim > 1rD   rE   z,Array conditional must be same shape as selfr   r   )r   r)   rG   rH   rI   r4   rK   r1   ndimrX   r/   r0   )	r6   r   r[   r\   r^   r_   r`   errr8   s	            r;   test_setitem_ndarray_3dz!TestFancy.test_setitem_ndarray_3dz   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)   r2   r	   r   r4   r5   )r6   keyr7   r9   r:   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	   r3   r)   infr   r
   r-   r4   assert_index_equalr6   r7   r9   r:   s       r;   test_inf_upcastzTestFancy.test_inf_upcast   s     s###q	q	rv vbfai A%%%%!Qrz:::
fh/////rm   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"   rv   bcitem of incompatible dtyper   r   )r   ry   r   rv   rx   ry   )r	   r)   nanr   r-   r4   assert_produces_warningFutureWarningr3   r   objectassert_frame_equalr6   r7   r:   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   rp   rz   r   rv   r   r   r%   r&   r#   r   r   )r	   r)   r*   reshapelistcopyr4   r}   r~   r3   r   r   )r6   r   r7   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   rz   r   r   r   )r   r   g?)g333333?g?g      ?r   r   )r	   r)   r*   r   r   r4   r}   r~   r3   r   r   )r6   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%   )rv   rv   rx   ro   rx   rv   )rx   rv   rv   )r	   r)   eyerp   r
   r4   rr   rs   s       r;   test_dups_fancy_indexingz"TestFancy.test_dups_fancy_indexing   s\     rvayy///:::S#J'))
fh/////rm   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   aaaaaaaro   r&   )r	   r   rp   rK   r4   r   r6   r7   r9   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&)))))rm   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$   dry   )r   r   Enot in indexr   )FGHr   r   r   )	r	   r   r3   r4   r   r
   r/   r0   KeyError)r6   r7   rowsr:   r9   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   z;"None of [Index(['E'], dtype='string')] are in the [index]"r   r   z;"None of [Index(['E'], dtype='object')] are in the [index]")r	   r)   rG   rH   standard_normalr   r/   r0   r   reescaper3   )r6   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S        #                                    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/   r0   r   r3   )r6   r   r7   s      r;   &test_dups_fancy_indexing_missing_labelz0TestFancy.test_dups_fancy_indexing_missing_label6  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   r6   r7   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   ro   r   r   )r   r   r   )	r	   r)   rG   rH   r   r/   r0   r   r3   r   s     r;   test_dups_fancy_indexing2z#TestFancy.test_dups_fancy_indexing2C  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%   rv   rx   r   r   r$   r   )	r	   r)   rG   rH   r   rK   r3   r4   r   )r6   r7   r:   r9   s       r;   test_dups_fancy_indexing3z#TestFancy.test_dups_fancy_indexing3N  s    I!!!$$44V<<---#J
 
 
 71Q3<A
fh///C:&
fh///71Q36?Ac
*+
fh/////rm   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   ranger4   r5   )r6   
indexer_slrk   r:   r9   s        r;   test_duplicate_int_indexingz%TestFancy.test_duplicate_int_indexingb  sg    U1XXYYY///%((1a&111C!%
vx00000rm   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  rw   rv   c                     | dk    rdn| S )Nr   _ xs    r;   <lambda>z9TestFancy.test_indexing_mixed_frame_bug.<locals>.<lambda>p  s    AJJSSA rm   r   r   c                     | dk    rdn| S )Nr   -----r   r   s    r;   r   z9TestFancy.test_indexing_mixed_frame_bug.<locals>.<lambda>t  s    1::1 rm   )r   r"   r   )r	   applyr3   rK   )r6   r7   idxtemps       r;   test_indexing_mixed_frame_bugz'TestFancy.test_indexing_mixed_frame_bugi  s    %003337O7OPP
 

 W]]#E#EFF6
 jCvc3h%%&L&LMM"sF{wt}''''''rm   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#   rv   )            ro   z'[26, -8] not in index'r   )r      ir   r   )
r	   r)   rG   rH   r/   r0   r   r   r   shaper   s     r;    test_multitype_list_index_accessz*TestFancy.test_multitype_list_index_accessx  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   ro   )	r	   r)   r|   reset_index	set_indexreindexrp   r4   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)))))rm   zcan't multiply arrow stringsreasonc                 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)rv   rx   rv   rx   rv   rx   )r   r   r   r   r   r   r$      )FCPFcol1col2r  r-   r   r   r  r"   )r%   r%   rv   rx   )r   r   r&   r$   r   r   r      r   r   )r	   r   r   astyper)   r|   rK   r   r
  isnar   r3   r4   r   values)r6   r7   df2maskcolsdftr:   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,,,,,rm   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   r3   r4   r   )r6   r7   r:   r  cols        r;   "test_multi_assign_broadcasting_rhsz,TestFancy.test_multi_assign_broadcasting_rhs  s    $__&&&&&&$__	 
 
 7799}! 	. 	.C&(gHLs##+-c7<<>>r#w!|c3Z'(
b(+++++rm   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	   rK   r4   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)))))rm   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
   rN   	Timestampr   r   _is_all_datesr/   r0   r   r3   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/   r0   r   r3   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                    }|                                }|j        d d ddf                             t
          j                  |j        d d ddf<   t          g dgt          d                    }|sF|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                    }|s#|d                             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                    }|sF|d                             t                    |d<   |d
                             t                    |d
<   t          j	        ||           d S )N)123.4r#         @r   ABCDEFGro   r   r"   )r   r"   r+  r,  r#   r-  r   r   r   )r   r*  r+  r,  r#   r-  r   r   )r)  r"   r%   r,  r#   r-  r   )r	   r   r   rK   r  r)   r+   r   r4   r   r3   )r6   r   df_origr7   r:   s        r;   test_astype_assignmentz TestFancy.test_astype_assignment9  sX   1112DOO
 
 
 \\^^ '!!!QqS&/00::1Q3---.Y
 
 
 " 	9$SM0088HSM$SM0088HSM
b(+++ \\^^3..rx88qqq#v///0$y//
 
 
 " 	9$SM0088HSM
b(+++\\^^ "qqq3*} 5 < <RX F Fqqq3*}---.Y
 
 
 " 	9$SM0088HSM$SM0088HSM
b(+++++rm   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+   rK   r4   r   r3   r   s      r;   (test_astype_assignment_full_replacementsz2TestFancy.test_astype_assignment_full_replacements`  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(+++++rm   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
   tolistr4   rr   r   r)   r*   )r6   r3  ss2exps        r;   test_index_type_coercionz"TestFancy.test_index_type_coercionn  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,,,,,,	- 	-rm   N)+__name__
__module____qualname____doc__r<   r>   r/   markfilterwarningsrc   rg   rl   rt   r   parametrizer   r   r   r   r   r   r   r   r   r   r   r   r   r   r  xfailr   r  r  r  r%  r'  r0  r2  r4   getitemr3   r:  r   rm   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*\ [""$$-K   .- .- .-`, , ,&
* 
* 
*
 
 
	 	 	%, %, %,N, , , [YRV(<==)- )- >=)- )- )-rm   r   c            
          e Zd Zd Zd Zd Zej                             e	            d          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!   rv   r   r!   )r   r!   rv   )r	   r)   rG   rH   r4   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+++++rm   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   rw   r!   r   r   r   r   r"   r   )r   r   r#   )r	   r3   r   r4   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+++++rm   c                     t          g dg ddg d          }|                                }|j        |j                 |j        |j        <   t	          j        ||           d S )Nr   r   rw   rI  r   )r	   r   r3   r   r4   r   r6   r7   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#&&&&&rm   zcan't set int into stringr  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   r3   r4   r   rK   )r7   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3rm   r   r#   r&   )jimrQ  rR  jolineabcder+   )rp   r   r   r%   r   r"   )r      r   r$   r   rQ  )r"      r   r#   r   rR  r   r-   c                     d|  S )N@r   r   s    r;   r   z-TestMisc.test_rhs_alignment.<locals>.<lambda>  s    'a'' rm   )r!   z@-28z@-20z@-12g      1@)z@2g      :g      2g      $z@18zincompatible dtyper   )r)   r*   r   r	   r   rK   r   r  mapr4   r}   r~   )	r6   r]  xsr  r7   rT  rV  rU  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'=QRRR 	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   rb  r   rd  r   )rN   
IndexSlicer
   r   r)   r*   r4   !assert_indexing_slices_equivalent)r6   r   SLCrk   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Vrm   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*   rS   r/   r0   r1   )r6   r   r   r[   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#   zri   )r   r"   r$   )r"   r"   r   )r   yr   r   c   r#   )r   r   g       @)r   r"   r   )r   r   g     X@)r
   r	   r   r3   r4   r   )r6   r   r7   r:   rT  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(+++++rm   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   )rx   b2b3rw   rv   r   )r	   rK   r3   r   r)   r+   r4   r5   rL  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?????rm   rB   )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-   r3   r4   r5   )r6   rB   r7  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Krm   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   notnullr2   r|   r4   r   )r6   r7   index_dfr9   r:   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/////rm   c                     t          ddgddgd          }dD ]}t          ||           t          j        |          }~ |            J d S )Nr   r   r"   r%   rw   )r3   rK   atiat)r	   getattrweakrefref)r6   r7   r(   wrs       r;   test_no_reference_cyclez TestMisc.test_no_reference_cycle(  sd    aV1a&11220 	 	DB[__rtt|||||rm   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_countsr3   )r6   nulls_fixturer7   vcresult1result2r:   s          r;   test_label_indexing_on_nanz#TestMisc.test_label_indexing_on_nan0  sn    QM233__E_**&']#(""""(""""""rm   N)r;  r<  r=  rG  rJ  rM  r/   r?  rB  r   rj  rA  r   r)   r*   linspacerq  rs  ry  r}  r  r  r  r  r   rm   r;   rE  rE    s|       
, 
, 
,, , ,' ' ' [1133<WXX-6 -6 YX-6^ [sB2!4kbk#sB6O6OP 
W 
W 
W! ! !
, , ,@ @ @ [V%9%9%9::L L ;:L0 0 0  	# 	# 	# 	# 	#rm   rE  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%   rI  r   r   N  r   r   )Nr   r   r:   c                     |\  }}}t          d|i          }d |j        ddgf<   t          d|i          }t          j        ||           d S Nr   r   r	   r3   r4   r   r6   r:   
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Brm   c                     |\  }}}t          d|i          }d ||d         |d         d         k    <   t          d|i          }t          j        ||           d S r  )r	   r4   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Brm   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Brm   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   rI  r  r   r"   r%   r{   )rv   rx   ry   r   r   r   r   )Nrx   ry   )r	   r   rK   r)   r|   r   r4   r   )r6   r  r9  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3rm   )r;  r<  r=  r)   r|   r~   r   r   EXPECTED_SINGLE_ROW_RESULTSr/   r?  rA  r  r  r  r  r   rm   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 4rm   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   rV   _validate_setitem_valuer   _ndarray)r6   tz_naive_fixturer\   r  dtirk   r  newvals           r;   test_setitem_dt64_string_scalarz8TestDatetimelikeCoercion.test_setitem_dt64_string_scalar  s    qR888SXX4X(())&&v...$C:9	))));'6?::::::;&((((((rm   boxrj   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)rM   rS  r4   r3   r   r   r   rV   r  r   r  )
r6   r  r\   rj   r  r  r  rk   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?::::::;&((((((rm   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   rV   r  r  )r6   r\   r  tdirk   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6rm   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)
rM   rS  r4   r3   r   r   r   rV   r  r  )r6   r\   rj   r  r  rk   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6rm   N)r;  r<  r=  r  r/   r?  rA  r   r)   r2   rN   Categoricalr
   rS  r  r   Hourr  r  r   rm   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 7rm   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  rv   rx   r   r   r   r'   r   )r	   rN   r2   r   r3   r4   r5   rK   )r7   r:   r9   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,,,,,rm   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  rv   rx   r   r   r   )r   r   r(   r   )
r	   rN   r2   r)   r3   r   r4   r5   rK   r   )r7   r9   r:   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,,,,,rm   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/   r0   r4   rK   rY   )rk   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
   r4   r5   )r  rk   resr9  s       r;   (test_ser_list_indexer_exceeds_dimensionsr    s`     ",,C
*S//1a&
!C
"b1v
/
/
/C3$$$$$rm   valuer   rx   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   rF   z"Must have equal len keys and value(setting an array element with a sequencer   r   r   r   rv   rx   r   r  )	r	   rX   r/   r0   r1   r3   r)   r2   r   )r  r7   r8   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/   r0   r1   r   rM   r)   rW   r3   all)r  r\   rk   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	   r3   r)   r|   r4   r   r2   r   rM   rW   r  )r  r7   r:   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~&&&&&&rm   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 )NrI  r   )r   r   r   r  r   r  r   )r   rM   r)   rW   r4   r5   r/   r0   r1   r   r3   r  )r  r\   rk   r:   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Orv   rx   )r   r   r   )r   r3   r4   r5   rK   )s1r8  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0rm   )0r>  r2   r   r   r  numpyr)   r/   pandas._configr   pandas.errorsr   pandas.core.dtypes.commonr   r   r   pandasrN   r	   r
   r   r   r   r   r   pandas._testing_testingr4   pandas.tests.indexing.commonr   !pandas.tests.indexing.test_floatsr   r   rE  r  r  r  r  r?  rA  r   r  r  r  r  r  r  r  r   rm   r;   <module>r     s7   " "        				       5 5 5 5 5 5 ' ' ' ' ' '                                     / / / / / / 5 5 5 5 5 5q	- q	- q	- q	- q	- q	- q	- q	-h^# ^# ^# ^# ^# ^# ^# ^#B@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 1rm   