
    Oh                        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jH                  jK                  d edg      df eg d e&d            dfg      d        Z'd Z(ejH                  jK                  ddddg ej                  ddg       ej                  dddg      g      d        Z)ejH                  jK                  ddddg ej                  ddg       ej                  dddg      g      d         Z*ejH                  jK                  dd!d"g ej                  d"g       ej                  d#d"g      g      d$        Z+ejH                  jK                  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)IndexingError)is_float_dtypeis_integer_dtypeis_object_dtype)	DataFrameIndexNaTSeries
date_rangeoffsetstimedelta_range)_mklbl)gen_objc                   4   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d Zd  Zd! Z d" Z!d# Z"d$ Z#d% Z$ej                  j                  d&e%jL                  e%jN                  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        k/var/www/html/diagnosisapp-backend/venv/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.   r/   r0   )r5   r6   r7   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   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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?   r@   zCannot set values with ndim > rE   )rB   zCannot set values with ndim > 1rC   rD   z,Array conditional must be same shape as selfr   r   )r   r(   rF   rG   rH   r3   rJ   r0   ndimrW   r.   r/   )	r5   r   rZ   r[   r]   r^   r_   errr7   s	            r:   test_setitem_ndarray_3dz!TestFancy.test_setitem_ndarray_3dx   s     ou-3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(   r1   r   r   r3   r4   )r5   keyr6   r8   r9   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   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	rvv vvbffai A%%%!Qrzz:
fh/rl   c                    t        ddidddg      }t        j                  |d<   |d   j                  t        j                  k(  sJ t        j                  t        d      5  d	|j                  d
<   d d d        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!   ru   bcitem of incompatible dtyper   r   )r   rx   r   ru   rw   rx   )r   r(   nanr   r,   r3   assert_produces_warningFutureWarningr2   r   objectassert_frame_equalr5   r6   r9   s      r:   test_setitem_dtype_upcastz#TestFancy.test_setitem_dtype_upcast   s    a"2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   ro   ry   r   ru   r   r   r$   r%   r"   r   r   )r   r(   r)   reshapelistcopyr3   r|   r}   r2   r   r   )r5   r   r6   leftrights        r:   test_setitem_dtype_upcast2z$TestFancy.test_setitem_dtype_upcast2   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   ry   r   r   r   )r   r   g?)g333333?g?g      ?r   r   )r   r(   r)   r   r   r3   r|   r}   r2   r   r   )r5   r   r   s      r:   test_setitem_dtype_upcast3z$TestFancy.test_setitem_dtype_upcast3   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$   )ru   ru   rw   rn   rw   ru   )rw   ru   ru   )r   r(   eyero   r	   r3   rq   rr   s       r:   test_dups_fancy_indexingz"TestFancy.test_dups_fancy_indexing   sE     rvvay/:S#J'')
fh/rl   c                     t        g dgt        d            }t        g dg      }t        d      |_        |j                  d d df    |j                  d d df    t	        j
                  ||       y )N)r   r!   r           @      @r   r   aaaaaaarn   r%   )r   r   ro   rJ   r3   r   r5   r6   r8   s      r:   &test_dups_fancy_indexing_across_dtypesz0TestFancy.test_dups_fancy_indexing_across_dtypes   s`    ;<d9oV?@Ai 	1AqD
b&)rl   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#   drx   )r   r   Enot in indexr   )FGHr   r   r   )	r   r   r2   r3   r   r	   r.   r/   KeyError)r5   r6   rowsr9   r8   s        r:   %test_dups_fancy_indexing_not_in_orderz/TestFancy.test_dups_fancy_indexing_not_in_order  s    "^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   z8"None of [Index(['E'], dtype='str')] are in the [index]"r   r   z;"None of [Index(['E'], dtype='object')] are in the [index]")r   r(   rF   rG   standard_normalr   r.   r/   r   reescaper2   )r5   using_infer_stringdfnus      r:   +test_dups_fancy_indexing_only_missing_labelz5TestFancy.test_dups_fancy_indexing_only_missing_label  s    II!!!$44V<DM
 iiP   #    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.   r/   r   r2   )r5   r   r6   s      r:   &test_dups_fancy_indexing_missing_labelz0TestFancy.test_dups_fancy_indexing_missing_label4  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   r5   r6   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   rn   r   r   )r   r   r   )	r   r(   rF   rG   r   r.   r/   r   r2   r   s     r:   test_dups_fancy_indexing2z#TestFancy.test_dups_fancy_indexing2A  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$   ru   rw   r   r   r#   r   )	r   r(   rF   rG   r   rJ   r2   r3   r   )r5   r6   r9   r8   s       r:   test_dups_fancy_indexing3z#TestFancy.test_dups_fancy_indexing3L  s    II!!!$44V<-#J
 771Q<A
fh/C:&
fh/771Q36?Ac
*+
fh/rl   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   ranger3   r4   )r5   
indexer_slrj   r9   r8   s        r:   test_duplicate_int_indexingz%TestFancy.test_duplicate_int_indexing`  sF    U1XY/%(1a&1C!%
vx0rl   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  rv   ru   c                     | dk(  rdS | S )Nr   _ xs    r:   <lambda>z9TestFancy.test_indexing_mixed_frame_bug.<locals>.<lambda>n  s    AJS A rl   r   r   c                     | dk(  rdS | S )Nr   -----r   r   s    r:   r   z9TestFancy.test_indexing_mixed_frame_bug.<locals>.<lambda>r  s    1: 1 rl   )r   r!   r   )r   applyr2   rJ   )r5   r6   idxtemps       r:   test_indexing_mixed_frame_bugz'TestFancy.test_indexing_mixed_frame_bugg  s    %03337OP

 W]]#EF6
 jCvvc3h%%&LM"sF{wwt}'''rl   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"   ru   )            rn   z'[26, -8] not in index'r   )r      ir   r   )
r   r(   rF   rG   r.   r/   r   r   r   shaper   s     r:    test_multitype_list_index_accessz*TestFancy.test_multitype_list_index_accessv  s    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   rn   )	r   r(   r{   reset_index	set_indexreindexro   r3   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)rl   c                    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)ru   rw   ru   rw   ru   rw   )r   r   r   r   r   r   r#      )FCPFcol1col2r
  r,   r   r   r	  r!   )r$   r$   ru   rw   )r   r   r%   r#   r   r   r      r   r   )r   r   r   astyper(   r{   rJ   r   r  isnar   r2   r3   r   values)r5   r6   df2maskcolsdftr9   s          r:   test_multi_assignzTestFancy.test_multi_assign  s    4(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,rl   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   r2   r3   r   )r5   r6   r9   r  cols        r:   "test_multi_assign_broadcasting_rhsz,TestFancy.test_multi_assign_broadcasting_rhs  s    $&&$	
 779}! 	.C&(gHLLs#	. ,.c7<<>r#w!|c3Z'(
b(+rl   c                     t        ddgdg      }g d|j                  d<   ddg|j                  d<   t        ddgdg      }ddg|j                  d<   t        j                  ||       y )Nr   r   r   r   r  r!   )r   rJ   r3   r   r   s      r:   test_setitem_listzTestFancy.test_setitem_list  sh     aVaS1!A!Q!5FD
fb)rl   c                 |   t        dgt        t        j                  d      gt                    }|j
                  j                  sJ t        j                  t        d      5  |d    d d d        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	   rM   	Timestampr~   r   _is_all_datesr.   r/   r   r2   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.   r/   r   r2   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            }|t        d         j                  t              |t        d      <   |j	                         }|j
                  d d ddf   j                  t        j                        |j
                  d d ddf<   t        g dgt        d            }|t        d         j                  t              |t        d      <   |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            }|t        d         j                  t              |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            }|t        d         j                  t              |t        d      <   t        j                  ||       y )N)123.4r"         @r   ABCDEFGrn   ABCDGr   r!   )r   r!   r(  r)  r"   r*  r   CDGr   r   )r   r'  r(  r)  r"   r*  r   r   )r&  r!   r$   r)  r"   r*  r   )r   r   r  r~   r   rJ   r(   r*   r3   r   r2   )r5   r   df_origr6   r9   s        r:   test_astype_assignmentz TestFancy.test_astype_assignment4  s   12DO
 ")g!7!>!>v!FW\\^ ''!QqS&/00:1Q3-.Y
 !)e 5 < <V De ,,V4 ,,V4
b(+ \\^3..rxx8q#v/0$y/
 #+4="9"@"@"Hg
b(+\\^ "q3*} 5 < <RXX Fq3*}-.Y
 #+4="9"@"@"Hg
b(+rl   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*   rJ   r3   r   r2   r   s      r:   (test_astype_assignment_full_replacementsz2TestFancy.test_astype_assignment_full_replacementsZ  s    123 3rxx01c#789
b(+123C1q#v
b(+rl   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	   tolistr3   rq   r   r(   r)   )r5   r2  ss2exps        r:   test_index_type_coercionz"TestFancy.test_index_type_coercionh  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,,,	-rl   N))__name__
__module____qualname____doc__r;   r=   r.   markfilterwarningsrb   rf   rk   rs   r   parametrizer   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r"  r$  r/  r1  r3   getitemr2   r9  r   rl   r:   r   r   %   s[   ,1,
+ [[	(	(T [[		00$, [[UT6N3- 4-.+*0
*2 , [[Vie%=> ?$	'0(1(.L*\.-`,&
*
	$,L, [[YRVV(<=)- >)-rl   r   c            
       2   e Zd Zd Zd Zd Z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    ru   r   r    )r   r    ru   )r   r(   rF   rG   r3   r   r   s      r:   test_float_index_to_mixedz"TestMisc.test_float_index_to_mixed  s    YY**1-44R8YY**1-44R8
 32c7CtbyIJ
h+rl   c                     t        g dg ddg d      }d|j                  |j                  d d <   t        g dg d	d|j                        }t        j                  ||       y )
Nr   r   rv   r    r   r   r   r   r!   r   )r   r   r"   )r   r2   r   r3   r   r   s      r:   &test_float_index_non_scalar_assignmentz/TestMisc.test_float_index_non_scalar_assignment  sP    YY7O rxx|99=RXXN
h+rl   c                     t        g dg ddg d      }|j                         }|j                  |j                     |j                  |j                  <   t	        j
                  ||       y )Nr   r   rv   rG  r   )r   r   r2   r   r3   r   r5   r6   r  s      r:    test_loc_setitem_fullindex_viewsz)TestMisc.test_loc_setitem_fullindex_views  sM    YY7Oggi66"((+rxx
b#&rl   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<   |rTt        j                  t        d      5  t        j                  t        d      5   |||||       d d d        d d d        y t        j                  t        d      5   |||||       d d d        y # 1 sw Y   BxY w# 1 sw Y   y xY w# 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   r2   r3   r   rJ   )r6   rhs	right_loc
right_iloclbl_oneidx_one	slice_onelbl_twoidx_two	slice_twor   s              r:   	run_testsz.TestMisc.test_rhs_alignment.<locals>.run_tests  s    *.u+y%1+iWG+0'*:QFE!QKiWG779D),DHHWg%&!!$	2779D*-DIIgw&'!!$
3779D.1DIIi*+!!$
3rl   r   r"   r%   )jimrO  rP  jolineabcder*   )ro   r   r   r$   r   r!   )r      r   r#   r   rO  )r!      r   r"   r   rP  r   r,   c                     d|  S )N@r   r   s    r:   r   z-TestMisc.test_rhs_alignment.<locals>.<lambda>  s    AaS' rl   )r    z@-28z@-20z@-12g      1@)z@2g      :g      2g      $z@18zInvalid valuer   zincompatible dtype)r(   r)   r   r   r   rJ   r   r  mapr.   r/   	TypeErrorr3   r|   r}   )
r5   r   r[  xsr  r6   rR  rT  rS  frames
             r:   test_rhs_alignmentzTestMisc.test_rhs_alignment  s   	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y@ >//!)= > b#y*=>> > ++MAUV :"c9j9: :> >> >: :s0   7F,F F,F8 F)	%F,,F58Gr   r   r   d      c                    t         j                  }t        |      }t        t	        j
                  d      |      }t        j                  |||d   d d   |dd d          t        j                  ||d |d   d   |d dd          t        j                  |||d   |d   d   |ddd          t        j                  |||d   |d   d   |d d        y )Nr   r   r   r`  r   rb  r   )rM   
IndexSlicer	   r   r(   r)   r3   !assert_indexing_slices_equivalent)r5   r   SLCrj   s       r:   )test_str_label_slicing_with_negative_stepz2TestMisc.test_str_label_slicing_with_negative_step  s     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Vrl   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)   rR   r.   r/   r0   )r5   r   r   rZ   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"   zrh   )r   r!   r#   )r!   r!   r   )r   yr   r   c   r"   )r   r   g       @)r   r!   r   )r   r   g     X@)r	   r   r   r2   r3   r   )r5   r   r6   r9   rR  s        r:   8test_loc_setitem_indexing_assignment_dict_already_existszATestMisc.test_loc_setitem_indexing_assignment_dict_already_exists  s    js+YY7uE779Bq	b'Q
b(+ Y_=UKq	93CDER
b(+rl   c                    t        g dg dd      }|j                  g d d f   }|j                  d d df   j                  t        j
                  k(  sJ t        j                  |j                  d d df   |j                  d d df          y )Nr   )rw   b2b3rv   ru   r   )r   rJ   r2   r   r(   r*   r3   r4   rJ  s      r:   *test_iloc_getitem_indexing_dtypes_on_emptyz3TestMisc.test_iloc_getitem_indexing_dtypes_on_empty  so    Y->?@ggb!enwwq#v$$000
swwq#vA?rl   rA   )r"   i?B i@B c                    t        t        |      t        j                        }d|j                  t        d      <   t        j                  |j                  t        d         t        ddg             d|j                  t        d      <   t        j                  |j                  t        d         t        d	ddg             y )
N)r   r   *   r   g      E@r   r   +   r!   g     E@)r   r   r(   r,   r2   r3   r4   )r5   rA   r6  s      r:   !test_loc_range_in_series_indexingz*TestMisc.test_loc_range_in_series_indexing  s     tBJJ7eAh
quuU1XtA30GHeAh
quuU1XtAq60JKrl   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   notnullr1   r{   r3   r   )r5   r6   index_dfr8   r9   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/rl   c                     t        ddgddgd      }dD ]  }t        ||        t        j                  |      }~ |       J y )Nr   r   r!   r$   rv   )r2   rJ   atiat)r   getattrweakrefref)r5   r6   r'   wrs       r:   test_no_reference_cyclez TestMisc.test_no_reference_cycle(  sN    aV1a&120 	DB	[[_t||rl   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_countsr2   )r5   nulls_fixturer6   vcresult1result2r9   s          r:   test_label_indexing_on_nanz#TestMisc.test_label_indexing_on_nan0  s^    QM23__E_*&&']#("""("""rl   N)r:  r;  r<  rE  rH  rK  ri  r.   r>  r@  r   r(   r)   linspacerp  rr  rx  r|  r  r  r  r  r   rl   r:   rC  rC    s    
,,'4:l [[sB2!4kbkk#sB6OP
W
W!
,@ [[V%9:L ;L0	#rl   rC  c            
          e Zd Zg dej                  ddgefg dej                  ddgdf edd	d	       edd	d       edd	d      ge edd	d       edd	d      gdfg d
g ddfgZe	j                  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$   rG  r   r   N  r   r   )Nr   r   r9   c                     |\  }}}t        d|i      }d |j                  ddgf<   t        d|i      }t        j                  ||       y Nr   r   r   r2   r3   r   r5   r9   
start_dataexpected_resultwarnstart_dataframeexpected_dataframes          r:   test_coercion_with_locz0TestDataframeNoneCoercion.test_coercion_with_locK  sT    ,4)
OT#UJ$78*.AwJ'&'?@
o/ABrl   c                     |\  }}}t        d|i      }d ||d   |d   d   k(  <   t        d|i      }t        j                  ||       y r  )r   r3   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Brl   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Brl   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   rG  r  r   r!   r$   rz   )ru   rw   rx   r   r   r   r   )Nrw   rx   )r   r   rJ   r(   r{   r
   r3   r   )r5   r  r8  s      r:   test_none_coercion_mixed_dtypesz9TestDataframeNoneCoercion.test_none_coercion_mixed_dtypesi  s    #$tQ*HT1a,@(4QRTUBVW$	
 #'Qffa^ffc3'8D!Q/$11EF%	
 	os3rl   )r:  r;  r<  r(   r{   r}   r   r
   EXPECTED_SINGLE_ROW_RESULTSr.   r>  r@  r  r  r  r  r   rl   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4rl   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   rU   _validate_setitem_valuer   _ndarray)r5   tz_naive_fixturer[   r  dtirj   r  newvals           r:   test_setitem_dt64_string_scalarz8TestDatetimelikeCoercion.test_setitem_dt64_string_scalar  s    qR8SXX4X()&&v.$C:99		)));;''6??:::;;&(((rl   boxri   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)rL   rQ  r3   r2   r   r   r   rU   r  r   r  )
r5   r  r[   ri   r  r  r  rj   r  newvalss
             r:   test_setitem_dt64_string_valuesz8TestDatetimelikeCoercion.test_setitem_dt64_string_values  s     c5!kRVV&;1+CqR8SXX4X()|\23&&w/ 'C:99		)));;''6??:::;;&(((rl   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   rU   r  r  )r5   r[   r  tdirj   r  s         r:   test_setitem_td64_scalarz1TestDatetimelikeCoercion.test_setitem_td64_scalar  sg     gq1SXX4X()&&v.$C{{##v666rl   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)
rL   rQ  r3   r2   r   r   r   rU   r  r  )r5   r[   ri   r  r  rj   r  r  s           r:   test_setitem_td64_string_valuesz8TestDatetimelikeCoercion.test_setitem_td64_string_values  s     c5!kRVV&;1+Cgq1SXX4X()y*-.&&w/ 'C{{##v666rl   N)r:  r;  r<  r  r.   r>  r@  r   r(   r1   rM   Categoricalr	   rQ  r  r   Hourr  r  r   rl   r:   r  r    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7rl   r  c                  f   t        t        j                  ddgd      t        j                  ddgd      ddd	g
      } t        t        j                  ddgd      ddgd      }| j                  d   }t        j                  ||       | j                  d   }t        j                  ||       y )Nr   r!   Int64r   r$   r%   r  ru   rw   r   r   r   r&   r   )r   rM   r1   r   r2   r3   r4   rJ   )r6   r9   r8   s      r:   "test_extension_array_cross_sectionr    s    	1a&01a&0	
 Cj
B bhh1vW5c3ZcRHVVC[F68,WWQZF68,rl   c                  |   t        t        j                  ddgd      t        j                  ddgd      dddg	      } | j                  d   }t        ddgdd
dgd      }t        j                  ||       | j                  d   }t        j                  ||       t        t        j                  ddgd      t        j                  ddg      dddg	      } | j                  d   }t        ddgt        d
dgd      }t        j                  ||       | j                  d   }t        j                  ||       y )Nr   r!   r  r   r*   r  ru   rw   r   r   r   )r   r   r'   r   )
r   rM   r1   r(   r2   r   r3   r4   rJ   r~   )r6   r8   r9   s      r:   +test_extension_array_cross_section_convertsr    s   	1a&0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,rl   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.   r/   r3   rJ   rX   )rj   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	   r3   r4   )r  rj   resr8  s       r:   (test_ser_list_indexer_exceeds_dimensionsr    sI     ",C
S/1a&
!C
"b1v
/C3$rl   valuer   rw   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   rE   z"Must have equal len keys and value(setting an array element with a sequencer   r   r   r   ru   rw   r   r  )	r   rW   r.   r/   r0   r2   r(   r1   r~   )r  r6   r7   s      r:   %test_scalar_setitem_with_nested_valuer    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.   r/   r0   r~   rL   r(   rV   r2   all)r  r[   rj   s      r:   ,test_scalar_setitem_series_with_nested_valuer  6  s    
 
C	z)S	T $#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   r2   r(   r{   r3   r   r1   r~   rL   rV   r  )r  r6   r9   s      r:   -test_scalar_setitem_with_nested_value_length1r  H  s     
C#	$BBFF6NyRVVRVV/DEFH"h' 
-v)NO	PBBFF6N%$v%',,...vvf~&&&rl   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)NrG  r   )r   r   r   r  r   r  r   )r   rL   r(   rV   r3   r4   r.   r/   r0   r~   r2   r  )r  r[   rj   r9   s       r:   4test_scalar_setitem_series_with_nested_value_length1r  ]  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Oru   rw   )r   r   r   )r   r2   r3   r4   rJ   )s1r7  s     r:   +test_object_dtype_series_set_series_elementr  x  s    	c#s	,BhBsG(BFF3K266#;1266#;1	c#s	,BBGGAJ2771:vx0rl   ).r=  r1   r   r   r  numpyr(   r.   pandas.errorsr   pandas.core.dtypes.commonr   r   r   pandasrM   r   r	   r
   r   r   r   r   pandas._testing_testingr3   pandas.tests.indexing.commonr   !pandas.tests.indexing.test_floatsr   r   rC  r  r  r  r  r>  r@  r   r  r  r  r  r  r  r  r   rl   r:   <module>r     s   "   	    '      / 5m	- m	-`d# d#N@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1rl   