
    d                        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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d Z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        _/var/www/html/t/fyr/venv311/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>c                 z   t          ||          } ||          }t          j                            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                    |          }	t0          t2          t4          f}
t7          j        |
|	          5  ||          d d d            d S # 1 swxY w Y   d S )Nr"   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randintr   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	22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   	J00J47J4c                 b   t          ||          } ||          }t          j                            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@   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   r3   rI   r0   ndimrV   r.   r/   )	r5   r   rY   rZ   r\   r]   r^   errr7   s	            r:   test_setitem_ndarray_3dz!TestFancy.test_setitem_ndarray_3dt   s   ou--{3i	22"'!!C=38==CCC((   C ]3c*** 	 	DI	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   B$$B(+B(c                     t          j        d          }t          ddgddgg          }||         }t          ddgd          }t	          j        ||           t          ddg          }||         }|dk    sJ d S )Nr   r   r!   r$   r%   r'   )r(   r1   r   r   r3   r4   )r5   keyr6   r8   r9   sers         r:   test_getitem_ndarray_0dz!TestFancy.test_getitem_ndarray_0d   s    hqkk AA'((C1a&q)))
vx000 aVnnS{{{{{{    c                 >   t          dg          }d|j        d<   d|j        d<   d|j        t          j        <   |j        t          j        df         dk    sJ |j        }t          ddt          j        gt          j                  }t          j        ||           d S )Nr   columnsr   r!   r$   r   )	r   r2   r(   infr   r	   r,   r3   assert_index_equalr5   r6   r8   r9   s       r:   test_inf_upcastzTestFancy.test_inf_upcast   s     s###q	q	rv vbfai A%%%%!Qrz:::
fh/////rk   c                 "   t          ddidddg          }t          j        |d<   |d         j        t          j        k    sJ d|j        d<   t          dt          j        dd	ddt          j        d	g          }t          j        ||           d S )
Nar   r$   r!   rt   bcr   )r   rw   rt   rv   rw   )r   r(   nanr   r,   r2   r3   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}
****v26..aabf0M0MN
 
 	b(+++++rk   valgQ	@wxyzc                    t          t          j        dd                              dd          t	          d          g d          }|                                }||j        d	<   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   rn   rt   r   r   r$   r%   r"   r   r   )
r   r(   r)   reshapelistcopyr2   r3   rz   r   )r5   r}   r6   leftrights        r:   test_setitem_dtype_upcast2z$TestFancy.test_setitem_dtype_upcast2   s     Iaw'''//155t**)))
 
 
 wwyy"a[)))$t**)))
 
 
 	dE***U,,,,,U,,,,,,,rk   c                    t          t          j        dd                              dd          dz  t	          d          g d	          }d
|j        d<   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   r~   r   )r   r~   g?)g333333?g?g      ?r   r   )	r   r(   r)   r   r   r2   r3   rz   r   )r5   r   r   s      r:   test_setitem_dtype_upcast3z$TestFancy.test_setitem_dtype_upcast3   s    Iaw'''//155<t**)))
 
 

  &/t**)))
 
 
 	dE***d5k*****d5k*******rk   c                     t          j        dd          }g d|_        |ddg         j        }t          g d          }t          j        ||           d S )Nr   r$   )rt   rt   rv   rv   rt   )rv   rt   rt   )r3   makeCustomDataframern   r	   rp   rq   s       r:   test_dups_fancy_indexingz"TestFancy.test_dups_fancy_indexing   s[     #B**$__
S#J'))
fh/////rk   c                 H   t          g dgt          d                    }|                                 t          |           t          g dg          }t          d          |_        |j        d d df          |j        d d df          t          j        ||           d S )N)r   r!   r           @      @r   r   aaaaaaarm   r%   )r   r   headstrrn   rI   r3   rz   r5   r6   r8   s      r:   &test_dups_fancy_indexing_across_dtypesz0TestFancy.test_dups_fancy_indexing_across_dtypes   s    ;;;<d9ooVVV
			B???@AAi 	1AAAqD
b&)))))rk   c                 H   t          g dg dt          d          dg d          }ddg}t          d	d
gddgddgd|          }|j        |         }t          j        ||           |j        t          |                   }t          j        ||           g d}t          j        t          d          5  |j        |          d d d            n# 1 swxY w Y   g d}t          j        t          d          5  |j        |          d d d            d S # 1 swxY w Y   d S )Nr"      	   r   )      @r"   r#   r   abcd)testtest1otherAr   BCr   r   r   r   r   g      @r#   drw   )r   r   Enot in indexr   )FGHr   r   r   )	r   r   r2   r3   rz   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                    }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$   AABCDr   z;"None of [Index(['E'], dtype='object')] are in the [index]"r   r   )r   r(   rF   randnr   r.   r/   r   reescaper2   )r5   dfnus     r:   +test_dups_fancy_indexing_only_missing_labelz5TestFancy.test_dups_fancy_indexing_only_missing_label  s    A..d7mmDDD])O 
 
 
 	 	 HcUOO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   *BB
B
vals)r   r   r!   abcc                     t          d|i          }t          j        t          d          5  |j        g d          d d d            d S # 1 swxY w Y   d S )Nr   r   r   )r      r   r   r.   r/   r   r2   )r5   r   r6   s      r:   &test_dups_fancy_indexing_missing_labelz0TestFancy.test_dups_fancy_indexing_missing_label  s     T{##]8>::: 	 	F999	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A

AAc                     t          dg dig d          }t          j        t          d          5  |j        g d          d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   r   r   )r   r   r   r   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   rm   r   r   )r   r   r   )r   r(   rF   r   r.   r/   r   r2   r   s     r:   test_dups_fancy_indexing2z#TestFancy.test_dups_fancy_indexing2(  s     ryq!,,6O6O6OPPP]8>::: 	' 	'F111ooo%&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	's   A..A25A2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$   rt   rv   r   r   r#   r   )r   r(   rF   r   rI   r2   r3   rz   )r5   r6   r9   r8   s       r:   test_dups_fancy_indexing3z#TestFancy.test_dups_fancy_indexing30  s    IOOAq!!)D)D)DsTWj
 
 
 71Q3<A
fh///C:&
fh///71Q36?Ac
*+
fh/////rk   c                     t          t          d          g d          }t          t          d          ddg          } ||          dg         }t          j        ||           d S )Nr$   r   r   r$   r   r!   r   )r   ranger3   r4   )r5   
indexer_slri   r9   r8   s        r:   test_duplicate_int_indexingz%TestFancy.test_duplicate_int_indexingB  sg    U1XXYYY///%((1a&111C!%
vx00000rk   c                    t          ddddddddd          }|d	                             d
           |d<   |d         dk    }|j        |d	f                             d           }||j        |df<   |j        d         dk    sJ d S )Naaabbbcccr   r!   r$   o      iM  ru   rt   c                     | dk    rdn| S )Nr   _ xs    r:   <lambda>z9TestFancy.test_indexing_mixed_frame_bug.<locals>.<lambda>P  s    AJJSSA rk   r   r   c                     | dk    rdn| S )Nr   -----r   r   s    r:   r   z9TestFancy.test_indexing_mixed_frame_bug.<locals>.<lambda>T  s    1::1 rk   )r   r!   r   )r   applyr2   rI   )r5   r6   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}''''''rk   c                 T   t          t          j                            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 )
N)r   r"   rt   )            rm   z'[26, -8] not in index'r   )r      ir   r   )	r   r(   rF   r.   r/   r   r   r   shaper   s     r:    test_multitype_list_index_accessz*TestFancy.test_multitype_list_index_accessX  s    ry''003%BRBRBR:RSSS]8295N+O+OPPP 	 	|||	 	 	 	 	 	 	 	 	 	 	 	 	 	 	"v|A"(1+------s   "A99A= A=c                 @   t          ddddddddddd	d
ddddddt          j        t          j        t          j        t          j        dt          j        t          j        t          j        t          j        t          j        t          j        dddddddddddddddddddd d d d d d d d d d d!dd"                                          }|                    g d#                                                              |j        $          }t          j        ||           d S )%NnonQC10111213243546474859)         r   r   r   r         r                       r    goe@gm77M @g,o@g2?g@?gufn?g%?gTFa?gI"?g+ew7?gy7Z?g9?gGp#?gC?i  i  i  i  i  )PRuidQCdatayear)r   r   r   rm   )	r   r(   ry   reset_index	set_indexreindexrn   r3   rz   r   s      r:   test_set_index_nanzTestFancy.test_set_index_nan`  so      "  " +**++*++++++++ "  cA AC
 C
F +--G 	L LL00011[]]WRZW(( 	
 	fb)))))rk   c                 B   t          g dg dt          t          d                    t          t          dd                    d          }t          j        |j        d<   |                                }|j                                         }ddg}|d	z  }t          j        |j        d
<   t          dt          j        ddddgg dt          g d          dddt          j        ddgd          }|j
        ||f         |j
        ||f<   t          j        ||           t          dt          j        ddddgg dg ddddt          j        ddgd          }|                                }|j
        ||f         j        |j
        ||f<   t          j        ||           d S )N)rt   rv   rt   rv   rt   rv   )r   r   r   r   r   r   r#      )FCPFcol1col2r   r   r  r  r!   )r$   r$   rt   rv   )r   r   r%   r#   r   r   r      r   r   )r   r   r   r(   ry   rI   r   r  isnar   r2   r3   rz   values)r5   r6   df2maskcolsdftr9   s          r:   test_multi_assignzTestFancy.test_multi_assign  s   444(((U1XXU1b\\**	 
 
 ggii~AgBFCc37(((22233QBFB3	 
 
 "gdDj1d

c8,,,
 BFCc37(((+++QBFB3	 
 
 ggii!gdDj18d

c8,,,,,rk   c                    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   rz   )r5   r6   r9   r  cols        r:   "test_multi_assign_broadcasting_rhsz,TestFancy.test_multi_assign_broadcasting_rhs  s    $__&&&&&&$__	 
 
 7799}! 	. 	.C&(gHLs##+-c7r#w!|c3Z'(
b(+++++rk   c                     t          ddgdg          }g d|j        d<   ddg|j        d<   t          ddgdg          }ddg|j        d<   t          j        ||           d S )Nr   r   r   r   r  r!   )r   rI   r3   rz   r   s      r:   test_setitem_listzTestFancy.test_setitem_list  s{     aVaS111!		A!Q!555FD
fb)))))rk   c                    t          dgt          t          j        d          gt                              }|j        j        sJ t          j        t          d          5  |d          d d d            n# 1 swxY w Y   t          j        t          d          5  |j
        d          d d d            d S # 1 swxY w Y   d S )Nr   z
2011-01-01r   '2011'r   2011r  r   )r   r	   rL   	Timestampobjectr   _is_all_datesr.   r/   r   r2   r   s     r:   test_string_slicezTestFancy.test_string_slice  s;    sE2<#=#=">fMMMNNx%%%%]88444 	 	vJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]88444 	 	F9	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   "	A77A;>A;B88B<?B<c                 6   t                      }|j        j        rJ t          j        t
          d          5  |d          d d d            n# 1 swxY w Y   t          j        t
          d          5  |j        d          d d d            d S # 1 swxY w Y   d S )Nr  r   r  z^0$r  )r   r   r  r.   r/   r   r2   r   s     r:   test_string_slice_emptyz!TestFancy.test_string_slice_empty  s    [[8))))]88444 	 	vJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]85111 	 	F9	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s#   	AAA3BBBc                    t          g dgt          d                    }|                                }|j        d d ddf                             t
          j                  |j        d d ddf<   t          g dg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                    }|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                    }|d                             t                    |d<   |d
                             t                    |d
<   t          j	        ||           d S )N)123.4r"         @r   ABCDEFGrm   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   rI   astyper(   r*   r  r3   rz   r2   )r5   df_origr6   r9   s       r:   test_astype_assignmentz TestFancy.test_astype_assignment  s@   1112DOO
 
 
 \\^^ '!!!QqS&/00::1Q3---.Y
 
 
 !,,V44 ,,V44
b(+++ \\^^3..rx88qqq#v///0$y//
 
 
 !,,V44
b(+++\\^^ "qqq3*} 5 < <RX F Fqqq3*}---.Y
 
 
 !,,V44 ,,V44
b(+++++rk   c                    t          dg di          }|d                             t          j                  |j        d d df<   t          dg di          }t          j        ||           t          dg di          }|d                             t          j                  |j        d d df<   t          j        ||           d S )Nr   )r    r   r   r   r   )r   r(  r(   r*   rI   r3   rz   r2   r{   s      r:   (test_astype_assignment_full_replacementsz2TestFancy.test_astype_assignment_full_replacements7  s    111233 3rx001c#7#7#7899
b(+++111233C11qqq#v
b(+++++rk   indexerc                    t          t          d                    t          t          d          t          dd                    fD ]}t          |j                  sJ |                                }d ||          d<   t          |j                  sJ  ||          d         dk    sJ |                                }d ||          d<   |j        }d|vr*t          |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   rp   r   r(   r)   )r5   r-  ss2exps        r:   test_index_type_coercionz"TestFancy.test_index_type_coercionE  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,,,,,,	- 	-rk   N)(__name__
__module____qualname____doc__r;   r=   ra   re   rj   rr   r|   r.   markparametrizer   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r   r*  r,  r3   getitemr2   r4  r   rk   r:   r   r   %   sO       ,,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*\-- -- --^, , ,&
* 
* 
*
 
 
	 	 	", ", ",H, , , [YRV(<==)- )- >=)- )- )-rk   r   c            
       :   e Zd Zd Zd Zd Zd Zej        	                    d e
dd           ej        d          dz    ej        dd	d          g          d
             Zd Zd Zd Zej        	                    dg d          d             Zd Zd Zd ZdS )TestMiscc                    t          t          j                            d          t          j                            d          d          }d|d<   t          |d         |d         dgdz  d          }t	          j        ||           d S )Nr   )r   r    rt   r   r    )r   r    rt   )r   r(   rF   randr3   rz   r{   s      r:   test_float_index_to_mixedz"TestMisc.test_float_index_to_mixeds  sz    RY^^B//binnR6H6HIIJJ32c7CtbyIIJJ
h+++++rk   c                     t          g dg ddg d          }d|j        |j        d d         <   t          g dg d	d|j                  }t          j        ||           d S )
Nr   r   ru   r    r   r   r   r   r!   r   )r   r   r"   )r   r2   r   r3   rz   r{   s      r:   &test_float_index_non_scalar_assignmentz/TestMisc.test_float_index_non_scalar_assignmentz  s{    YYYYYY77OOO rx|999999==RXNNN
h+++++rk   c                     t          g dg ddg d          }|                                }|j        |j                 |j        |j        <   t	          j        ||           d S )Nr   r   ru   rB  r   )r   r   r2   r   r3   rz   r5   r6   r  s      r:    test_loc_setitem_fullindex_viewsz)TestMisc.test_loc_setitem_fullindex_views  se    YYYYYY77OOOggii6"(+rx
b#&&&&&rk   c                    d }t          j        d                              dd          }g d}t          ||t	          d          d          }d	|j        d
dddddf         z  }|                                }g d|d<   g d|d<   |j        dddd
fxx         d	z  cc<   |                                }|j        dddd
fxx         d	z  cc<    |||||           ||||fD ]?}|d                             d          |d<   |d                             d           |d<   @g d|d<   g d|d<    |||||           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   rz   rI   )r6   rhs	right_loc
right_iloclbl_oneidx_one	slice_onelbl_twoidx_two	slice_twor   s              r:   	run_testsz.TestMisc.test_rhs_alignment.<locals>.run_tests  s    *.u++yyy%1++iWG+0'*:QFE!QKKiWG7799D),DHWg%&!$	2227799D*-DIgw&'!$
3337799D.1DIi*+!$
33333rk   r   r"   r%   )jimrJ  rK  jolineabcder*   )rn   r   r   r$   r   r!   )r      r   r#   r   rJ  )r!      r   r"   r   rK  r   r,   c                     d|  S )N@r   r   s    r:   r   z-TestMisc.test_rhs_alignment.<locals>.<lambda>  s    'a'' rk   )r    z@-28z@-20z@-12g      1@)z@2g      :g      2g      $z@18)	r(   r)   r   r   r   rI   r   r(  map)	r5   rV  xsr  r6   rM  rO  rN  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	"c9j11111rk   r   r   r   d      c                    t           j        }t          |          }t          t	          j        d          |          }t          j        |||d         d d         |dd d                    t          j        ||d |d         d         |d dd                    t          j        |||d         |d         d         |ddd                    t          j        |||d         |d         d         |d d                    d S )Nr   r   r   r[  r   r]  r   )rL   
IndexSlicer	   r   r(   r)   r3   !assert_indexing_slices_equivalent)r5   r   SLCri   s       r:   )test_str_label_slicing_with_negative_stepz2TestMisc.test_str_label_slicing_with_negative_step  s    mCjjRYr]]#...
,S#c!fll2CSBZPPP
,S#mAm2Dc%1R%jQQQ
,SWs1v*+SAb\	
 	
 	
 	,S#c!fs2w6K2LcRTSTRTgVVVVVrk   c                      |t          j        t          |                    |          }t          j        t
          d          5   ||          d d d          d d d            d S # 1 swxY w Y   d S )Nr   zslice step cannot be zeror   r   )r(   r)   rQ   r.   r/   r0   )r5   r   r   rY   r\   s        r:    test_slice_with_zero_step_raisesz)TestMisc.test_slice_with_zero_step_raises  s    obiE

335AAA]:-HIII 	! 	!JsOOCCaC  	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!s   A**A.1A.c                    t          g dd          }t          g dg dd|          }|                                }dd	d}||j        d
<   dd	g|j        d
<   t	          j        ||           t          g dg dd|          }||j        d
<   t          g dg dd|          }t	          j        ||           d S )N)r   r"   zrg   )r   r!   r#   )r!   r!   r   )r   yr   r   c   r"   )r   r   g       @)r   r!   r   )r   r   g     X@)r	   r   r   r2   r3   rz   )r5   r   r6   r9   rM  s        r:   8test_loc_setitem_indexing_assignment_dict_already_existszATestMisc.test_loc_setitem_indexing_assignment_dict_already_exists  s    jjjs+++YYYYYY77uEEE7799Bq	b'Q
b(+++ YYY___==UKKKq	9993C3C3CDDERRR
b(+++++rk   c                    t          g dg dd          }|j        g d d f         }|j        d d df         j        t          j        k    sJ t          j        |j        d d df         |j        d d df                    d S )Nr   )rv   b2b3ru   rt   r   )r   rI   r2   r   r(   r*   r3   r4   rE  s      r:   *test_iloc_getitem_indexing_dtypes_on_emptyz3TestMisc.test_iloc_getitem_indexing_dtypes_on_empty  s    YYY->->->??@@gb!!!enwqqq#v$0000
swqqq#vA?????rk   rA   )r"   i?B i@B c                    t          t          |          t          j                  }d|j        t          d          <   t          j        |j        t          d                   t          d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   r1  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Krk   c                 2   t          t          j        d                              dd          t	          d          t	          d                    }t          dt	          d          t	          d                    }||                                         }t          t          j        d	d
t          j        gddt          j        gt          j        gdz  g          t	          d          t	          d                    }t          j	        ||           d S )Ng      "@r$   r   ABCr   r   r   ABr   r    r   r   )
r   r(   r)   r   r   notnullr1   ry   r3   rz   )r5   r6   index_dfr8   r9   s        r:   #test_partial_boolean_frame_indexingz,TestMisc.test_partial_boolean_frame_indexing  s    IcNN""1a((UT%[[
 
 
 Qd4jj$t**EEEH$$&&'HsC(3RV*<rvhlKLLu++KK
 
 

 	fh/////rk   c                     t          ddgddgd          }dD ]}t          ||           t          j        |          }~ |            J d S )Nr   r   r!   r$   ru   )r2   rI   atiat)r   getattrweakrefref)r5   r6   r'   wrs       r:   test_no_reference_cyclez TestMisc.test_no_reference_cycle  sd    aV1a&11220 	 	DB[__rtt|||||rk   c                     t          ddd|g          }|                    d          }|j        |         }||         }d}||k    sJ ||k    sJ d S )Nr   z{1,2}F)dropna)r   value_countsr2   )r5   nulls_fixturer6   vcresult1result2r9   s          r:   test_label_indexing_on_nanz#TestMisc.test_label_indexing_on_nan   sn    QM233__E_**&']#(""""(""""""rk   N)r5  r6  r7  r@  rC  rF  rc  r.   r9  r:  r   r(   r)   linspacerj  rl  rr  rv  rz  r  r  r  r   rk   r:   r=  r=  r  sN       , , ,, , ,' ' ',2 ,2 ,2\ [sB2!4kbk#sB6O6OP 
W 
W 
W! ! !
, , ,@ @ @ [V%9%9%9::L L ;:L0 0 0  	# 	# 	# 	# 	#rk   r=  c            
          e Zd Zg dej        ddgfg dej        ddgf eddd           eddd           eddd          ge eddd           eddd          gfg d	g 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$   rB  r   r     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   rz   r5   r9   
start_dataexpected_resultstart_dataframeexpected_dataframes         r:   test_coercion_with_locz0TestDataframeNoneCoercion.test_coercion_with_loc  s^    &.#
O#UJ$788*.AwJ'&'?@@
o/ABBBBBrk   c                     |\  }}t          d|i          }d ||d         |d         d         k    <   t          d|i          }t          j        ||           d S r  )r   r3   rz   r  s         r:   (test_coercion_with_setitem_and_dataframezBTestDataframeNoneCoercion.test_coercion_with_setitem_and_dataframe$  si    &.#
O#UJ$788OS./%2H2KKL&'?@@
o/ABBBBBrk   c                     |\  }}t          d|i          }d |j        |d         |d         d         k    <   t          d|i          }t          j        ||           d S r  r  r  s         r:   $test_none_coercion_loc_and_dataframez>TestDataframeNoneCoercion.test_none_coercion_loc_and_dataframe.  sl    &.#
O#UJ$788SWOE2oe6LQ6OOP&'?@@
o/ABBBBBrk   c                    t          g dg dt          ddd          t          ddd          t          ddd          gg dd          }d |j        d	<   t          t          j        ddgt          j        d
dgt
          t          ddd          t          ddd          gg dd          }t          j        ||           d S )Nr   rB  r  r   r!   r$   rx   )rt   rv   rw   r   r   r   r   )Nrv   rw   )r   r   rI   r(   ry   r
   r3   rz   )r5   r  r3  s      r:   test_none_coercion_mixed_dtypesz9TestDataframeNoneCoercion.test_none_coercion_mixed_dtypes8  s    #YY$__tQ**HT1a,@,@(4QRTUBVBVW$__	 
 
 #'Qfa^fc3'8D!Q//$11E1EF%%%	 
 
 	os33333rk   N)r5  r6  r7  r(   ry   r   r
   EXPECTED_SINGLE_ROW_RESULTSr.   r9  r:  r  r  r  r  r   rk   r:   r  r    sg        
RVQN#	263,- XdAq!!88D!Q#7#7$19M9MN((4A&&q!(<(<=	

 
		 4 4 45# [Z)DEEC C FEC [Z)DEEC C FEC [Z)DEEC C FEC4 4 4 4 4rk   r  c            
       \   e Zd Zd Zej                            deej	        e
j	        e
j        eg          ej                            dddg edd           ej	        g d          g          d                         Zej                            d	d
 ej        d          g          d             Zej                            deej	        e
j	        e
j        eg          ej                            dddg edd           ej	        g d          g          d                         ZdS )TestDatetimelikeCoercionc                 8   |}t          dd|          }t          |                    d                    }|j        }d}|                    |           | ||          d<   |)|j        |j        k    sJ |j        j        |j        u sJ d S |j        |u sJ d S )N
2016-01-01r$   periodstzTdeepz
2018-01-01r   )r   r   r   rT   _validate_setitem_valuer   _ndarray)r5   tz_naive_fixturerZ   r  dtiri   r
  newvals           r:   test_setitem_dt64_string_scalarz8TestDatetimelikeCoercion.test_setitem_dt64_string_scalarO  s    qR888SXX4X(())&&v...$C:9	))));'6?::::::;&((((((rk   boxrh   r   r   r!   )TTFc                    |}t          |t                    r|t          j        u rt          dd          }t	          dd|          }t          |                    d                    }|j        } |dd	g          }	|                    |	           |	 ||          |<   |)|j	        |j	        k    sJ |j        j
        |j
        u sJ d S |j        |u sJ d S )
Nr   r   r  r$   r  Tr  z
2019-01-01z
2010-01-02)rK   rL  r3   r2   r   r   r   rT   r  r   r  )
r5   r  rZ   rh   r  r  r  ri   r
  newvalss
             r:   test_setitem_dt64_string_valuesz8TestDatetimelikeCoercion.test_setitem_dt64_string_valuesd  s     c5!! 	kRV&;&;1++CqR888SXX4X(())#|\233&&w/// 'C:9	))));'6?::::::;&((((((rk   scalarz3 Daysr%   c                     t          dd          }t          |                    d                    }|j        }|                    |           | ||          d<   |j        j        |j        u sJ d S )N1 Dayr$   r  Tr  r   )r   r   r   rT   r  r  )r5   rZ   r  tdiri   r
  s         r:   test_setitem_td64_scalarz1TestDatetimelikeCoercion.test_setitem_td64_scalar  s~     gq111SXX4X(())&&v...$C{#v666666rk   c                 l   t          |t                    r|t          j        u rt          dd          }t	          dd          }t          |                    d                    }|j        } |dd	g          }|                    |           | ||          |<   |j        j	        |j	        u sJ d S )
Nr   r   r  r$   r  Tr  z10 Daysz44 hours)
rK   rL  r3   r2   r   r   r   rT   r  r  )r5   rZ   rh   r  r  ri   r
  r  s           r:   test_setitem_td64_string_valuesz8TestDatetimelikeCoercion.test_setitem_td64_string_values  s     c5!! 	kRV&;&;1++Cgq111SXX4X(())#y*-..&&w/// 'C{#v666666rk   N)r5  r6  r7  r  r.   r9  r:  r   r(   r1   rL   Categoricalr	   rL  r  r   Hourr  r  r   rk   r:   r  r  N  sy       ) ) )* [UT28RXr~u$UVV[AaXRX.A.A.A%B%BC ) )  WV)0 [X,',q//'BCC	7 	7 DC	7 [UT28RXr~u$UVV[AaXRX.A.A.A%B%BC 7 7  WV7 7 7rk   r  c                  f   t          t          j        ddgd          t          j        ddgd          ddd	g
          } t          t          j        ddgd          ddgd          }| j        d         }t          j        ||           | j        d         }t          j        ||           d S )Nr   r!   Int64r   r$   r%   r  rt   rv   r   r   r   r&   r   )r   rL   r1   r   r2   r3   r4   rI   )r6   r9   r8   s      r:   "test_extension_array_cross_sectionr    s    	1a&0001a&000	
 	
 Cj
 
 
B bh1vW555c3ZcRRRHVC[F68,,,WQZF68,,,,,rk   c                     t          t          j        ddgd          t          j        ddgd          dddg	          } | j        d         }t          ddgdd
dgd          }t          j        ||           | j        d         }t          j        ||           t          t          j        ddgd          t          j        ddg          dddg	          } | j        d         }t          ddgt          d
dgd          }t          j        ||           | j        d         }t          j        ||           d S )Nr   r!   r  r   r*   r  rt   rv   r   r   r   )r   r   r'   r   )
r   rL   r1   r(   r2   r   r3   r4   rI   r  )r6   r8   r9   s      r:   +test_extension_array_cross_section_convertsr    s\   	1a&0001a&000	
 	
 Cj
 
 
B VC[Fq!fGC:CHHHH68,,,WQZF68,,, 
h1vW---BHc3Z4H4HIICj
 
 
B VC[Fq#hfS#JSIIIH68,,,WQZF68,,,,,rk   z	ser, keysr   )r   r   r   r   r   )r   r   c                 B   t           d}}t          j        ||          5   ||           |          d d d            n# 1 swxY w Y   |t          j        k    r	t
          d}}t          j        ||          5  d ||           |<   d d d            d S # 1 swxY w Y   d S )NzToo many indexersr   ztoo many indices for arrayr   )r   r.   r/   r3   rI   rW   )ri   keys
indexer_liexp_errexp_msgs        r:   'test_ser_tup_indexer_exceeds_dimensionsr    s/    %&9WG	wg	.	.	.  
3               RW%'C	wg	.	.	. " " !

3" " " " " " " " " " " " " " " " " "s!   >AA8BBBc                     t          dg          } | |          ddg         }t          ddgt          ddg                    }t          j        ||           d S )Nr   r   r   )r   r	   r3   r4   )r  ri   resr3  s       r:   (test_ser_list_indexer_exceeds_dimensionsr    s`     ",,C
*S//1a&
!C
"b1v
/
/
/C3$$$$$rk   valuer   rv   c                    t          dg di          }d                    ddg          }t          j        t          |          5  | |j        d<   d d d            n# 1 swxY w Y   t          g dt          j        g dt          	          d
          }t          j        t          d          5  | |j        d<   d d d            d S # 1 swxY w Y   d S )Nr   r   rE   z"Must have equal len keys and value(setting an array element with a sequencer   r   r   r   rt   rv   r   r  )	r   rV   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  rK   r(   rU   r2   all)r  rZ   ri   s      r:   ,test_scalar_setitem_series_with_nested_valuer    s   
 

C	z)S	T	T	T $ $#C$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ f
-
-
-CKKQ%$$ #
e#((*******wqzU""""""s   AAA)r   r   r   c                    t          dg di          }| |j        d<   t          g ddt          j        t          j        gd          }t	          j        ||           t          g dt          j        g dt                    d          }| |j        d<   t          | t          j	                  r'|j        d         | k    
                                sJ d S |j        d         | k    sJ d S )Nr   r   r  r   r  r  r   )r   r2   r(   ry   r3   rz   r1   r  rK   rU   r  )r  r6   r9   s      r:   -test_scalar_setitem_with_nested_value_length1r    s     
C#	$	$BBF6NyyyRVRV/DEEFFH"h''' 
---v)N)N)NOO	P	PBBF6N%$$ 'v%',,.......vf~&&&&&&rk   c                 <   t          g d          }t          | t          j                  r5|  ||          d<   t          g d          }t	          j        ||           nAt          j        t          d          5  |  ||          d<   d d d            n# 1 swxY w Y   t          g dt                    }|  ||          d<   t          | t          j                  r'|j
        d         | k                                    sJ d S |j
        d         | k    sJ d S )NrB  r   )r   r   r   r  r   r  r   )r   rK   r(   rU   r3   r4   r.   r/   r0   r  r2   r  )r  rZ   ri   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)-r8  r1   r   r   r  numpyr(   r.   pandas.errorsr   pandas.core.dtypes.commonr   r   r   pandasrL   r   r	   r
   r   r   r   r   pandas._testing_testingr3   pandas.tests.indexing.commonr   !pandas.tests.indexing.test_floatsr   r   r=  r  r  r  r  r9  r:  r   r  r  r  r  r  r  r   rk   r:   <module>r     s   " "        				       ' ' ' ' ' '                                     / / / / / / 5 5 5 5 5 5J	- J	- J	- J	- J	- J	- J	- J	-ZW# W# W# W# W# W# W# W#t?4 ?4 ?4 ?4 ?4 ?4 ?4 ?4D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 # # # # #rk   