
    Oh*                       d dl mZ d dlmZmZ d dlm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mc mZ d dlmZ d dlZd d	lmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$ d dl%m&Z' d
Z( G d d      Z) G d d      Z*d Z+dZ,dZ- G d d      Z. G d d      Z/ddZ0e	jb                  je                  de3df ejh                  ejj                        dfg      dd       Z6d Z7 G d d      Z8y)     )
namedtuple)datetime	timedelta)DecimalN)using_string_dtype)iNaT)InvalidIndexErrorPerformanceWarningSettingWithCopyError)
is_integer)Categorical	DataFrameDatetimeIndexIndex
MultiIndexSeries	Timestamp
date_rangeisnanotnato_datetimezBslice indices must be integers or None or have an __index__ methodc            	          e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
ej                  j                  d	g d
g dg 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d Zd Zd Ze jB                  d        Z"d  Z#d! Z$d" Z%e jB                  d#        Z&d$ Z'e jB                  d%        Z(d& Z)d' Z*d( Z+d) Z,d* Z-d+ Z.d, Z/ej                  ja                   e1       d-.      d/        Z2ej                  ja                   e1       d-.      d0        Z3ej                  ja                   e1       d-.      d1        Z4d2 Z5d3 Z6d4 Z7d5 Z8d6 Z9ej                  j                  d7d8d9g      d:        Z:d; Z;d< Z<d= Z=d> Z>d? Z?d@ Z@dA ZAdB ZBdC ZCdD ZDdE ZEdF ZFdG ZGdH ZHdI ZIej                  j                  dJ      ej                  j                  dKeKj                  eKj                  j                  dL      eKj                  j                  dM      g      dN               ZNdO ZOdP ZPej                  j                  dQdRdSdTgfdUdVdTgfg      dW        ZQe jB                  dX        ZRdY ZSej                  j                  dZd[d[geKj                  eKj                  gg      d\        ZUej                  j                  dZd[eKj                  g      d]        ZVej                  j                  d^eWeXeYj                  g      d_        Z[d` Z\ej                  j                  dadTgdTg      ej                  j                  dbi dcdVig      dd               Z]ej                  j                  dbi dedTig      df        Z^dg Z_dh Z`di Zaej                  j                  dad8djg      ej                  j                  dkebdlg      dm               Zcej                  j                  dnd9d8g      ej                  j                  dadodogg      dp               Zdej                  j                  dqeej                  dVfeej                  drfg      ds        Zhy[)tTestDataFrameIndexingc                    |d d }t        |j                        dk(  sJ |j                         D ]I  \  }}t        |j                        dk(  sJ t        j                  |j                  |j                         K |j
                  j                         D ]  \  }}||   J  d|vsJ t        j                  t        d      5  |d    d d d        y # 1 sw Y   y xY w)N   randommatch)	lenindexitemstmassert_index_equal_seriespytestraisesKeyError)selffloat_framesl_serieskeys         q/var/www/html/diagnosisapp-backend/venv/lib/python3.12/site-packages/pandas/tests/frame/indexing/test_indexing.pytest_getitemz"TestDataFrameIndexing.test_getitem-   s    "288}"""  	:IAvv||$***!!&,,9	: "))//1 	0FCs#///	0 {***]]884 	"!	" 	" 	"s   CCc                     |}t        g d|      }t        g dg dg|      }|d   }t        ddgdd	ggt        ddg|            }t        j                  ||d
       y )N   r   r2   dtyper2                  columnsr2   r7   r9   r;   Tcheck_exactr   r   r"   assert_frame_equal)r(   any_numeric_dtyper4   idxdfresultexpecteds          r.   6test_getitem_numeric_should_not_fallback_to_positionalzLTestDataFrameIndexing.test_getitem_numeric_should_not_fallback_to_positional>   sc    !IU+	9-s;Aq!fq!f-uaV57QR
fhDA    c                    |j                         }t        j                  j                  d      j	                  t        |            |d<   t        j                  j                  d      j	                  t        |            }||d<   t        j                  t        t        j                  d            5  |j                  d       d d d        |d   }t        j                  ||j                         y # 1 sw Y   /xY w)Nr6   z$10z@awesome_domainz'df["$10"]'r   z	df["$10"])copynpr   default_rngstandard_normalr   r%   r&   r'   reescape__getitem__r"   assert_numpy_array_equalvalues)r(   r)   rD   adress        r.   test_getitem2z#TestDataFrameIndexing.test_getitem2G   s    II))!,<<SWE5	YY""1%55c"g> "]]8299_+EF 	(NN;'	( "#
##B

3		( 	(s   5C55C>c                     |}t        g d|      }t        g dg dg|      }d|d<   t        g dg d	g|      }t        j                  ||d
       y )Nr1   r3   r5   r8   r<   
   r2   )rW   r6   rW   )rW   r:   rW   Tr>   r@   )r(   rB   r4   rC   rD   rF   s         r.   6test_setitem_numeric_should_not_fallback_to_positionalzLTestDataFrameIndexing.test_setitem_numeric_should_not_fallback_to_positionalT   sP    !IU+	9-s;1k;7E
b(=rH   c                    d|d<   |ddg   }||ddg<   t        j                  |d   |d   d       t        j                  |d   |d   d       d}t        j                  t        |      5  |ddg   |dg<   d d d        t        t        |j                        d	z
        }d
t        |       dt        |       d}t        j                  t        |      5  ||d<   d d d        y # 1 sw Y   oxY w# 1 sw Y   y xY w)NfooEABFcheck_namesz"Columns must be same length as keyr   r2   zLength of values \(z$\) does not match length of index \(z\))r"   assert_series_equalr%   r&   
ValueErrorranger   r    )r(   r)   datamsgnewcolumndatas        r.   test_setitem_listz'TestDataFrameIndexing.test_setitem_list]   s    CC:&"&S#J
{3/cN
{3/cN2]]:S1 	2%sCj1D#K	2c$**o12"3}#5"6 7114T2? 	 ]]:S1 	&%DI	& 	&	2 	2	& 	&s   -C'C3'C03C<c                    t        dt        d      ddgt              }ddg|j                  dddgf<   |j                  |j                  d   ddgf   }t        ddg|j                  t        d      }t        j                  ||       d	x|d<   |d<   d
dg|j                  |j                  d   ddgf<   |j                  |j                  d   ddgf   }t        d
dg|j                  d      }t        j                  ||       y )Nr   r7   tt1tt2)r    r=   r4   r2   r6   )r4   name012rj   )	r   rb   intlocr    r   r=   r"   r`   r(   rD   rE   rF   s       r.   test_setitem_list2z(TestDataFrameIndexing.test_setitem_list2p   s    qa5%.L%&Fq5%. !eU^341a&"**Ca@
vx0 ##5	BuI/2Cjrxx{UEN*+eU^343*bjjq9
vx0rH   c                    |j                   d   }|j                   |kD  }|j                  t              }|j                   |   }||   }t        j                  ||j                          t        j                  t        d      5  ||d d     d d d        ||   }	t        j                  |	|       t        j                  t        d      5  ||    d d d        t        ||j                         }||   }	t        j                  |	|       t        j                  t              5  |j                  |j                   d d d         }||   }	t        j                  |	|       d d d        |||fD ]&  }
|
j                         }|
|
dkD     }t        |j                  D ci c]1  }|t!        j"                  ||   dkD  ||   t         j$                        3 c}|j                   |j                        }|
j                  D ]  }||vs|
|   ||<    |j                  |
j                        }t        j                  ||d	
       |
j                  D ]C  }||   j&                  ||   j&                  k7  s#||   j&                  |
|   j&                  k(  rCJ  ) y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   TxY wc c}w )NrW   zItem wrong lengthr   zBoolean array expectedr   r    r=   r<   F)check_dtype)r    astypeobjectr"   r#   r%   r&   ra   rA   r   assert_produces_warningUserWarningreindex_get_numeric_datar   r=   rK   wherenanr4   )r(   mixed_float_framemixed_int_framedatetime_framedindexerindexer_objsubindexsubframesubframe_objrD   rc   bifcbifws                  r.   test_getitem_booleanz*TestDataFrameIndexing.test_getitem_boolean~   s     $ &&*nnV,!''0!'*
h7]]:-@A 	)73B<(	) &k2
lH5]]:-EF 	+>*	+ [.*>*>?%k2
lH5 ''4 	:%--n.B.B4R4.HIK)+6L!!,9	: 
 	7B
 '')DR!V*CDHLLQqBHHT!Wq[$q'266::QjjD ZZ $D= eDG$ <<

<3D!!#t?ZZ 7q6<<47==0q6<<2a5;;6667)	73	) 	)	+ 	+	: 	: Rs*   	J
J$"=J16J>
J!$J.1J;c                    |j                         }d|d<   |d   j                  d      |d<   |d   j                         |d<   d|d<   |d   j                  d      |d<   |d   j                         |d<   ||dkD     }|j                  }t        t	        j
                  d	      gd
z  t	        j
                  d      gdz  z   t	        j
                  d      gdz  z   g d      }t        j                  ||       d|j                  |j                  dd ddgf<   ||dkD     }|j                  }t        t	        j
                  d	      gd
z  t	        j
                  d      gz   t	        j
                  d	      gz   t	        j
                  d      gz   t	        j
                  d	      gz   g d      }t        j                  ||       y )Nr2   r[   int32E1Fint64F1r   float64r9   r6   )r\   r]   CDr[   r   r   r   r    r7   )
rJ   rw   dtypesr   rK   r4   r"   r`   rp   r    )r(   r   rD   castedrE   rF   s         r.   test_getitem_boolean_castingz2TestDataFrameIndexing.test_getitem_boolean_casting   s     "3S'..)3c7<<>43S'..)3c7<<>4BFXXi !A%xx !A%&xx !A%& =	
 	vx0 /0rxx!}tTl*+BFXXi !A%xx !"xx	"#$ xx !" xx	"#	$
 =
 	vx0rH   lstTFT)TTT)FFFc                     t        t        j                  d      j                  dd            }||   }|j                  |j
                  |      }t        j                  ||       y )N   r7   r9   )r   rK   arangereshaperp   r    r"   rA   )r(   r   rD   rE   rF   s        r.   test_getitem_boolean_listz/TestDataFrameIndexing.test_getitem_boolean_list   sR     ryy},,Q23C66"((3-(
fh/rH   c                    t         j                  j                  d      j                  d      }t	        |j                         g d      }||dk  xx   dz  cc<   ||dk  xx   dz  cc<   t        j                  |j                  |       y )Nr6   r:   r:   )r\   r]   r   r   r[   r<   r   r2   )	rK   r   rL   rM   r   rJ   r"   assert_almost_equalrR   )r(   arrrD   s      r.   test_getitem_boolean_iaddz/TestDataFrameIndexing.test_getitem_boolean_iadd   sk    ii##A&66v>sxxz+DE
26
a
C!G
ryy#.rH   c                     t        t        j                  ddg      dgt        g             }t        j                  g t
              }||    d||<   y )Nr   r2   r\   r=   r    )r   rK   emptyr   arraybool)r(   blahks      r.   test_boolean_index_empty_cornerz5TestDataFrameIndexing.test_boolean_index_empty_corner   sF    1a&)C5b@QR HHRQQrH   c                    t        t        j                  j                  d      j	                  d      g dg d      }|j
                  d d }|j                  |j                  d d    }t        j                  ||       |j                  ddg   }|j                  t        ddg         }t        j                  ||       y )	Nr6   )r9   r7   )r2   rW   r   r[   r5   ru   rt   r2   rW   )r   rK   r   rL   rM   ilocrp   r    r"   rA   r   rq   s       r.   test_getitem_ix_mixed_integerz3TestDataFrameIndexing.test_getitem_ix_mixed_integer   s    II!!!$44V<#
 "66"((3B-(
fh/B66%B.)
fh/rH   c                     t        dg dg dg ddg d      }|dg   }|j                  d d dgf   }t        j                  ||       |d	g   }|j                  d d d
gf   }t        j                  ||       y )N)      ?g@g	@      @)      $   (   )rW      +   "   )r   rW   r      )rnar     r<   r   r7   r   r2   r   r   r"   rA   rq   s       r.   test_getitem_ix_mixed_integer2z4TestDataFrameIndexing.test_getitem_ix_mixed_integer2  s    +'#%	 ,
 TF771qc6?
fh/UG771qc6?
fh/rH   c                     t        j                  |j                  |d          d}t        j                  t
        |      5  |j                   d d d        y # 1 sw Y   y xY w)Nr\   z6'DataFrame' object has no attribute 'NONEXISTENT_NAME'r   )r"   r`   r\   r%   r&   AttributeErrorNONEXISTENT_NAME)r(   r)   rd   s      r.   test_getattrz"TestDataFrameIndexing.test_getattr  sL    
{}}k#.>?F]]>5 	)((	) 	) 	)s   AA c                     t        ddit        d            }d|_        |j                  dk(  j                         sJ y )Nfoobarr2   rW   r   r:   )r   rb   r   allr(   rD   s     r.   test_setattr_columnz)TestDataFrameIndexing.test_setattr_column  s7    !}E"I6			Q##%%%rH   c                 6   |d   d d d   }||d<   d|v sJ t        |      dk(  sJ t        |      dk(  sJ t        j                  t        j                  |j                  t        j
                  gdz  f            }t        ||j                  d      }t        j                  |d   |       |d   }||d<   t        j                  ||d   d	       t        j                  j                  d      j                  t        |            }||d
<   |d
   |k(  j                         sJ d|d<   |d   dk(  j                         sJ d|d<   |d   dk(  j                         sJ d|d<   |d   dk(  j                         sJ |d d }d}	|s|rddg|d<   n+t        j                  t         |	      5  ddg|d<   d d d        |r|d   j"                  dk(  s$J |d   j"                  t        j$                  k(  sJ |d   ddgk(  j                         sJ y # 1 sw Y   \xY w)Nr\   r6   col5   r   r    rj   col6Fr^   col9r:   col7gQ	@col0rZ   col8zC\nA value is trying to be set on a copy of a slice from a DataFramerl   rm   col10r   str)r   rK   ravelcolumn_stackrR   r~   r   r    r"   r`   r   rL   rM   r   r%   r&   r   r4   object_)
r(   r)   using_copy_on_writewarn_copy_on_writeusing_infer_stringr,   expr   smallerrd   s
             r.   test_setitemz"TestDataFrameIndexing.test_setitem%  sC    S!#A#&$F$$$6{b   ;2%%%hhrx"}'EFGS 1 1?
{62C8S!$F
v{6':N ii##A&66s;7GH!FF#s*//111FF#q(--///"FF#t+00222#FF#u,11333 bq/T"4 #SzGG33? .$': . 7#))U2227#))RZZ777 S#J.33555. .s   ,HHc                 \   t        ddgg      }t        j                  |j                  d<   t        t        j                  t        j                  gg      }t	        j
                  ||       t        ddgg      }t        j                  |j                  d<   t	        j
                  ||       y )Nr   )r   rK   r~   r   r"   rA   rp   r(   rD   rF   s      r.   test_setitem2z#TestDataFrameIndexing.test_setitem2X  s~    Ax VV
rvvrvv./0
b(+Ax FFq	
b(+rH   c                 F   |j                         }|j                  j                         }d||d   dkD  <   d||d d df   dkD  <   t        j                  |j                  |       |d   dk(  }|j	                  |j
                  d d d         }d||<   d||d d df   dk(  <   t        j                  |j                  |       d||dkD  <   d||dkD  <   t        j                  |j                  |       d||dk(  <   d||dk(  <   t        j                  |j                  |       d||d d dk  <   t        j                  |d d |d d dk  d       t        j                  |j                  |       d||d d d   dk(  <   d||dk(  <   t        j                  |j                  |       d	}t        j                  t        |
      5  d||dz  <   d d d        |j                         }|t        j                  |      kD  }t        j                  ||t        j                  |      kD  <   |j                  j                         }t        j                  ||j                  <   t        ||j
                  |j                        }t        j                  ||       |dz  ||t        j                  |      kD  <   t        j                  ||j                  |j                  dz         t        ||j
                  |j                        }t        j                  ||       y # 1 sw Y   OxY w)Nr9   r\   r   rt   r2   r:   r6   r7   z;Must pass DataFrame or 2-d ndarray with boolean values onlyr   ru   )rJ   rR   r"   r   r{   r    rK   putmaskr%   r&   	TypeErrorabsr~   r   r=   rA   )	r(   r)   rD   rR   r,   rd   df_origmaskrF   s	            r.   test_setitem_booleanz*TestDataFrameIndexing.test_setitem_booleanc  s   ##((*2c7Q;#$vad|a 
ryy&1 CA2/6
$%vad|q !
ryy&126
vz
ryy&127v{
ryy&1 2cr7Q;


6#2;sa3
ryy&1 2dd8q=v{
ryy&1K]]9C0 	BrAvJ	 '')BFF2J ff2r
?$$& fft{{V7=='//R
b(+ !1f2r
?


64;;		A6V7=='//R
b(+!	 	s    	LL c                    |d   j                  d      |d<   |d   j                  t        j                  k(  sJ d|d<   |d   j                  t        j                  k(  sJ t        j                  t        |            |d<   t        |d   j                  j                  t        j                        sJ d|d<   d|d<   |d   j                  t        j                  k(  sJ d|d<   d|d<   |d   j                  t        j                  k(  sJ d|d<   |d   j                  t        j                  k(  sJ d	|d<   |d   j                  t        j                  k(  sJ d|d<   |d   j                  t        j                  k(  sJ y )
Nr   i8r   r]   barrZ         @	somethingr6   )
rw   r4   rK   r   r   r   
issubclasstypeintegerr   r(   r)   s     r.   test_setitem_castz'TestDataFrameIndexing.test_setitem_cast  sx   &s+2248C3%%111
 C3%%111 99S%56C+c*0055rzzBBB"EE5!''288333"E E5!''2::555#$K ;'--999#$K ;'--999#&K ;'--;;;rH   c                    t        g dg ddt        j                  d            }|d= g d|d<   d|v sJ t        |j                        dk(  sJ d|d	<   d
|d<   d|d<   d|t        j                         <   d|t        j                         <   t        |j                        }d
|d	<   d|d<   t        |j                        dk(  sJ |j                  j                  t        j                  k(  sJ d|d<   |d   j                  t        j                  k(  sJ d|d<   |d   j                  t        j                  k(  sJ d|d	<   d|d	   j                  d   k(  sJ t        t        j                  d            }d|d	<   d|d
<   |d
= d|d
<   |r|d
   j                  dk(  s$J |d
   j                  t        j                  k(  sJ g d|d<   |r|d   j                  dk(  sJ y |d   j                  t        j                  k(  sJ y )N)      ?       @      @abr   )r]   r   r7   r   r]   r6   	beginningr\   rZ   r[   r   r   date      @r2   r   r   r   r   rl   rm   3	coercible)r   rK   r   r   r=   r   nowr    rR   r4   r   r   r   r   )r(   r)   r   rD   dms        r.   test_setitem_cornerz)TestDataFrameIndexing.test_setitem_corner  s   _?C299UV<XsG!3byy2::!###333#8<<> 8<<> [../332::!###yy"**,,, 3#w}}(((3#w}}

*** 33Q'''RYYq\*35	uI5	e9??e+++e9??bjj000);k?((E111k?((BJJ666rH   c                 P   g ddgdz  z   t         j                  j                  d      j                  d      d}t        |      }||d   dk(     j                  }d|j
                  |dgf<   d	|j
                  |d
gf<   |j
                  d   dk(  sJ |j
                  d   d	k(  sJ y )N)r   r   r   r      r6   r   )titlecruftr  r   r   r  )r2   r  )r2   r  )rK   r   rL   r   r    rp   )r(   rc   rD   ixs       r.   test_setitem_corner2z*TestDataFrameIndexing.test_setitem_corner2  s    0H:?BYY**1-44R8

 t_7u$%++ (rG9} !rG9}vvj!X---vvj!Q&&&rH   c                 :   t        t        d      t        d            }t        t        d      D cg c]  }t        d       c}t        d            }t        g dt        d            }t	        j
                  d      |d<   t        |j                        dk(  sJ ||d<   t        |j                        dk(  sJ ||d<   t        |j                        dk(  sJ |r|d   j                  dk(  sJ y |d   j                  t        j                  k(  sJ y c c}w )	Nr7   ru   r2   r   )rZ   bzrbazr   r6   r   )
r   rb   r   r   rK   onesr   r=   r4   r   )r(   r   r   r+   coercable_seriesuncoercable_seriess         r.   test_setitem_ambigz(TestDataFrameIndexing.test_setitem_ambig  s     U1XuQx8!uQx"@!71:"@aQ#$9qJ
12::!### 12::!###"12::!###a5;;%'''a5;;"**,,, #As   Dc                     |d   |d <   t        j                  |j                  d d df   |d   d       t        j                  |j                  d d d f   |d   d       t        j                  |d    |d   d       y )Nr\   rt   Fr^   )r"   r`   r   rp   r   s     r.   test_setitem_Nonez'TestDataFrameIndexing.test_setitem_None  s    ',D
QU#[%55	
 	OOAtG$k#&6E	
 	{40+c2BPUVrH   c                     t        g dg dg dd      }|j                         }|j                  j                         |j                  |j                  j                         df<   t        j                  ||       y )Nr   )112233)111222333r   r   )r   rJ   r   rp   r   r   r"   rA   )r(   rD   rE   s      r.   &test_loc_setitem_boolean_mask_allfalsez<TestDataFrameIndexing.test_loc_setitem_boolean_mask_allfalse  s\    !(:AVW
 +188==?

688==?C'(
fb)rH   c                 @   t        t        j                  j                  d      j	                  d            }|j
                  d dd    t        j                  |j
                  d dd<   t        |j
                  d dd         j                  j                         sJ y )Nr6   rW   r:      )
r   rK   r   rL   rM   r   r~   r   rR   r   r   s     r.   &test_getitem_fancy_slice_integers_stepz<TestDataFrameIndexing.test_getitem_fancy_slice_integers_step  s{    ryy,,Q/??HI 	11BGGDQqDM"))--///rH   c                    t        t        j                  j                  d      j	                  d      t        ddd            }|j                         }d|j                  dd |j                  dd dk(  j                  j                         sJ |j                         }d|j                  dd	 |j                  dd	 dk(  j                  j                         sJ |j                  dd
 }|j                  dd	 }|j                  g d      }t        j                  ||       t        j                  ||       |j                  t        t        d            t        t        dd            d d d   z      }t        j                   t"        d      5  |j                  dd	  d d d        t        j                   t"        d      5  d|j                  dd	 d d d        y # 1 sw Y   =xY w# 1 sw Y   y xY w)Nr6   r  r   r   r   r9   rW   r7   r   r;   )r9   r;   r  rW   r:   rt   z^3$r   )r   rK   r   rL   rM   rb   rJ   r   rR   r   rp   r{   r"   rA   listr%   r&   r'   )r(   rD   cprE   result2rF   df2s          r.   ,test_getitem_setitem_integer_slice_keyerrorszBTestDataFrameIndexing.test_getitem_setitem_integer_slice_keyerrors%  s   II!!!$44W=U1bRS_

 WWY"""**..000 WWY"""**..0001&&2,::m,
fh/
gx0 ggd58ntE!RL'9$B$'??@]]862 	GGAbM	]]862 	CGGAbM	 		 		 	s   GG(G%(G1c                 \   |j                   d d dd f   }|d   j                  t        j                  k(  sJ |j	                         }|j                   d d dd f   }t        j
                  |d   j                  |d   j                        sJ t        j                  |      5  d|j                  d d df<   d d d        |sI|d   dk(  j                         sJ t        j
                  |d   j                  |d   j                         y t        j                  ||       y # 1 sw Y   kxY w)Nr   r         @r9   )r   r4   rK   r   rJ   shares_memory_valuesr"   assert_cow_warningrp   r   rA   )r(   r)   float_string_framer   r   slicedoriginals          r.   test_fancy_getitem_slice_mixedz4TestDataFrameIndexing.test_fancy_getitem_slice_mixedB  s    $((BC0c{  BJJ... ##%!!!RS&)s 3 3[5E5M5MNNN""#56 	%!$FJJq#v	%"$)..000 VC[00+c2B2J2JK!!+x8	% 	%s   $D""D+c                    t        t        d      t        dd            }|j                  ddg   \  }}|j                  || }||| }|dd }t        j                  ||       t        j                  ||       |j                         }d|j                  || |j                         }d||| |j                         }d|dd t        j                  ||       t        j                  ||       y )	Nr   z
2020-01-01periodsr   r:   rW   r   r   )r   rb   r   r    rp   r"   rA   rJ   )r(   rD   startendrE   r  rF   s          r.   "test_getitem_setitem_non_ix_labelsz8TestDataFrameIndexing.test_getitem_setitem_non_ix_labelsZ  s    uRy
<(LMXXq"g&
sc"U3-a8
fh/
gx0 !

5'')c7792
fh/
gx0rH   c                    t        t        j                  j                  d      j	                  d            }|j
                  |j                  dk(  d d f   }|j                  dg      }t        j                  ||       t        t        j                  j                  d      j	                  d            }|j
                  |j                  dk(  |j                  dk(  f   }|j                  dgdg      }t        j                  ||       y )Nr6   r7   r6   r   r2   ru   )r   rK   r   rL   rM   rp   r    r{   r"   rA   r=   )r(   rD   rsxps       r.   test_ix_multi_takez(TestDataFrameIndexing.test_ix_multi_taken  s    ryy,,Q/??GHVVBHHM1$%ZZ_
b"% ryy,,Q/??GHVVBHHM2::?23ZZqcA3Z/
b"%rH   c                     |}|j                   }|j                  D ]-  }||   }|j                  d d d   D ]  }|||f   ||   k(  rJ  / y )Nr:   )rp   r=   r    )r(   r)   fr  coltsrC   s          r.   test_getitem_fancy_scalarz/TestDataFrameIndexing.test_getitem_fancy_scalarz  sc    UU 99 	/C3Bwwss| /#s(|r#w.../	/rH   c                    |}|j                         }|j                  }t        |j                        D ]  \  }}||    |j                  d d d   D ]x  }|j                  j                  |      }t        j                  j                  d      j                         }	|	|j                  ||f<   |	|||f<   t        j                  ||       z  y )Nr:   r6   )rJ   rp   	enumerater=   r    get_locrK   r   rL   rM   r   r"   rA   )
r(   r)   r8  rF   r  jr9  rC   ivals
             r.   test_setitem_fancy_scalarz/TestDataFrameIndexing.test_setitem_fancy_scalar  s    ##%UU  		* 	3FAscFwwss| 3GGOOC(ii++A.>>@&)ad#"38%%a23	3rH   c                    |}|j                   }|j                  ddg      }|d d g df   }t        j                  ||       |j                  |j                  dd ddg      }||j                  dd g df   }t        j                  ||       |j                  |j                  d   kD  }|j                  |j                  |   	      }||   }t        j                  ||       ||d d f   }t        j                  ||       |||j
                  d
d  f   }|j                  |j                  |   ddg      }t        j                  ||       y )Nr]   r   r<   )FTFTr:   rW   ru      r   r6   r   )rp   r{   r"   rA   r    r=   )r(   r)   r8  r  rF   rE   boolvecs          r.   test_getitem_fancy_booleanz0TestDataFrameIndexing.test_getitem_fancy_boolean  s;   UU99c3Z90A112
fh/991771R=3*9EAGGAbM#==>
fh/''AGGAJ&991777#394G
fh/GQJ
fh/GQYYqr]*+991777#3c3Z9H
fh/rH   c                 d   |j                         }|j                         }|j                  j                         }|d   dkD  }d|j                  |<   d||j                  <   t        ||j                  |j
                        }t        j                  ||       |j                         }|j                         }|j                  j                         }d|j                  |ddgf<   d||j                  d df<   t        ||j                  |j
                        }t        j                  ||       y )Nr\   r           ru   r]   r6   )rJ   rR   rp   r   r    r=   r"   rA   )r(   r)   framerF   rR   r   s         r.   test_setitem_fancy_booleanz0TestDataFrameIndexing.test_setitem_fancy_boolean  s      "##%%%'SzA~		$!t{{V8>>8CSCST
eX.  "##%%%'&)		$c
"#"%t{{BQBV8>>8CSCST
eX.rH   c                 (   |j                   g d   }|j                  |j                  g d      }t        j                  ||       |j                   d d g df   }|j                  d d |j
                  g d   f   }t        j                  ||       y )N)r2   r9   rD  )r6   r   r2   )r   rp   r    r"   rA   r=   )r(   r)   rE   rF   s       r.   test_getitem_fancy_intsz-TestDataFrameIndexing.test_getitem_fancy_ints  s}    !!),??;#4#4Y#?@
fh/!!!Y,/??1k&9&9)&D#DE
fh/rH   c                 <   |d   d d d   dkD  }|j                   |   }|j                   |d d d      }t        j                  ||       |j                         }|j                         }d|j                   |<   d|j                   |<   t        j                  ||       y )Nr\   rt   r2   r   )rp   r"   rA   rJ   )r(   r)   r   rE   rF   r  s         r.   'test_getitem_setitem_boolean_misalignedz=TestDataFrameIndexing.test_getitem_setitem_boolean_misaligned  s    3"%)&??4":.
fh/##%tT
b(+rH   c                 .   t        t        j                  j                  d      j	                  d            }t        j
                  g d      }t        j
                  ddg      }|j                  ||f   }|j                  ddgdgf   }t        j                  ||       |j                         }d|j                  t        j
                  g d      t        j
                  ddg      f<   d|j                  ddgdgf<   t        j                  ||       y )	Nr6   r3  r   FTr   r2   r:   )
r   rK   r   rL   rM   r   rp   r"   rA   rJ   )r(   rD   k1k2rE   rF   s         r.   "test_getitem_setitem_boolean_multiz8TestDataFrameIndexing.test_getitem_setitem_boolean_multi  s    ryy,,Q/??GH XX)*XXudm$B661a&1#+&
fh/779IJrxx+,bhht}.EEF$%aVaS[!
b(+rH   c                 
   t        g d      }t        t        j                  j	                  d      j                  d      |      }|j                  dd }|j                  g d      }t        j                  ||       t        |      dk(  sJ |j                  dd }|j                  ddg      }t        j                  ||d	
       t        |      dk(  sJ |j                  dd }|j                  ddg      }t        j                  ||       t        |      dk(  sJ |j                  dd }|j                  dd }t        j                  ||       |j                  dd }d}t        j                  t        |      5  |dd }d d d        t        j                  ||       t        g d      }t        t        j                  j	                  d      j                  d      |      }d}t        j                  t         |      5  |j                  dd  d d d        |j                  dd }|j                  dg      }t        j                  ||       t        |      dk(  sJ |j#                         }t        j                  t         t$              5  d|j                  dd d d d        t        j                  t         |      5  |j                  dd dk(  }d d d        |j&                  j)                         sJ |j                  dd |j                  dd k(  j&                  j)                         sJ |j#                         }d|j                  dd |j                  dd dk(  j&                  j)                         sJ |j                  dd |j                  dd k(  j&                  j)                         sJ |j                  dd }|}t        j                  ||       t        |      dk(  sJ |j                  dd }|j                  g d      }t        j                  ||       t        |      dk(  sJ |j                  dd }|j                  dg      }t        j                  ||       t        |      dk(  sJ |j                  dd }|j                  g d      }t        j                  ||       t        |      dk(  sJ |j#                         }d|j                  dd |j                  dd }|dk(  j&                  j)                         sJ y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   fxY w)N)r   r6   r7   r9   r:   r6   r   r   r   r9   )r   r6   r7   r9   r:   F)check_index_typer$  r   r2   r   z3The behavior of obj\[i:j\] with a float-dtype indexr   )r   r         @r   r   zPcannot do positional indexing on Index with these indexers \[1.0\] of type floatr   g?)r   rU  r   r   g
ףp=
@)r   r   rK   r   rL   rM   rp   r{   r"   rA   r   r   ry   FutureWarningr%   r&   r   rJ   
_slice_msgrR   r   )r(   using_array_managerr    rD   rE   rF   rd   r  s           r.   !test_getitem_setitem_float_labelsz7TestDataFrameIndexing.test_getitem_setitem_float_labels  s   '(ryy,,Q/??GuUA::n-
fh/6{a!::q!f%
fhG6{a!::sCj)
fh/6{a !771Q<
fh/771Q<D''SA 	!WF	
fh/ /0ryy,,Q/??GuU4 	 ]]9C0 	GGCN	 1::se$
fh/6{aWWY]]9J7 	BGGCN	 ]]9C0 	)WWS^q(F	) }}  """!!,4488:::WWY!!!))--///!!,4488::: A
fh/6{aA::23
fh/6{aQ::se$
fh/6{aC::78
fh/6{aWWYs3C!##''))){	 		 		 		) 	)s0   TT&T3	U T#&T03T= U
c                    t        t        j                  j                  d      j	                  d      g dg d      }t        d      |d<   |j                  }t        t        j                  d      gd	z  t        j                  d
      gz   g d      }t        j                  ||       t        j                  t        d      5  t        |j                  d<   d d d        t        |j                  d         rJ |d   j                  t        j                   k(  sJ |j                  d   t        k(  sJ t        j"                  |j                  d<   t        |j                  d         sJ t        j"                  |j                  dd d f<   t        |j                  dd d f         j%                         rJ y # 1 sw Y   xY w)Nr6   r:   r7   )r   r   r   r   e)rZ   r   r	  ru   20010102	timestampr   r7   zdatetime64[s])rZ   r   r	  r^  r   %Setting an item of incompatible dtyper   )r   r^  )r   r^  r   r   )r   rK   r   rL   rM   r   r   r   r4   r"   r`   ry   rV  r   rp   r   r   r~   r   rq   s       r.   )test_setitem_single_column_mixed_datetimez?TestDataFrameIndexing.test_setitem_single_column_mixed_datetime@  s   II!!!$44V<+)
 $J/; XXi !A%/)B(CC4
 	vx0 ''!H
 	, (,BFF#$	, /0111+$$

222vv&'4/// $&66 BFF+,--- sAvsAv'++----	, 	,s   F<<Gc                    t        g dt        ddd      dddt        ddd      t        ddd      gd      }t        d	t        d
      t        d            }t        j
                  |d<   t        ddd      |j                  d<   t        j                  t        d      5  d|j                  d<   d d d        d|j                  ddgdf<   t        j                  dt        j                  d      gdt        j                  d      gg      }||j                  ddgddgf<   t        j                  ||       y # 1 sw Y   xY w)N)r   r   r   r         i  r2   xyi  i  r   r   r   abr;   r   r   r   r   r_  r   )r2   r   rd  re  r6   r7   rb  z2013-01-01T00:00:00rc  z2014-01-01T00:00:00r9   r:   r   )r   r   r  rb   pdNaTrp   r"   ry   rV  rK   r   
datetime64rA   )r(   rF   rD   r\   s       r.   test_setitem_mixed_datetimez1TestDataFrameIndexing.test_setitem_mixed_datetimeb  s5   )T1a(T1a(T1a(

 q$t*E!H=&&3!$1-v''!H
 	 BFF6N	 '1vs{HHR]]#89:R]]#89:
 &'1vSz!"
b(+	 	s    D88Ec                 4   |j                   |j                  d d ddgf   }|j                  |j                   |j                  d   d ddgf<   |j                   |j                  dd  ddgf   j                  }|j                  }t        j                  ||       y Nr6   r\   r]   )rp   r    rR   r"   r   r(   r)   piecerE   rF   s        r.   test_setitem_frame_floatz.TestDataFrameIndexing.test_setitem_frame_float  s     1 1"1 5Sz AB?D||))"-/#s;<!2!223!7#s!CDKK<<
vx0rH   zTODO(infer_string))reasonc                 R   |j                         }t        ddgddgg|j                  dd ddg	      }|j                  t        d d         ddgf}||j                  |<   t        j                  |j                  |j                  dd ddgf   j                  |j                         y )
Nr   r   r   r$  r   r6   r\   r]   ru   )rJ   r   r    slicerp   r"   r   rR   r(   r(  r8  rr  r-   s        r.   test_setitem_frame_mixedz.TestDataFrameIndexing.test_setitem_frame_mixed  s    
 ##%3Z#s$AGGAaL3*
 wwuT1~&c
3c

quuQWWQq\C:%=>EEu||TrH   c                    |j                         }t        ddgddgddgddggt        |j                  d	d
       ddgz   ddg      }|j                  t	        d d
         ddgf}||j
                  |<   t        j                  |j
                  |j                  d	d
 ddgf   j                  |j                  d	d
        y )Nr   r   r   r$  r   g      @g      @g       @r   r6   rZ   r   r\   r]   ru   )	rJ   r   r  r    rv  rp   r"   r   rR   rw  s        r.   'test_setitem_frame_mixed_rows_unalignedz=TestDataFrameIndexing.test_setitem_frame_mixed_rows_unaligned  s     ##%3Z#sc3Z#s<qwwq|$u~5#J

 wwuT1~&c
3c

EE!''!A-#s+,33U\\!A5F	
rH   c                    |j                         }|j                  |j                  d d dgf   }|j                  dd  |_        |j                  t        dd          ddgf}||j                  |<   t        j
                  |d<   t        j                  |j                  |j                  dd  ddgf   j                  |j                         y )Nr6   r\   rp  r]   )	rJ   rp   r    rv  rK   r~   r"   r   rR   rw  s        r.   &test_setitem_frame_mixed_key_unalignedz<TestDataFrameIndexing.test_setitem_frame_mixed_key_unaligned  s     ##%aggbqkC5()ggbclwwuR'#s4c
VVc

quuQWWRS\C:%=>EEu||TrH   c                 `   |j                         }|j                  |j                  d d ddgf   }|j                  t        dd          ddgf}|j                  |j                  |<   t        j                  |j                  |j                  dd  ddgf   j                  |j                         y ro  )rJ   rp   r    rv  rR   r"   r   rw  s        r.    test_setitem_frame_mixed_ndarrayz6TestDataFrameIndexing.test_setitem_frame_mixed_ndarray  s    ##%"&&qwwr{S#J'>?wwuR'#s4\\c

quuQWWRS\C:%=>EEu||TrH   c                 r   t        g dg dgg d      }|j                         }t        j                  t        d      5  |j
                  d d ddgf   d	z   |j
                  d d ddgf<   d d d        |j                  ddg      }|d	z  }|d
   |d
<   t        j                  ||       y # 1 sw Y   AxY w)N)r2   r6   rZ   )r7   r9   r   r\   r]   r   r<   incompatible dtyper   r\   r]         ?r   )r   rJ   r"   ry   rV  rp   r{   rA   )r(   rD   r   rF   s       r.   test_setitem_frame_upcastz/TestDataFrameIndexing.test_setitem_frame_upcast  s    }5Oggi''=QR 	A%'VVASzM%:S%@CGGASzM"	A::sCj:1C3
c8,	A 	As   ,B--B6c                 V   |j                   |j                  d d ddgf   }|j                  dd  |_        ddg|_        ||j                   |j                  dd  ddgf<   |j                   |j                  dd  ddgf   j                  }|j                  }t	        j
                  ||       y ro  )rp   r    r=   rR   r"   r   rq  s        r.   test_setitem_frame_alignz.TestDataFrameIndexing.test_setitem_frame_align  s     1 1"1 5Sz AB!'',c
>C))"#.c
:;!2!223!7#s!CDKK<<
vx0rH   c                    t        t        j                  j                  d      j	                  d      g d      }|j
                  d   }|d d }t        j                  ||       |j
                  d   }|j                  ddg   }t        j                  ||       |j
                  d   }|j                  d	   }t        j                  ||       y )
Nr6   r[  rZ   rZ   r   r	  r   r   rZ   r   r9   r	  r7   )
r   rK   r   rL   rM   rp   r"   rA   r   r`   rq   s       r.   "test_getitem_setitem_ix_duplicatesz8TestDataFrameIndexing.test_getitem_setitem_ix_duplicates  s    II!!!$44V<5

 bq6
fh/77Aq6?
fh/771:
vx0rH   c                    t        t        j                  j                  d      j	                  d      g d      }|j
                  dg   }|j                  ddg   }t        j                  ||       |j
                  |d   dkD     }||d   dkD     }t        j                  ||       |j
                  |d   dkD     }||d   dkD     }t        j                  ||       y )	Nr6   r[  r  r   r   r9   r2   r   )	r   rK   r   rL   rM   rp   r   r"   rA   )r(   rD   rE   r   s       r.   +test_getitem_ix_boolean_duplicates_multiplezATestDataFrameIndexing.test_getitem_ix_boolean_duplicates_multiple  s    II!!!$44V<5

 ggq!fo
fc*1	"Am
fc*1	"Am
fc*rH   
bool_valueTFc                 ,   t        dg di      }| d}t        j                  t        |      5  |j                  |    d d d        d}t        j                  t        |      5  d|j                  |<   d d d        y # 1 sw Y   ?xY w# 1 sw Y   y xY w)Nr   r5   z7: boolean label can not be used without a boolean indexr   z.cannot use a single bool to index into setitemr   )r   r%   r&   r'   rp   )r(   r  rD   messagerd   s        r.   %test_getitem_setitem_ix_bool_keyerrorz;TestDataFrameIndexing.test_getitem_setitem_ix_bool_keyerror  s     Y'(L WX]]873 	FF:	 ?]]83/ 	#!"BFF:	# 	#		 		# 	#s   A>%B
>B
Bc                    d|d<   t        |d   j                  j                  t        t        j
                  f      sJ |j                  |j                  d   df   }t        |      sJ t        ddgi      }d|d<   |j                  d   }t        |      sJ t        dgd	gd
      }|j                  d	gdf   }t        j                  ||       y )Nr2   r[   r:   r   gGz?i  r   rh  r   rn   )r   r4   r   ro   rK   r   rp   r    r   r   r   r"   r`   )r(   r)   rE   rD   rF   s        r.   "test_single_element_ix_dont_upcastz8TestDataFrameIndexing.test_single_element_ix_dont_upcast  s    C+c*0055RZZ7HIII!2!21!5s!:;&!!! dV}%3&!!!3%!3/S!
vx0rH   c                 ~   t        t        j                  d      j                  dd      t	        ddd            }d}t        j                  t        |	      5  |j                  d
     d d d        t        j                  t        |	      5  d|j                  d <   d d d        y # 1 sw Y   >xY w# 1 sw Y   y xY w)Nr   rW   r9   r   r   r6   r   zcallable with ilocr   c                      yN)r    r+   s    r.   <lambda>zMTestDataFrameIndexing.test_iloc_callable_tuple_return_value.<locals>.<lambda>      rH   r2   c                      yr  r  r  s    r.   r  zMTestDataFrameIndexing.test_iloc_callable_tuple_return_value.<locals>.<lambda>  r  rH   )	r   rK   r   r   rb   r"   ry   rV  r   )r(   rD   rd   s      r.   %test_iloc_callable_tuple_return_valuez;TestDataFrameIndexing.test_iloc_callable_tuple_return_value  s    ryy},,R35B?K"''SA 	$GGN#	$''SA 	(&'BGGN#	( 	(	$ 	$	( 	(s   B'B3'B03B<c                 f   t        t        j                  j                  d      j	                  d      t        ddd            }|j                  d   }|j                  d   }t        j                  ||       |j                  d   }|j                  d   }t        j                  ||       |j                  t        dd         }|j                  dd	 }t        j                  ||       |j                  g d
   }|j                  |j                  g d
         }t        j                  ||       y )Nr6   rW   r9   r   r   r   r2   r9   r  rc  r2   r6   r9   r;   )r   rK   r   rL   rM   rb   r   rp   r"   r`   rv  rA   r{   r    r(   rD   rE   r   rF   s        r.   test_iloc_rowz#TestDataFrameIndexing.test_iloc_row  s    II!!!$44W=U1bRS_
 ffQi
vs+ffQi
vs+ q!%66!B<
fh/ &::bhh|45
fh/rH   c                 J   t        t        j                  j                  d      j	                  d      t        ddd            }|j                         }|j                  t        dd         }t        j                  |d   |d         sJ |d   j                         }t        j                  |      5  d|j                  d d df<   d d d        |s-d|j                  dd t        j                  |d   |d         sJ t        j                  |d   |       y # 1 sw Y   RxY w)	Nr6   r  r   r   r   r9   r  rH  )r   rK   r   rL   rM   rb   rJ   r   rv  r%  r"   r'  rp   r&  r`   )r(   r   r   rD   r*  subsetexp_cols          r.   test_iloc_row_slice_viewz.TestDataFrameIndexing.test_iloc_row_slice_view4  s   II!!!$44W=U1bRS_
 779 q!%1vay1111+""$""#56 	#"FJJq!t	#"#&GOOAa  ##BqE6!9555
r!ug.	# 	#s   4DD"c                    t        t        j                  j                  d      j	                  d      t        ddd            }|j                  d d df   }|j                  d d df   }t        j                  ||       |j                  d d df   }|j                  d d df   }t        j                  ||       |j                  d d t        dd      f   }|j                  d d dd	f   }t        j                  ||       |j                  d d g d
f   }|j                  |j                  g d
         }t        j                  ||       y )Nr6   r9   rW   r   r   r<   r2   r9   r  rc  r  )r   rK   r   rL   rM   rb   r   rp   r"   r`   rv  rA   r{   r=   r  s        r.   test_iloc_colz#TestDataFrameIndexing.test_iloc_colJ  s   II!!!$44W=uQPRTU
 AffQTl
vs+AffQTl
vs+ E!QK(66!QrT'?
fh/ L)::bjj&>:?
fh/rH   c                 0   t        t        j                  j                  d      j	                  d      t        ddd            }|j                         }|j                  d d t        dd      f   }|s|st        j                  |d   j                  |d   j                        sJ t        j                  |      5  d|j                  d d df<   d d d        |d   dk(  j                         sJ t        j                  |d   j                  |d   j                        sJ y |r2t        j                  |d   j                  |d   j                        sJ d|d<   |d   dk(  j                         sJ t        j                  ||       y # 1 sw Y   xY w)	Nr6   r  r   r   r<   r9   r  rH  )r   rK   r   rL   rM   rb   rJ   r   rv  r%  r&  r"   r'  rp   r   rA   )r(   rX  r   r   rD   r*  r  s          r.   test_iloc_col_slice_viewz.TestDataFrameIndexing.test_iloc_col_slice_viewa  sd    II!!!$44W=uQPRTU
 779E!QK("+>##BqEMM6!93D3DEEE&&'9: '#&

1a4 ' qEQJ##%%% ##BqEMM6!93D3DEEE"''1vay7H7HIIIF1I1IN'')))!!"h/' 's   =FFc                    t        t        ddd      t        ddd            }|j                  dt        ddd            }t        d|dd	g
      }t	        j
                  g d      }d|j                  ||   df<   t        g dg dd|      }t        j                  ||       t        d|dd	g
      }|j                  ||   dfxx   dz  cc<   t        j                  ||       y )Ni  r2   )yearmonthdayr:   )r/  r0  )rp   itemr   r\   r]   ru   )FFFFFTr;   )r   r   r   r   r;   r;   )r   r   r   r   r   r   r\   r]   r   )	r   r   insertr   rK   r   rp   r"   rA   )r(   trangerD   bool_idxrF   s        r.   test_loc_duplicatesz)TestDataFrameIndexing.test_loc_duplicates  s     QA6t1!4

 19$aQ+OPqc
;88EF )*vh$%$+=>f
 	b(+ qc
;
vh$%*%
b(+rH   c                    t        t        ddd      d      }t        d|i      }|g d   |d<   t        j                  |d   |       t        d|i      }|g d   |j
                  g ddf<   t        j                  |d   |       y )	Nz
2015-01-01r7   utc)r.  tzdatesrn   )r2   r   r6   )r   r2   r6   )r   r   r   r"   r`   rp   )r(   columnrD   s      r.   4test_setitem_with_unaligned_tz_aware_datetime_columnzJTestDataFrameIndexing.test_setitem_with_unaligned_tz_aware_datetime_column  s     
<uEGT()Y'7
r'{F3()%+I%6y'!"
r'{F3rH   c                 J   t        d      }t        t        dd            }t        j                  d|z  gdz  d      |d	<   t        j                  d
|z  gdz  d      |j
                  d d df<   t        j                  d|z  gdz  d      |j
                  |j                  d d df<   t        j                  d|z  gdz  d      |j
                  d d df<   t        j                  d|z  gdz  d      |j
                  |j                  d d df<   t        j                  d      |d<   t        j                  d|z  gdz  d      |j
                  |j                  d d df<   t        dd      |j
                  |j                  d   d df<   t        j                  d      |d<   |j                  }t        t        j                  d      gdz  t        j                  d      gd
z  z   t        t        d      t                    }t        j                   ||       y )Nr2   )hours20130101r9   r-  r   m8[ns]r3   r\   r6   r]   r7   r   r   r:   r[   rk  r   r;   rt   r#  GHztimedelta64[ns]zdatetime64[ns]ABCDEFGH)r   r   r   rK   r   rp   r    timedelta64rl  r   r   r4   r   r  rx   r"   r`   )r(   one_hourrD   rE   rF   s        r.   ,test_loc_setitem_datetimelike_with_inferencezBTestDataFrameIndexing.test_loc_setitem_datetimelike_with_inference  s    1%Z
A>?((AL>A-X>31x<.1"4HEq#v$&HHa(l^a-?x$Prxx|S !1x<.1"4HEq#v$&HHa(l^a-?x$Prxx|S !..'3%'XXq8|nq.@%Qrxx}c!"&0Q&Grxx|~s"#--&3XX'()A-:J1K0Lq0PPZ(7
 	vx0rH   c                    t        t        j                  t        j                  t        j                  t        j                  t        j                  dt        j                  dt        j                  dddt        j                  t        j                  dt        j                  t        j                  dt        j                  t        j                  t        j                  t        j                  t        j                  ddt        j                  t        j                  t        j                  t        j                  dddddddd      }|j                         }d||d	kD  <   |j                         }d|j                  d
<   d|j                  d<   d|j                  d<   d|j                  d<   t        j                  ||       d|d<   d}t        j                  t        |      5  d||d	kD  <   d d d        y # 1 sw Y   y xY w)N)#   r   r   1   2   gjBz?g% t?gk?g?r   r2   )r   r2   r6   r7   r9   re  g333333?)r   r2   )r  r2   )r  r2   )r  r9   testrZ   zDnot supported between instances|unorderable types|Invalid comparisonr   )
r   rK   r~   rJ   rp   r"   rA   r%   r&   r   )r(   rD   r   rF   rd   s        r.   #test_getitem_boolean_indexing_mixedz9TestDataFrameIndexing.test_getitem_boolean_indexing_mixed  sx   BFFBFFO+++ + BFFBFFO+ qa81
< ggiC#I779UUUU
c8,5	T]]9C0 	BrCxL	 	 	s   +	G==Hc                 p   t        j                  ddgddggd dg      }t        g dg dg|t        ddgd	
            }t	        j
                  t        d      5  |d d df    d d d        t        t        d      d	
      }t        ddgddggddgddggd dg      }t        ddgddgg||      }|j                  d d t        d       dff   }t        j                  ||       d}t        t        d      d	
      }t        ddg||      }|d   }t        j                  ||       y # 1 sw Y   xY w)Nrd  re  r   r2   r   names)r2   r2   r6   r6   )r7   r7   r9   r9   r@  rn   r   rv  r   r6   )levelscodesr  r7   r9   )rd  r   r   )r   from_productr   r   r%   r&   r	   rb   rp   rv  r"   rA   r   r`   )r(   midgr    r=   rF   rE   rj   s           r.   test_type_error_multiindexz0TestDataFrameIndexing.test_type_error_multiindex  sA   $$sCj1a&%9$M<("E1a&s<S
 ]],G< 	q!tH	 eAhS)#JA'AA/?c{
 q!fq!f-weLE$K++,
fh/eAhS)1a&D9F
vx0#	 	s   
D,,D5c                 R   t        t        j                  d      t        j                  j                  t        j                  d                  }|j                  d d df   }|d   }t        j                  ||       |j                  d d df   }t        j                  ||       y )Nr7   r9   r:   r<   r   r  )r   rK   r
  rj  IntervalIndexfrom_breaksr   r   r"   r`   rp   )r(   rD   rF   rT   s       r.   ,test_getitem_interval_index_partial_indexingzBTestDataFrameIndexing.test_getitem_interval_index_partial_indexing  s    GGFOR%5%5%A%A"))A,%O
 771a4=g
sH-ffQVn
sH-rH   c                 2   t        ddgt              }t        j                  d      t        j                  d      d|j                  d<   t        t        j                  d      gt        j                  d      gd      }t        j                  ||       y )Nr   r   )r=   r4   )r6   )r6   r6   rf  r   )r   rx   rK   zerosrp   r"   rA   r   s      r.    test_setitem_array_as_cell_valuez6TestDataFrameIndexing.test_setitem_array_as_cell_value  sk    Sz8((4.rxx/?@q	BHHTN#3288F;K:LMN
b(+rH   c                    t        dg did      }|j                         }|j                  d d d d df   |j                  d d  t	        j
                  ||       t        j                  j                  j                  |j                  d d d d df         |j                  d d  t	        j
                  ||       |j                  d d d d f   j                         |j                  d d  t	        j
                  ||       y )Nr\   r5   Int64r3   rt   )r   rJ   rR   rp   r"   rA   rj  corearraysNumpyExtensionArrayr   )r(   rD   origs      r.   $test_iloc_setitem_nullable_2d_valuesz:TestDataFrameIndexing.test_iloc_setitem_nullable_2d_values  s    Y'w7wwyIIa2g&q	
b$'GGNN66ryyDbD7IJq	
b$'WWQT]'')

b$'rH   c                     t        t        j                  dt                    }t        j                  |d         |d<   |dg    y )Nr2   r2   r3   r   )r   rK   r   rx   
empty_liker   s     r.   ,test_getitem_segfault_with_empty_like_objectzBTestDataFrameIndexing.test_getitem_segfault_with_empty_like_object&  s6    rxxf56be$1
A3rH   z.ignore:Setting a value on a view:FutureWarningnullM8[ns]r  c                    t        dg di|      }|d   j                         }|j                  }dj                  g d      }t	        j
                  t        |      5  ||d<   d d d        t	        j
                  t        |      5  ||g|d d d d d        t	        j
                  t        |      5  ||d<   d d d        t	        j
                  t        |      5  ||g|d d d d d        t	        j
                  t        |      5  ||j                  d<   d d d        t	        j
                  t        |      5  ||g|j                  d d d d d        t	        j
                  t        |      5  ||j                  d	<   d d d        t	        j
                  t        |      5  ||g|j                  d ddf<   d d d        |j                         }|j                         |d
<   t	        j
                  t        |      5  ||j                  d	<   d d d        t	        j
                  t        |      5  ||g|j                  d ddf<   d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   oxY w# 1 sw Y   GxY w# 1 sw Y   !xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)Nr\   r5   r3   |)z@timedelta64\[ns\] cannot be converted to (Floating|Integer)Dtypez?datetime64\[ns\] cannot be converted to (Floating|Integer)Dtypez 'values' contains non-numeric NAz3Invalid value '.*' for dtype '(U?Int|Float)\d{1,2}'r   r   r6   r   r   r]   )r   rJ   r&  joinr%   r&   r   r   )r(   r  any_numeric_ea_dtyperD   serr   rd   r   s           r.   .test_setting_mismatched_na_into_nullable_failszDTestDataFrameIndexing.test_setting_mismatched_na_into_nullable_fails-  sn    Y'/CDgllnkkhh
 ]]9C0 	CF	 ]]9C0 	#TlCG	# ]]9C0 	CF	 ]]9C0 	#TlCG	# ]]9C0 	CHHQK	 ]]9C0 	( $<CHHRaL	( ]]9C0 	! BGGDM	! ]]9C0 	*"D\BGGBQBEN	* ggi88:C]]9C0 	"!CHHTN	" ]]9C0 	+#TlCHHRaRUO	+ 	+=	 		# 	#	 		# 	#	 		( 	(	! 	!	* 	*	" 	"	+ 	+sx   II3I*I7J:J/J"J+>J71KII'*I47JJJJ(+J47K Kc                     t        dgt        g d            }d|j                  d<   t        ddgit        dgd            }t        j                  ||       y )Nr   r   rn   r   r2   r   r   )r   r   rp   r"   rA   r   s      r.   +test_loc_expand_empty_frame_keep_index_namezATestDataFrameIndexing.test_loc_expand_empty_frame_keep_index_nameb  sO    uE"3,?@q	cA3ZuaSs/CD
b(+rH   c                     t        dgt        j                  g g d            }d|j                  d<   t        ddgit        j                  dgg d            }t	        j
                  ||       y )Nr   r   r  r   rZ   r5   r   r   r   from_tuplesrp   r"   rA   r   s      r.   +test_loc_expand_empty_frame_keep_midx_nameszATestDataFrameIndexing.test_loc_expand_empty_frame_keep_midx_namesi  sg    E!7!7/!R
 "y5'N(()OL
 	b(+rH   z	val, idxr)rd  r   rd  r   )r2   r   r2   c                 0   t        dddgi      }t        j                  t        d      5  t        d|dgiddg      |j                  d d |f<   d d d        t        dt
        j                  |gi      }t        j                  ||       y # 1 sw Y   =xY w)Nr   r2   r6   r_  r   r   r   )r   r"   ry   rV  rp   rK   r~   rA   )r(   idxrrA  rD   rF   s        r.   test_loc_setitem_rhs_framez0TestDataFrameIndexing.test_loc_setitem_rhs_frameu  s     aV}%''!H
 	H (sBi(8AGBFF1d7O	H cBFFC=12
b(+	H 	Hs   %BBc                     t        ddg      }|j                         }|d d  }t        j                  ddgt        j                        |j
                  d d df<   t        j                  ||       y )Nr   r   r<   r2   r6   r3   r   )r   rJ   rK   r   r   r   r"   rA   )r(   r   rD   rF   views        r.   $test_iloc_setitem_enlarge_no_warningz:TestDataFrameIndexing.test_iloc_setitem_enlarge_no_warning  sZ     Sz*779!u!Qrzz:1
dH-rH   c                    t        ddddt        j                  ddgddggddg      	      }d
g}d|d<   d|j                  |df<   |j                  |df    |j                  |ddgf    d|j                  |df<   |j                  |df   }t	        dt        j                  dgdggddg      d      x}}t        j                  ||       y )NTr2   r   )bool_colr   r   r6   idx1idx2r  r   r  r7   r   r   r   r   r   r   )r   r   from_arraysrp   r   r"   r`   )r(   rD   rC   rE   rF   s        r.   (test_loc_internals_not_updated_correctlyz>TestDataFrameIndexing.test_loc_internals_not_updated_correctly  s    AC0((1a&1a&)9&&AQR
 h3sCx
sCx
sS#JsCxS!((1#sFF;KL
 	
2
 	vx0rH   rA  Nc                     t        dg did      }||j                  dgd d f<   t        dt        j                  ddgid      }t	        j
                  ||       y Nr   r   stringr3   r   r   r   r   r   rj  NAr"   rA   r(   rA  rD   rF   s       r.    test_iloc_setitem_string_list_naz6TestDataFrameIndexing.test_iloc_setitem_string_list_na  sT     _-X>QcBEE3#45XF
b(+rH   c                     t        dg did      }||j                  dd d f<   t        dt        j                  ddgid      }t	        j
                  ||       y r   r  r  s       r.   test_iloc_setitem_string_naz1TestDataFrameIndexing.test_iloc_setitem_string_na  sR     _-X>1cBEE3#45XF
b(+rH   funcc                     t        dg did      }d|j                  d d  |dg      f<   t        dg did      }t        j                  ||       y )Nr   r5   r  r3   r:   r   )r:   r:   r:   r   )r(   r  rD   rF   s       r.   /test_iloc_setitem_ea_null_slice_length_one_listzETestDataFrameIndexing.test_iloc_setitem_ea_null_slice_length_one_list  sN     Y'w7 !49c9-W=
b(+rH   c                 J   t        t        j                  ddgg dgddg            }t        d|j                  j
                        } |dd	d
g      }|j                  |d d f   }t        t        j                  ddgddg            }t        j                  ||       y )Nr\   r]   r   firstsecondr  r   Indexerr   r   )r  r  )r\   r   )r\   r   )
r   r   r  r   r    r  rp   r  r"   rA   )r(   rD   indexer_tupler  rE   rF   s         r.   test_loc_named_tuple_for_midxz3TestDataFrameIndexing.test_loc_named_tuple_for_midx  s    ))s_-gx5H

 #9bhhnn=3Sz:a((Z((0C

 	fh/rH   r   r9  r   c                    t        dt        d      t        d      gi|      }|d   t        j                  d      z   |j                  dg|f<   t        dt        d      t        d      gi|      }t        j                  ||       y )Nr   z
2022-12-29z
2022-12-30r2   )daysz
2022-12-31)r   r   rj  	Timedeltarp   r"   rA   )r(   r9  r   rD   rF   s        r.   test_set_2d_casting_date_to_intz5TestDataFrameIndexing.test_set_2d_casting_date_to_int  s     9\*Il,CDLL
  "#w1)==sG|9\*Il,CDLL
 	b(+rH   rj   c                     d}t        i |t        |      t        |      d      }|j                         }|ddg   |j                  |dgz  ddgf<   t	        j
                  ||       y )Nr  ri  rd  re  T)r   rb   rJ   rp   r"   rA   )r(   r9  nrD   rF   s        r.   1test_loc_setitem_reordering_with_all_true_indexerzGTestDataFrameIndexing.test_loc_setitem_reordering_with_all_true_indexer  sh     <#<E!H58<=779)+S#JqD6zC:%&
b(+rH   c                     t        ddg      }|j                         }t        dg      }t        j                  d       5  ||j                  d d df<   d d d        t        j
                  ||       y # 1 sw Y    xY w)Nr   r   r<   )r   rJ   r"   ry   rp   rA   )r(   rD   rF   rhss       r.   test_loc_rhs_empty_warningz0TestDataFrameIndexing.test_loc_rhs_empty_warning  sk    Sz*779&''- 	! BFF1c6N	!
b(+	! 	!s   A44A=c                 F   t        g dg dg      }t        ddgd      }t        dgd      }|j                  ||f   }t        ddggdg	      }t        j                  ||       |j                  |j
                  |j
                  f   }t        j                  ||       y )
Nr   r2   r6   r7   r9   r:   r;   rD  r  	   r   r2   r  r3   r:   r;   r   )r   r   r   r"   rA   rR   )r(   rD   r   row_indexerrE   rF   s         r.   test_iloc_ea_series_indexerz1TestDataFrameIndexing.test_iloc_ea_series_indexer  s    9:!Qw/aS0g-.q!fXaS1
fh/++W^^;<
fh/rH   c                    t        g dg dg      }t        dt        j                  gd      }d}t	        j
                  t        |      5  |j                  d d |f    d d d        t	        j
                  t        |      5  |j                  d d |j                  f    d d d        y # 1 sw Y   KxY w# 1 sw Y   y xY w)Nr  r  r   r  r3   zcannot convertr   )	r   r   rj  r  r%   r&   ra   r   rR   )r(   rD   r   rd   s       r.   #test_iloc_ea_series_indexer_with_naz9TestDataFrameIndexing.test_iloc_ea_series_indexer_with_na  s    9:!RUU73]]:S1 	 GGAwJ	 ]]:S1 	'GGAw~~%&	' 	'	  	 	' 	's   B*B6*B36B?)Tr4   booleanc                    t        j                  t        g d|      t        g d|      gddg      }t        dg di|	      }t	        j
                  t        t        |t                    5  |j                  |   }d d d        t        dd
dgit        ddgd|      	      }t	        j                  |       y # 1 sw Y   ?xY w)N)TTFFr3   )TFTFr   r   r  r   )r2   r6   r7   r9   r   r2   r6   TF)rj   r4   )r   r  r   r   r"   maybe_produces_warningr
   
isinstancetuplerp   r   rA   )r(   r4   r   midxrD   rE   rF   s          r.   test_loc_bool_multiindexz.TestDataFrameIndexing.test_loc_bool_multiindex  s     %%1?1? *
 \*$7&&'9:gu;UV 	%VVG_F	%1a&Me}3e!L
 	fh/	% 	%s   /B==Cr  r   c           
          t        t        t        ddd      t        ddd      g|      ddgd      }|j                  d	      }||d
      }|d   |j                  |d
   |f<   t        j                  ||       y )Ni  r2   r   r   )r  TF)r   update)deepr+  r   )r   r   r   rJ   rp   r"   rA   )r(   r  r   rD   rF   	update_dfs         r.   2test_loc_datetime_assignment_dtype_does_not_changezHTestDataFrameIndexing.test_loc_datetime_assignment_dtype_does_not_change  s     #dAr*HT1b,AB  -	
 777%r(|$	(1&(9r(|W$%
b(+rH   zindexer, idxr6   c                    t        dt        j                  gdt        j                  gdt        j                  ggt              }t        dt        j                  gdt        j                  gg      }| ||      d |d d f<   t        dt        j                  gdt        j                  gdt        j                  ggt              }t	        j
                  ||       y )Nrl   rm   r   r3   r2   r6   )r   rK   r~   rx   r"   rA   )r(   r   rC   rD   r  rF   s         r.   "test_setitem_value_coercing_dtypesz8TestDataFrameIndexing.test_setitem_value_coercing_dtypes.  s     bffRVV}sBFFmDFS!RVVq"&&k23"DSD!Gq"&&kArvv;bffFfU
b(+rH   )i__name__
__module____qualname__r/   rG   rU   rX   rf   rr   r   r   r%   markparametrizer   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r!  tdskip_array_manager_invalid_testr+  r1  r6  r;  rB  rF  rJ  rL  rN  rR  rY  r`  rm  rs  xfailr   rx  rz  r|  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  filterwarningsrj  rk  to_numpyr  r  r  r  r  r  r  r  r  r  r   rK   r   r
  r  r  r  r  r   r"  r   r)  r.  r"   rp   r   r0  r  rH   r.   r   r   ,   s"   ""B4>&&197v 1D [[#%79NO00/00$)&16f	,2,h<:.7`'-*	W*0: ''9 (9.1(
&/ ''3 (3 0. ''/ (/(0,,W*r .D,@1 [[)+4HI
U J
U [[)+4HI
 J
 [[)+4HIU JUU	-11&+& [[\D%=9	# :	#1$(0./,0.0<,641,,\12.,( [[ PQ[[2BFFOOH4MN/+ R/+b,
, [[3%LJ		
	,	, ''. (.1. [[UTD6255255'$BC, D, [[UT255M2, 3, [[VdFBHH%=>, ?,0" [[Y#5[[UR#qN3	, 4 6	, [[UR&#$78, 9,,
0' [[Yw8[[WtY&780 9 90" [[UUDM2[[Y&(:;, < 3,$ [[^rvvqkBGGQ<-HI, J,rH   r   c                       e Zd Zd Zy)TestDataFrameIndexingUInt64c           
         t        t        j                  d      g ddt        j                        }|d   j	                  d      }d|j
                  vsJ ||d<   t        j                  |d   t        |d             d	|j
                  vsJ d|d	<   ||d	<   t        j                  |d	   t        |d	             |d	= |j                         }t        j                  t        d
      5  t        j                  |j                  d<   t        j                  |j                  d<   d d d        |d   }t        j                  t        |      t        g dd             t        j                  |j                   t        t        j"                  d      t        j"                  d      t        j"                  d      gg d             y # 1 sw Y   xY w)Nr7   )l            l           l   
        r  r3   r\   rZ   r   rn   r   r  r   r  r2   r6   r]   r   uint64Or  r   )r   rK   r   r?  renamer=   r"   r`   r   rJ   ry   rV  rj  rk  r   r   r   r4   )r(   rD   rC   r   rE   s        r.   r   z(TestDataFrameIndexingUInt64.test_setitem9  su   ))A,%CD))
 gnnU# "**$$$3
r#ws(=>"**$$$33
r#ws(=>sG ggi''=QR 	$VVCHHTNVVCHHTN	$ S
uV}f5Hs.ST
JJ(#RXXc]BHHSMB%	
	$ 	$s   -;GGN)r1  r2  r3  r   r  rH   r.   r<  r<  8  s     
rH   r<  c                    t        ddgt        dd      t        j                  dd      d      }|j                  d   }t        |j                  d   t              sJ t        |j                  d   t        j                        sJ |j                  d   }t        |j                  d   t              sJ t        |j                  d   t        j                        sJ |j                  dd      }t        |j                  d   t              sJ t        |j                  d   t        j                        sJ | ry |j                  }|j                          |j                  d      j                  }t        |d   t              sJ t        |d   t        j                        sJ |j                  |j                   d      }|j"                  d	k(  sJ |j%                  d
      }t        |t              sJ |j                  |j                   d      }|j"                  dk(  sJ |j%                  d
      }t        |t        j                        sJ y )Nr2   r6   2000r-  z1 Dayr  r   )axisr  r  r  )r   r   rj  timedelta_rangerp   r&  rR   r   r  r   xs_mgr_rebuild_blknos_and_blklocsfast_xsr   blocksblknosr4   iget)rX  rD   r  mgrr   blkrA  s          r.   /test_object_casting_indexing_wraps_datetimelikerO  \  s   	QFA.##GQ7	

B &&)CcjjmY///cjjmR\\222
''!*CcjjmY///cjjmR\\222
%%%
CcjjmY///cjjmR\\222
''C##%
++a.

Cc!fi(((c!fbll+++
**SZZ]
#C99   
((6
Cc9%%%
**SZZ]
#C99   
((6
Cc2<<(((rH   zFCannot setitem on a Categorical with a new category( \(.*\))?, set thezCCannot set a Categorical with another, without identical categoriesc                      e Zd Zej                  d        Zej                  d        Zej                  d        Zej                  d        Zej                  d        Z	ej                  j                  dej                  ej                  g      d        Zej                  j                  dej                  ej                  ej                   ej"                  g      d        Zej                  j                  dej                  ej                  g      d	        Zej                  j                  dej                  ej                  g      d
        Zej                  j                  dej                  ej                  g      d        Zej                  j                  dej                  ej                  g      d        Zej                  j                  dej.                  ej                  ej                  g      d        Zd Zy)TestLocILocDataFrameCategoricalc                 j    t        g dddg      }t        g d      }g d}t        ||d|      }|S )	N)r   r   r   r   r   r   r   r   r   
categorieshr@  r?  r   lmr  r2   r2   r2   r2   r2   r2   r2   catsrR   r   r   r   r   )r(   r[  rC   rR   r  s        r.   r  z$TestLocILocDataFrameCategorical.orig  s:    >CQT:V78&$&9ErH   c                 j    t        g dddg      }t        g d      }g d}t        ||d|      }|S )	Nr   r   r   r   r   r   r   r   r   rS  rU  )r2   r2   r6   r2   r2   r2   r2   rZ  r   r\  )r(   cats1r  values1exp_single_rows        r.   ra  z.TestLocILocDataFrameCategorical.exp_single_row  s=     ?SRUJW89'"EW#ETRrH   c                 j    t        g dddg      }t        g d      }g d}t        ||d|      }|S )	Nr   r   r   r   r   r   r   r   r   rS  rU  )r2   r2   r6   r6   r2   r2   r2   rZ  r   r\  )r(   cats2r  values2exp_multi_rows        r.   rf  z-TestLocILocDataFrameCategorical.exp_multi_row  s=     ?SRUJW89'!5G"DDQrH   c                 j    t        g dddg      }t        g d      }g d}t        ||d|      }|S )	Nrc  r   r   rS  rU  rY  rZ  r   r\  )r(   cats3idx3values3exp_parts_cats_cols        r.   rk  z2TestLocILocDataFrameCategorical.exp_parts_cats_col  s?     ?SRUJW89'&'IQUV!!rH   c                 j    t        g dddg      }t        g d      }g d}t        ||d|      }|S )	Nr^  r   r   rS  rU  rY  rZ  r   r\  )r(   cats4idx4values4exp_single_cats_values        r.   rp  z5TestLocILocDataFrameCategorical.exp_single_cats_value  sC     ?SRUJW89' )g.d!
 %$rH   r   c                    |j                         }t        dd      }|t        j                  u rt        dd      }ddgddgg ||      |d d f<   t        j                  ||       |j                         }t        j                  t        t              5  ddgddgg ||      |d d f<   d d d        y # 1 sw Y   y xY w)Nr6   r9   r?  r   r   r   r   )	rJ   rv  r"   rp   rA   r%   r&   r   msg1)r(   r  rf  r   rD   r-   s         r.   #test_loc_iloc_setitem_list_of_listszCTestLocILocDataFrameCategorical.test_loc_iloc_setitem_list_of_lists  s     YY[AqkbffS/C #Qx#q2CF
b-0YY[]]9D1 	7$'8c1X"6GBKQ	7 	7 	7s   B44B=c                 h   |j                         }d}|t        j                  t        j                  fv r|j                  d   |j
                  d   f}d ||      |<   t        j                  ||       t        j                  t        t              5  d ||      |<   d d d        y # 1 sw Y   y xY w)N)r6   r   r6   r   r   r   r   )rJ   r"   rp   atr    r=   rA   r%   r&   r   rr  )r(   r  rp  r   rD   r-   s         r.   7test_loc_iloc_at_iat_setitem_single_value_in_categorieszWTestLocILocDataFrameCategorical.test_loc_iloc_at_iat_setitem_single_value_in_categories  s    
 YY[rvvruuo%88A;

1.C C
b"78 ]]9D1 	#"GBK	# 	# 	#s   B((B1c                     |j                         }|j                  dk(  }d}|t        j                  u r|j                  |   }d ||      ||f<   t        j
                  ||       y )Nr?  r   r   )rJ   r    r"   rp   r=   rA   )r(   r  rp  r   rD   r   r-   s          r.   5test_loc_iloc_setitem_mask_single_value_in_categorieszUTestLocILocDataFrameCategorical.test_loc_iloc_setitem_mask_single_value_in_categories  s]    
 YY[xx3bff**S/C!$D#I
b"78rH   c                 B   |j                         }d}|t        j                  u r|j                  d   }ddg ||      |d d f<   t        j                  ||       t        j                  t        t              5  ddg ||      |d d f<   d d d        y # 1 sw Y   y xY w)Nr6   r   r   r   )	rJ   r"   rp   r    rA   r%   r&   r   rr  )r(   r  ra  r   rD   r-   s         r.   2test_loc_iloc_setitem_full_row_non_categorical_rhszRTestLocILocDataFrameCategorical.test_loc_iloc_setitem_full_row_non_categorical_rhs  s    
 YY[bff((1+C  #AhCF
b.1 ]]9D1 	+#&(GBKQ	+ 	+ 	+s   :BBc                 v   |j                         }t        dd      df}|t        j                  u rt        dd      |j                  d   f}t        ddgddg      }| ||      |<   t        j                  ||       t        t        d	      t        d
            }t        j                  t        t              5  | ||      |<   d d d        t        t        d      t        d
            }t        j                  t        t              5  | ||      |<   d d d        y # 1 sw Y   \xY w# 1 sw Y   y xY w)Nr6   r9   r   r?  r   r   r   rS  bbabcr   cc)rJ   rv  r"   rp   r=   r   rA   r  r%   r&   r   msg2)	r(   r  rk  r   rD   r-   compatsemi_compatincompats	            r.   1test_loc_iloc_setitem_partial_col_categorical_rhszQTestLocILocDataFrameCategorical.test_loc_iloc_setitem_partial_col_categorical_rhs   s    YY[Q{Abffc?BJJqM2C c3ZS#J?!C
b"45 "$t*eE]]9D1 	+  +GBK	+ tDzd5kB]]9D1 	('GBK	( 	(	+ 	+	( 	(s   <D#D/#D,/D8c                 b   |j                         }t        dd      df}|t        j                  u rt        dd      |j                  d   f}ddg ||      |<   t        j
                  ||       t        j                  t        t              5  ddg ||      |<   d d d        y # 1 sw Y   y xY w)	Nr6   r9   r   r?  r   r   r   r   )
rJ   rv  r"   rp   r=   rA   r%   r&   r   rr  )r(   r  rk  r   rD   r-   s         r.   )test_loc_iloc_setitem_non_categorical_rhszITestLocILocDataFrameCategorical.test_loc_iloc_setitem_non_categorical_rhs  s    
 YY[Q{Abffc?BJJqM2C  :C
b"45 ]]9D1 	* #SzGBK	* 	* 	*s   B%%B.c                 <   t        dd      j                  t              }t        dg di|      }|j                  j
                  t        k(  sJ |t        j                  u r ||      d   }n ||      d d df   }|j                  j
                  t        k(  sJ y )N2012r7   r-  r   r5   r   )r   rw   rx   r   r    r4   r"   getitem)r(   r   rC   rD   r  s        r.   -test_getitem_preserve_object_index_with_dateszMTestLocILocDataFrameCategorical.test_getitem_preserve_object_index_with_dates1  s     +226:9~S1xx~~'''bjj "+a.C"+ad#Cyy&(((rH   c                     t        dgdggt        j                  ddgdg            }t        dggt        j                  dgdg            }|j                  d   }t	        j
                  ||       y )	Nr   r2   )r   )r   r  r  )rc   r    r   r  )r(   rD   rF   rE   s       r.    test_loc_on_multiindex_one_levelz@TestLocILocDataFrameCategorical.test_loc_on_multiindex_one_level@  ss    #s((&&)9'K
 #j44fXgYO
 
fh/rH   N)r1  r2  r3  r%   fixturer  ra  rf  rk  rp  r4  r5  r"   rp   r   rs  ru  iatrv  rx  rz  r  r  r  r  r  r  rH   r.   rQ  rQ    s   ^^  ^^  ^^  ^^" " ^^% % [[Y(9:7 ;7 [[Y"%%(HI# J#$ [[Y(9:9 ;9 [[Y(9:+ ;+$ [[Y(9:( ;(: [[Y(9:* ;*$ [[YRVVRWW(EF) G)
0rH   rQ  c                      e Zd Zej                  j                  ddhddidhdfddidfddhfdddifg      d        Zej                  j                  ddhddidhdfdfddidfdfddhfdddifg      d        Zej                  j                  ddhddidhdfddidfddhfdddifg      d        Zej                  j                  ddhddidhdfdfddidfdfddhfdddifg      d	        Z	y
)TestDeprecatedIndexersr-   r2   r   c                     t        ddgddggddg      }t        j                  t        d	      5  |j                  |    d d d        y # 1 sw Y   y xY w
Nr2   r6   r7   r9   r   r   r<   as an indexer is not supportedr   r   r%   r&   r   rp   r(   r-   rD   s      r.   $test_getitem_dict_and_set_deprecatedz;TestDeprecatedIndexers.test_getitem_dict_and_set_deprecatedN  sP    
 AA'#s<]]9,LM 	FF3K	 	 	   A

Ar6   r>  c                     t        ddgddggddgt        j                  ddg      	      }t        j                  t
        d
      5  |j                  |    d d d        y # 1 sw Y   y xY wNr2   r6   r7   r9   r   r   r>  r  r   r  r   r   r   r  r%   r&   r   rp   r  s      r.   /test_getitem_dict_and_set_deprecated_multiindexzFTestDeprecatedIndexers.test_getitem_dict_and_set_deprecated_multiindexW  si     VaV#J((&&)9:

 ]]9,LM 	FF3K	 	 	   A  A)c                     t        ddgddggddg      }t        j                  t        d	      5  d|j                  |<   d d d        y # 1 sw Y   y xY wr  r  r  s      r.   $test_setitem_dict_and_set_disallowedz;TestDeprecatedIndexers.test_setitem_dict_and_set_disallowedl  sR    
 AA'#s<]]9,LM 	BFF3K	 	 	r  c                     t        ddgddggddgt        j                  ddg      	      }t        j                  t
        d
      5  d|j                  |<   d d d        y # 1 sw Y   y xY wr  r  r  s      r.   /test_setitem_dict_and_set_disallowed_multiindexzFTestDeprecatedIndexers.test_setitem_dict_and_set_disallowed_multiindexu  sk     VaV#J((&&)9:

 ]]9,LM 	BFF3K	 	 	r  N)
r1  r2  r3  r%   r4  r5  r  r  r  r  r  rH   r.   r  r  M  s   [[aVqc3Z1a&#SE
Qc
OT [[CFc1XsO!fa[#cUOc3Z 	


 [[aVqc3Z1a&#SE
Qc
OT [[CFc1XsO!fa[#cUOc3Z 	


rH   r  c                  6   t        ddgi      } d| j                  | d   dk(  df<   t        dgdgd      }t        j                  | |       t        ddgi      } d }|| j                  | d   dk(  df<   t        dg|gd      }t        j                  | |       y )Nrd  r2   rl   re  ri  c                     | S )Nr  )rd  s    r.   r  z4test_adding_new_conditional_column.<locals>.<lambda>  s    a rH   )r   rp   r"   rA   )rD   rF   values      r.   "test_adding_new_conditional_columnr    s    	C!:	B #BFF2c7a<s#/0H"h'	C!:	BE %BFF2c7a<s%12H"h'rH   )r4   infer_stringFna_valueTc                 :   t        ddgddgd      }t        j                  d|      5  d|j                  |d   dk(  d	f<   d d d        t        ddgddgdt	        d
      gd      j                  dd| d      }t        j                  ||       y # 1 sw Y   QxY w)Nr2   r6   r7   r9   rf  future.infer_stringrl   r   r   r~   r   r   )r   rj  option_contextrp   floatrw   r"   rA   )r4   r  rD   rF   s       r.   .test_adding_new_conditional_column_with_stringr    s     
!Qq!f-	.B			0,	? ($'r#w!|S !(1vQF#uU|9LMNUUG%0H "h'( (s   BBc            	      h   t        ddgi      } t        j                  dd      5  d| j                  | d   dk(  df<   d d d        t        dgt	        dgt        j
                  t        j                              d	t        ddgd
            }t        j                  | |       y # 1 sw Y   lxY w)Nrd  r2   r  Trl   re  r  r3   ri  r   r<   )r   rj  r  rp   r   StringDtyperK   r~   r   r"   rA   )rD   rF   s     r.    test_add_new_column_infer_stringr    s    	C!:	B			0$	7 ($'r#w!|S !(cuBNNBFF,KLMsCj.H "h'( (s   B((B1c            
          e Zd Zd Zddddej
                   ej                  d       ej                  d      gZ	ddg e
dd      g d	 e
d
d
d
      gZej                  j                  de	dd ej                  d       ej                   d      gz         ej                  j                  de      d               Zej                  j                  de	dd ej                   d      gz         ej                  j                  de      d               Zej                  j                  de	dgz         ej                  j                  de      d               Zy
)TestSetitemValidationc                    d}t        j                  |      }|j                         }t        j                  ||      5  ||j
                  |df<   |j                         }d d d        t        j                  ||      5  ||j                  |df<   |j                         }d d d        y # 1 sw Y   KxY w# 1 sw Y   y xY w)Nz3Setting an item of incompatible dtype is deprecatedr   r   r   )rN   rO   rJ   r"   ry   r   rp   )r(   rD   invalidr   warnrd   orig_dfs          r.   _check_setitem_invalidz,TestSetitemValidation._check_setitem_invalid  s    Ciin'') ''C8 	 ")BGGGQJB	 
 ''C8 	 #*BFF7C< B	  	 	  	 
	  	 s   "B+ "B7+B47C y      ?       @Truerl   z1.0rk  r   r2   TFFNr  r   r   c                 V    t        dg did      }| j                  |||t               y )Nr   r  r   r3   r   r  rV  )r(   r  r   rD   s       r.   #test_setitem_validation_scalar_boolz9TestSetitemValidation.test_setitem_validation_scalar_bool  s*    
 12&A##B-HrH   Tr   c                     t        dg di|      }t        |      r*|t        j                  urt	        j
                  |      sd }nt        }| j                  ||||       y )Nr   r5   r3   )r   r   rj  rk  rK   isnatrV  r  )r(   r  any_int_numpy_dtyper   rD   r  s         r.   "test_setitem_validation_scalar_intz8TestSetitemValidation.test_setitem_validation_scalar_int  sQ     Y'/BC=WBFF2288G;LD D##B$?rH   c                 V    t        dg di|      }| j                  |||t               y )Nr   )r2   r6   Nr3   r  )r(   r  float_numpy_dtyper   rD   s        r.   $test_setitem_validation_scalar_floatz:TestSetitemValidation.test_setitem_validation_scalar_float  s*     \*2CD##B-HrH   )r1  r2  r3  r  rj  rk  rK   rl  r  _invalid_scalarsrv  	_indexersr%   r4  r5  r   r   r  r  r  r  rH   r.   r  r    sl    " 	
eu QCq!&:E$d<STI[[#q#xrxx{JBJJqM&JJ [[Y	2I 3I [[Y(8D#zrzzRU;W(WX[[Y	2@ 3 Y@ [[Y(8D6(AB[[Y	2I 3 CIrH   r  )returnN)9collectionsr   r   r   decimalr   rN   numpyrK   r%   pandas._configr   pandas._libsr   pandas.errorsr	   r
   r   pandas.util._test_decoratorsutil_test_decoratorsr6  pandas.core.dtypes.commonr   pandasrj  r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr"   rW  r   r<  rO  rr  r  rQ  r  r  r4  r5  rx   r  r~   r  r  r  r  rH   r.   <module>r     s    "  	   -  
 * ) 0      R
I, I,X0!
 !
H()V QL0 0D; ;|( 			($/((	(4I 4IrH   