
    Owgj                        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jL                  jO                  d edg      df eg d e(d            dfg      d        Z)d Z*ejL                  jO                  ddddg ej                  ddg       ej                  dddg      g      d         Z+ejL                  jO                  ddddg ej                  ddg       ej                  dddg      g      d!        Z,ejL                  jO                  dd"d#g ej                  d#g       ej                  d$d#g      g      d%        Z-ejL                  jO                  dd"d#g ej                  d#g       ej                  d$d#g      g      d&        Z.d' Z/y)(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                  j                  d      d        Z	ej                  j                  d      d        Z
d Zd	 Zd
 Zej                  j                  dddg      d        Zd Zd Zd Zd Zd Zej                  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                  j=                   e       d       d!        Z d" Z!d# Z"d$ Z#d% Z$d& Z%d' Z&ej                  j                  d(e'jP                  e'jR                  g      d)        Z*y*)+	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        t        j                  g d
      |j                  |j                  dd df<   |j                  |j                  dd df   }t        g d
g dd      }t        j                   ||       y # 1 sw Y   xY w)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        Z/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/indexing/test_indexing.pytest_setitem_ndarray_1dz!TestFancy.test_setitem_ndarray_1d*   s    U299Q#3288DEHHRrzz25	HHRw/5	 Q]]:S1 	T+-884R+SBFF288Aa=%'(	T (*xx0N'Orxx!}e#$1u,-*,U
 	vx0	T 	Ts   4EE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        y # 1 sw Y   y xY w)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     U299Q#345HHRrzz25	HHRw/5	P]]:S1 	+ii1o*BqG	+ 	+ 	+s   B33B<zPignore:Series.__getitem__ treating keys as positions is deprecated:FutureWarningc                 L   t        ||      } ||      }t        j                  j                  d      j	                  dd      }g }|t
        u rF|t        j                  t        j                  fv r$|j                  d       |r|j                  d       |t
        u s|t        j                  u r$|j                  d       |r|j                  d       |t        j                  u s|t
        u r#|t        j                  u r|j                  d	       |t        u r#|t        j                  u r|j                  d
       t        |t        j                        r#|t        j                  u r|j                  d
       t        |t        j                  t        j                   t        j"                  f      r|j                  d       t%        |      dk(  st        |t        j&                        r|j                  d       t)        |      t*        u rFt        |j,                  t        j.                        s"|j                  d       |j                  d       dj1                  |      }	t2        t4        t6        f}
t9        j:                  |
|	      5  ||    d d d        y # 1 sw Y   y xY w)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ii##A&//	/Bf$RWW8M)MKKST"BCf$rww(>KKVW"=>"&& v%+*CKK@Ai'K2::,EKK:;eR--.;"''3IKK:;eb//1A1A2>>RSKK45u:?j>KK?@;%
5=="**(MKK34 KK:;hhtn&
4GH]]+37 	I	 	 	s   JJ#zPignore:Series.__setitem__ treating keys as positions is deprecated:FutureWarningc                 p   t        ||      } ||      }t        j                  j                  d      j	                  dd      }|t
        j                  u rt        }d|j                   }nt        }dj                  g d      }t        j                  ||      5  d	||<   d d d        y # 1 sw Y   y xY w)
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ii##A&//	/B"''!C2388*=CC((C ]]3c* 	DI	 	 	s   B,,B5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 y )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   su    hhqk AA'(C1a&q)
vx0 aVnS{{    c                 x   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                  ||       y )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	rvv vvbffai A%%%!Qrzz:
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        t        ddgt        j                  dgt        d	t        j                  gt              d      }t        j                  ||       y # 1 sw Y   `xY w)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34&&3#w}}

***''!=
 	# #BFF6N	# a&{v1VW
 	b(+	# 	#s   #CCvalgQ	@wxyzc                    t        t        j                  dd      j                  dd      t	        d      g d      }|j                         }t        j                  t        d	
      5  ||j                  d<   d d d        t        d|dgg dgt	        d      g d      }t        j                  ||       t        |d         sJ t        |d         sJ y # 1 sw Y   `xY w)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   s     IIaw'//15t*)
 wwy''!=
 	' $'DHHZ 	' a[)$t*)
 	dE*U,,,U,,,	' 	's   *CC"c                    t        t        j                  dd      j                  dd      dz  t	        d      g d	      }t        j                  t        d
      5  d|j                  d<   d d d        t        g dg dgt	        d      g d	      }t        j                  ||       t        |d         sJ t        |d         sJ y # 1 sw Y   _xY w)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   s    IIaw'//15<t*)

 ''!=
 	* $*DHHZ 	*
 /t*)
 	dE*d5k***d5k***	* 	*s   CCc                     t        t        j                  d      g d      }|ddg   j                  }t	        g d      }t        j                  ||       y )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   sE     rvvay/: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
                  ||       y )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`    ;<d9oV?@Ai 	1AqD
b&)rm   c                 ,   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        g d}t        j                  t        d      5  |j                  |    d d d        y # 1 sw Y   AxY w# 1 sw Y   y xY w)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    "^d6lS&
 Sz!WQx3*ET
 
fh/d$
fh/]]8>: 	FF4L	 .]]8>: 	FF4L	 		 	
	 	s   .C>%D
>D
Dc                    t        t        j                  j                  d      j	                  d      t        d            }|rHt        j                  t        t        j                  d            5  |j                  dg    d d d        y t        j                  t        t        j                  d            5  |j                  dg    d d d        y # 1 sw Y   y xY w# 1 sw Y   y xY w)	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    II!!!$44V<DM
 iiS   #    iiS   #         s   3C;C!C!C*vals)r   r   r"   abcc                     t        d|i      }t        j                  t        d      5  |j                  g d    d d d        y # 1 sw Y   y xY w)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  sA     T{#]]8>: 	FF9	 	 	s   AAc                     t        dg dig d      }t        j                  t        d      5  |j                  g d    d d d        y # 1 sw Y   y xY w)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=  sC    .6JK]]8>: 	$FF?#	$ 	$ 	$s   A

Ac                    t        t        j                  j                  d      j	                  d      g d      }t        j                  t        d      5  |j                  d d g df    d d d        y # 1 sw Y   y xY w)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  sd     II!!!$44V<-

 ]]8>: 	'FF1o%&	' 	' 	's   A66A?c                    t        t        j                  j                  d      j	                  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                  ||       y )
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    II!!!$44V<-#J
 771Q<A
fh/C:&
fh/771Q36?Ac
*+
fh/rm   c                     t        t        d      g d      }t        t        d      ddg      } ||      dg   }t        j                  ||       y )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  sF    U1XY/%(1a&1C!%
vx0rm   c                     t        ddddddddd      }|d	   j                  d
       |d<   |d   dk(  }|j                  |d	f   j                  d       }||j                  |df<   |j                  d   dk(  sJ y )Naaabbbcccr   r"   r%   o      iM  rw   rv   c                     | dk(  rdS | S )Nr   _ xs    r;   <lambda>z9TestFancy.test_indexing_mixed_frame_bug.<locals>.<lambda>p  s    AJS A rm   r   r   c                     | dk(  rdS | 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    %03337OP

 W]]#EF6
 jCvvc3h%%&LM"sF{wwt}'''rm   c                 ^   t        t        j                  j                  d      j                  d      dgg dz         }t	        j
                  t        t        j                  d            5  |g d    d d d        |d	   j                  d
   |j                  d
   k(  sJ y # 1 sw Y   .xY w)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    II!!!$++G4seFV>V
 ]]82995N+OP 	|	"v||A"((1+---	 	s   .B##B,c                 r   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"      j                         }|j	                  g d#      j                         j                  |j                  $      }t        j                  ||       y )%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  sL     " " +**++*++++++++" cAC
F +-G 	L LL01[]WRZZW( 	
 	fb)rm   zcan't multiply arrow stringsreasonc                    t        g dg dt        t        d            t        t        dd            d      j                  ddi      }t        j
                  |j                  d<   |j                         }|j                  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                         }|j                  ||f   j                  |j                  ||f<   t        j                  ||       y )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(U1XU1b\*	
 &&)$
% 	 ggi~AgBFFCc37(23QBFFB3	
 "ggdDj1d

c8,
 BFFCc37(+QBFFB3	
 ggi!ggdDj188d

c8,rm   c                    t        g dg dg dg dd      }|j                         }|d   dk(  }dD ]  }|d   |j                  ||f<    |d   j                         |j                  |d   dk(  dd	gf<   t        j                  ||       y )
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    $&&$	
 779}! 	.C&(gHLL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                  ||       y )Nr   r   r   r   r  r"   )r	   rK   r4   r   r   s      r;   test_setitem_listzTestFancy.test_setitem_list  sh     aVaS1!A!Q!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        t        j                  t        d      5  |j                  d    d d d        y # 1 sw Y   =xY w# 1 sw Y   y xY w)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Nxx%%%%]]884 	vJ	 ]]884 	FF9	 		 		 	s   $B&B2&B/2B;c                 0   t               }|j                  j                  rJ t        j                  t
        d      5  |d    d d d        t        j                  t
        d      5  |j                  d    d d d        y # 1 sw Y   =xY w# 1 sw Y   y xY w)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~     [88))))]]884 	vJ	 ]]851 	FF9	 		 		 	s   B 'B B	Bc                 `   t        g dgt        d            }|j                         }|j                  d d ddf   j	                  t
        j                        |j                  d d ddf<   t        g dgt        d            }|s6|d   j	                  t              |d<   |d   j	                  t              |d<   t        j                  ||       |j                         }|j                  d d df   j	                  t
        j                        |j                  d d df<   t        g d	gt        d            }|s|d   j	                  t              |d<   t        j                  ||       |j                         }|j                  d d dd
gf   j	                  t
        j                        |j                  d d dd
gf<   t        g dgt        d            }|s6|d   j	                  t              |d<   |d
   j	                  t              |d
<   t        j                  ||       y )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  s   12DO
 \\^ ''!QqS&/00:1Q3-.Y
 "$SM008HSM$SM008HSM
b(+ \\^3..rxx8q#v/0$y/
 "$SM008HSM
b(+\\^ "q3*} 5 < <RXX Fq3*}-.Y
 "$SM008HSM$SM008HSM
b(+rm   c                    t        dg di      }|d   j                  t        j                        |j                  d d df<   t        dg di      }t        j                  ||       t        dg di      }|d   j                  t        j                        |j                  d d df<   t        j                  ||       y )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23 3rxx01c#789
b(+123C1q#v
b(+rm   indexerc                 n   t        t        d            t        t        d      t        dd            fD ]  }t        |j                        sJ |j	                         }d ||      d<   t        |j                        sJ  ||      d   dk(  sJ |j	                         }d ||      d<   |j                  }d|vr't        |j                  j                         dgz         }t        j                  |j                  |       |j	                         }d ||      d<   t        |j                        rJ  t        t        d      t        j                  d	            fD ]  }t        |j                        sJ |j	                         }d ||      d<   t        |j                        sJ  ||      d   dk(  sJ |j	                         }d ||      d<   t        j                  |j                  |j                         |j	                         }d ||      d<   t        |j                        rJ  y )
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  s    q"F585A;$GH 	-A#AGG,,,B GBK!"((+++2;s#q(((B GBK''CzAGGNN,s23!!"((C0B GBK"288,,,#	-& q389 	-A!!''***B GBK!"((+++2;s#q(((B GBK!!"((AGG4B GBK"288,,,	-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,
+ [[	(	(T [[		00$, [[UT6N3- 4-.+*0
*2 , [[Vie%=> ?$	'0(1(.L*\ [["$-K  .-.-`,&
*
	%,N, [[YRVV(<=)- >)-rm   r   c            
       |   e Zd Zd Zd Zd Zej                  j                   e	       d      d        Z
ej                  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                  j                  dg d      d        Zd Zd Zd Zy)TestMiscc                 8   t        t        j                  j                  d      j                  d      t        j                  j                  d      j                  d      d      }d|d<   t        |d   |d   dgdz  d      }t	        j
                  ||       y )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    YY**1-44R8YY**1-44R8
 32c7CtbyI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                  ||       y )
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  sP    YY7O rxx|99=RXXN
h+rm   c                     t        g dg ddg d      }|j                         }|j                  |j                     |j                  |j                  <   t	        j
                  ||       y )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  sM    YY7Oggi66"((+rxx
b#&rm   zcan't set int into stringr  c                    d }t        j                  d      j                  dd      }g d}t        ||t	        d      d      }d	|j
                  d
dddddf   z  }|j                         }g d|d<   g d|d<   |j
                  dddd
fxx   d	z  cc<   |j                         }|j
                  dddd
fxx   d	z  cc<    |||||       ||||fD ]1  }|d   j                  d      |d<   |d   j                  d       |d<   3 g d|d<   g d|d<   t        j                  t        d      5   |||||       d d d        y # 1 sw Y   y xY w)Nc                    t        d      g dt        dd      }}}ddgddgt        dd      }	}}| j                         }
||
j                  ||f<   t	        j
                  |
|       | j                         }
||
j                  ||f<   t	        j
                  |
|       | j                         }
||
j                  ||	f<   t	        j
                  |
|       y )	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+y%1+iWG+0'*:QFE!QKiWG779D),DHHWg%&!!$	2779D*-DIIgw&'!!$
3779D.1DIIi*+!!$
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    AaS' 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  su   	4" YYr]""1a(0r4tG}GL 2771Qr61Qr6>** WWY
.
5/
7!QqS!R'!GGI	qsAaCx B&  	"c9j1 #y*5 	CE <..y9E%L"7^//0ABE'N	C @
5@
7''=QR 	6b#y*5	6 	6 	6s   5E

E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        y )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     mmCjRYYr]#.
,,S#c!fll2CSBZP
,,S#mAm2Dc%1R%jQ
,,SWs1v*+SAb\	
 	,,S#c!fs2w6K2LcRTSTgVrm   c                      |t        j                  t        |            |      }t        j                  t
        d      5   ||      d d d    d d d        y # 1 sw Y   y xY w)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  sO    biiE
35A]]:-HI 	!sOCaC 	! 	! 	!s   AA#c                 z   t        g dd      }t        g dg dd|      }|j                         }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
                  ||       y )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    js+YY7uE779Bq	b'Q
b(+ Y_=UKq	93CDE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          y )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  so    Y->?@ggb!enwwq#v$$000
swwq#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             y )
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BJJ7eAh
quuU1XtA30GHeAh
quuU1XtAq60JKrm   c                    t        t        j                  d      j                  dd      t	        d      t	        d            }t        dt	        d      t	        d            }||j                            }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                  ||       y )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    IIcN""1a(UT%[
 Qd4j$t*EH$$&'HHsC(3RVV*<rvvhlKLu+K

 	fh/rm   c                     t        ddgddgd      }dD ]  }t        ||        t        j                  |      }~ |       J y )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(  sN    aV1a&120 	DB	[[_t||rm   c                     t        ddd|g      }|j                  d      }|j                  |   }||   }d}||k(  sJ ||k(  sJ y )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  s^    QM2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3<WX-6 Y-6^ [[sB2!4kbkk#sB6OP
W
W!
,@ [[V%9:L ;L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                  j                  de      d        Ze	j                  j                  de      d        Ze	j                  j                  de      d        Zd Zy)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                  ||       y 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  sT    ,4)
OT#UJ$78*.AwJ'&'?@
o/ABrm   c                     |\  }}}t        d|i      }d ||d   |d   d   k(  <   t        d|i      }t        j                  ||       y r  )r	   r4   r   r  s          r;   (test_coercion_with_setitem_and_dataframezBTestDataframeNoneCoercion.test_coercion_with_setitem_and_dataframeU  s\    ,4)
OT#UJ$78OS./%2H2KKL&'?@
o/ABrm   c                     |\  }}}t        d|i      }d |j                  |d   |d   d   k(  <   t        d|i      }t        j                  ||       y r  r  r  s          r;   $test_none_coercion_loc_and_dataframez>TestDataframeNoneCoercion.test_none_coercion_loc_and_dataframe_  sb    ,4)
OT#UJ$78SWOE2oe6LQ6OOP&'?@
o/ABrm   c                 d   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                  ||       y )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    #$tQ*HT1a,@(4QRTUBVW$	
 #'Qffa^ffc3'8D!Q/$11EF%	
 	os3rm   )r;  r<  r=  r)   r|   r~   r   r   EXPECTED_SINGLE_ROW_RESULTSr/   r?  rA  r  r  r  r  r   rm   r;   r  r  <  s    
RVVQNM2	2663,d3 dAq!8D!Q#7$19MN(4A&q!(<=	
 
 4d;# [[Z)DEC FC [[Z)DEC FC [[Z)DEC FC4rm   r  c            
          e Zd Zd Zej
                  j                  deej                  e
j                  e
j                  eg      ej
                  j                  dddg edd       ej                  g d      g      d               Zej
                  j                  d	d
 ej                   d      g      d        Zej
                  j                  deej                  e
j                  e
j                  eg      ej
                  j                  dddg edd       ej                  g d      g      d               Zy)TestDatetimelikeCoercionc                 R   |}t        dd|      }t        |j                  d            }|j                  }d}|j	                  |       | ||      d<   |@|j
                  |j
                  k(  sJ |j                  j                  |j                  u sJ y |j                  |u sJ y )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SXX4X()&&v.$C:99		)));;''6??:::;;&(((rm   boxrj   r   r   r"   )TTFc                    |}t        |t              r|t        j                  u rt        dd      }t	        dd|      }t        |j                  d            }|j                  } |dd	g      }	|j                  |	       |	 ||      |<   |@|j                  |j                  k(  sJ |j                  j                  |j                  u sJ y |j                  |u sJ y )
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!kRVV&;1+CqR8SXX4X()|\23&&w/ 'C:99		)));;''6??:::;;&(((rm   scalarz3 Daysr&   c                     t        dd      }t        |j                  d            }|j                  }|j	                  |       | ||      d<   |j                  j
                  |j
                  u sJ y )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  sg     gq1SXX4X()&&v.$C{{##v666rm   c                 \   t        |t              r|t        j                  u rt        dd      }t	        dd      }t        |j                  d            }|j                  } |dd	g      }|j                  |       | ||      |<   |j                  j                  |j                  u sJ y )
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!kRVV&;1+Cgq1SXX4X()y*-.&&w/ 'C{{##v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    s(   )* [[UT288RXXr~~u$UV[[AaXRXX.A%BC) W)0 [[X,',,q/'BC	7 D	7 [[UT288RXXr~~u$UV[[AaXRXX.A%BC7 W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                  ||       y )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1a&0	
 Cj
B bhh1vW5c3ZcRHVVC[F68,WWQZF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                  ||       y )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1a&0	
 Cj
B VVC[Fq!fGC:CHH68,WWQZF68, 
hh1vW-BHHc3Z4HICj
B VVC[Fq#hfS#JSIH68,WWQZF68,rm   z	ser, keysr   )r   r   r   r   r   )r   r   c                 &   t         d}}t        j                  ||      5   ||       |    d d d        |t        j                  k(  rt
        d}}t        j                  ||      5  d ||       |<   d d d        y # 1 sw Y   PxY w# 1 sw Y   y xY w)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 RWW%'C	wg	. " !
3" " " "s   A;&B;BBc                     t        dg      } | |      ddg   }t        ddgt        ddg            }t        j                  ||       y )Nr   r   r   )r   r
   r4   r5   )r  rk   resr9  s       r;   (test_ser_list_indexer_exceeds_dimensionsr    sI     ",C
S/1a&
!C
"b1v
/C3$rm   valuer   rx   c                    t        dg di      }dj                  ddg      }t        j                  t        |      5  | |j
                  d<   d d d        t        g dt        j                  g dt        	      d
      }t        j                  t        d      5  | |j
                  d<   d d d        y # 1 sw Y   hxY w# 1 sw Y   y xY w)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    s    
 
C#	$B
((06	
C 
z	- v
 
-v)NO	PB	z)M	N v   s   B5C5B>C
c                 r   t        g d      }t        j                  t        d      5  |  ||      d<   d d d        t        g dt              }|  ||      d<   t        | t        j                        r#|j                  d   | k(  j                         sJ y |j                  d   | k(  sJ y # 1 sw Y   yxY w)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 $#C$ f
-CKQ%$
e#((***wwqzU"""$ $s   B--B6)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(  j                         sJ y |j                  d   | k(  sJ y )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BFF6NyRVVRVV/DEFH"h' 
-v)NO	PBBFF6N%$v%',,...vvf~&&&rm   c                    t        g d      }t        | t        j                        r/|  ||      d<   t        g d      }t	        j
                  ||       n/t        j                  t        d      5  |  ||      d<   d d d        t        g dt              }|  ||      d<   t        | t        j                        r#|j                  d   | k(  j                         sJ y |j                  d   | k(  sJ y # 1 sw Y   yxY w)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  ]  s     
!C%$#C/*
sH-]]H
 	( #(KQ	( f
-CKQ%$
e#((***wwqzU"""	( 	(s   2C66C?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                      y )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hBsG(BFF3K266#;1266#;1	c#s	,BBGGAJ2771:vx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     s    "   	    5 '      / 5q	- q	-h^# ^#B@4 @4FP7 P7f-"-: bTlFfYd5kBFKL"	"% fq!fhbhh1v.C!Q0HI. fq!fhbhh1v.C!Q0HI## fseXRXXse_kekk#u.EF''$ fseXRXXse_kekk#u.EF##01rm   