
    Owg@                       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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Z.e	j^                  ja                  de1dfdg      dd       Z2d Z3 G d d      Z4y)    )
namedtuple)datetime	timedelta)DecimalN)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/d- Z0d. Z1d/ Z2d0 Z3d1 Z4d2 Z5d3 Z6d4 Z7ej                  j                  d5d6d7g      d8        Z8d9 Z9d: Z:d; Z;d< Z<d= Z=d> Z>d? Z?d@ Z@dA ZAdB ZBdC ZCdD ZDdE ZEdF ZFdG ZGej                  j                  dH      ej                  j                  dIeIj                  eIj                  j                  dJ      eIj                  j                  dK      g      dL               ZLdM ZMdN ZNej                  j                  dOdPdQdRgfdSdTdRgfg      dU        ZOe jB                  dV        ZPdW ZQej                  j                  dXdYdYgeIj                  eIj                  gg      dZ        ZSej                  j                  dXdYeIj                  g      d[        ZTej                  j                  d\eUeVeWj                  g      d]        ZYd^ ZZej                  j                  d_dRgdRg      ej                  j                  d`i dadTig      db               Z[ej                  j                  d`i dcdRig      dd        Z\de Z]df Z^dg Z_ej                  j                  d_d6dhg      ej                  j                  die`djg      dk               Zaej                  j                  dld7d6g      ej                  j                  d_dmdmgg      dn               Zbej                  j                  doecj                  dTfecj                  dpfg      dq        ZfyY)r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         `/var/www/horilla/myenv/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   r1   dtyper1                  columnsr1   r6   r8   r:   Tcheck_exactr   r   r!   assert_frame_equal)r'   any_numeric_dtyper3   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)Nr5   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(   rC   adress        r-   test_getitem2z#TestDataFrameIndexing.test_getitem2E   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 )Nr0   r2   r4   r7   r;   
   r1   )rV   r5   rV   )rV   r9   rV   Tr=   r?   )r'   rA   r3   rB   rC   rE   s         r-   6test_setitem_numeric_should_not_fallback_to_positionalzLTestDataFrameIndexing.test_setitem_numeric_should_not_fallback_to_positionalR   sP    !IU+	9-s;1k;7E
b(=rG   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   r1   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   r6   tt1tt2)r   r<   r3   r1   r5   )r3   name012ri   )	r   ra   intlocr   r   r<   r!   r_   r'   rC   rD   rE   s       r-   test_setitem_list2z(TestDataFrameIndexing.test_setitem_list2n   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0rG   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 )NrV   zItem wrong lengthr   zBoolean array expectedr   r   r<   r;   F)check_dtype)r   astypeobjectr!   r"   r$   r%   r`   r@   r   assert_produces_warningUserWarningreindex_get_numeric_datar   r<   rJ   wherenanr3   )r'   mixed_float_framemixed_int_framedatetime_framedindexerindexer_objsubindexsubframesubframe_objrC   rb   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 )Nr1   rZ   int32E1Fint64F1r   float64r8   r5   )r[   r\   CDrZ   r   r   r   r   r6   )
rI   rv   dtypesr   rJ   r3   r!   r_   ro   r   )r'   r   rC   castedrD   rE   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0rG   lstTFT)TTT)FFFc                     t        t        j                  d      j                  dd            }||   }|j                  |j
                  |      }t        j                  ||       y )N   r6   r8   )r   rJ   arangereshapero   r   r!   r@   )r'   r   rC   rD   rE   s        r-   test_getitem_boolean_listz/TestDataFrameIndexing.test_getitem_boolean_list   sR     ryy},,Q23C66"((3-(
fh/rG   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 )Nr5   r9   r9   )r[   r\   r   r   rZ   r;   r   r1   )	rJ   r   rK   rL   r   rI   r!   assert_almost_equalrQ   )r'   arrrC   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#.rG   c                     t        t        j                  ddg      dgt        g             }t        j                  g t
              }||    d||<   y )Nr   r1   r[   r<   r   )r   rJ   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rG   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 )	Nr5   )r8   r6   )r1   rV   r   rZ   r4   rt   rs   r1   rV   )r   rJ   r   rK   rL   ilocro   r   r!   r@   r   rp   s       r-   test_getitem_ix_mixed_integerz3TestDataFrameIndexing.test_getitem_ix_mixed_integer   s    II!!!$44V<#
 "66"((3B-(
fh/B66%B.)
fh/rG   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	@      @)      $   (   )rV      +   "   )r   rV   r      )rnar     r;   r   r6   r   r1   r   r   r!   r@   rp   s       r-   test_getitem_ix_mixed_integer2z4TestDataFrameIndexing.test_getitem_ix_mixed_integer2  s    +'#%	 ,
 TF771qc6?
fh/UG771qc6?
fh/rG   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(   rc   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foobarr1   rV   r   r9   )r   ra   r   allr'   rC   s     r-   test_setattr_columnz)TestDataFrameIndexing.test_setattr_column  s7    !}E"I6			Q##%%%rG   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[   r5   col5   r   r   ri   col6Fr]   col9r9   col7gQ	@col0rY   col8zC\nA value is trying to be set on a copy of a slice from a DataFramerk   rl   col10r   string)r   rJ   ravelcolumn_stackrQ   r}   r   r   r!   r_   r   rK   rL   r   r$   r%   r
   r3   object_)
r'   r(   using_copy_on_writewarn_copy_on_writeusing_infer_stringr+   expr   smallerrc   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#))X555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   rJ   r}   r   r!   r@   ro   r'   rC   rE   s      r-   test_setitem2z#TestDataFrameIndexing.test_setitem2V  s~    Ax VV
rvvrvv./0
b(+Ax FFq	
b(+rG   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)Nr8   r[   r   rs   r1   r9   r5   r6   z;Must pass DataFrame or 2-d ndarray with boolean values onlyr   rt   )rI   rQ   r!   r   rz   r   rJ   putmaskr$   r%   	TypeErrorabsr}   r   r<   r@   )	r'   r(   rC   rQ   r+   rc   df_origmaskrE   s	            r-   test_setitem_booleanz*TestDataFrameIndexing.test_setitem_booleana  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\   barrY         @	somethingr5   )
rv   r3   rJ   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 ;'--;;;rG   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   r6   r   r\   r5   	beginningr[   rY   rZ   r   r   date      @r1   r   r   r   r   rk   rl   3	coercible)r   rJ   r   r   r<   r   nowr   rQ   r3   r   r   r   r   )r'   r(   r   rC   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??h...e9??bjj000);k?((H444k?((BJJ666rG   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      r5   r   )titlecruftr  r   r   r  )r1   r  )r1   r  )rJ   r   rK   r   r   ro   )r'   rb   rC   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&&&rG   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 )	Nr6   rt   r1   r   )rY   bzrbazr   r5   r   )
r   ra   r   r   rJ   onesr   r<   r3   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 <   |sd nt         j                  }t        j                  |j                  d d df   |d   d       t        j                  |j
                  d d |f   |d   d       t        j                  ||   |d   d       y )Nr[   rs   Fr]   )rJ   r}   r!   r_   r   ro   )r'   r(   r   r,   s       r-   test_setitem_Nonez'TestDataFrameIndexing.test_setitem_None  s    ',D,d"&&
QU#[%55	
 	OOAsF#[%55	
 	{3/S1AuUrG   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   rI   r   ro   r   r   r!   r@   )r'   rC   rD   s      r-   &test_loc_setitem_boolean_mask_allfalsez<TestDataFrameIndexing.test_loc_setitem_boolean_mask_allfalse  s\    !(:AVW
 +188==?

688==?C'(
fb)rG   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 )Nr5   rV   r9      )
r   rJ   r   rK   rL   r   r}   r   rQ   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"))--///rG   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)Nr5   r  r   r   r   r8   rV   r6   r   r:   )r8   r:   r  rV   r9   rs   z^3$r   )r   rJ   r   rK   rL   ra   rI   r   rQ   r   ro   rz   r!   r@   listr$   r%   r&   )r'   rC   cprD   result2rE   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         @r8   )r   r3   rJ   r   rI   shares_memory_valuesr!   assert_cow_warningro   r   r@   )r'   r(   float_string_framer   r   slicedoriginals          r-   test_fancy_getitem_slice_mixedz4TestDataFrameIndexing.test_fancy_getitem_slice_mixedA  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   r9   rV   r   r   )r   ra   r   r   ro   r!   r@   rI   )r'   rC   startendrD   r  rE   s          r-   "test_getitem_setitem_non_ix_labelsz8TestDataFrameIndexing.test_getitem_setitem_non_ix_labelsY  s    uRy
<(LMXXq"g&
sc"U3-a8
fh/
gx0 !

5'')c7792
fh/
gx0rG   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 )Nr5   r6   r5   r   r1   rt   )r   rJ   r   rK   rL   ro   r   rz   r!   r@   r<   )r'   rC   rsxps       r-   test_ix_multi_takez(TestDataFrameIndexing.test_ix_multi_takem  s    ryy,,Q/??GHVVBHHM1$%ZZ_
b"% ryy,,Q/??GHVVBHHM2::?23ZZqcA3Z/
b"%rG   c                     |}|j                   }|j                  D ]-  }||   }|j                  d d d   D ]  }|||f   ||   k(  rJ  / y )Nr9   )ro   r<   r   )r'   r(   fr  coltsrB   s          r-   test_getitem_fancy_scalarz/TestDataFrameIndexing.test_getitem_fancy_scalary  sc    UU 99 	/C3Bwwss| /#s(|r#w.../	/rG   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 )Nr9   r5   )rI   ro   	enumerater<   r   get_locrJ   r   rK   rL   r   r!   r@   )
r'   r(   r6  rE   r  jr7  rB   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	3rG   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;   )FTFTr9   rV   rt      r   r5   r   )ro   rz   r!   r@   r   r<   )r'   r(   r6  r  rE   rD   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/rG   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           rt   r\   r5   )rI   rQ   ro   r   r   r<   r!   r@   )r'   r(   framerE   rQ   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.rG   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)r1   r8   rB  )r5   r   r1   )r   ro   r   r!   r@   r<   )r'   r(   rD   rE   s       r-   test_getitem_fancy_intsz-TestDataFrameIndexing.test_getitem_fancy_ints  s}    !!),??;#4#4Y#?@
fh/!!!Y,/??1k&9&9)&D#DE
fh/rG   c                 <   |d   d d d   dkD  }|j                   |   }|j                   |d d d      }t        j                  ||       |j                         }|j                         }d|j                   |<   d|j                   |<   t        j                  ||       y )Nr[   rs   r1   r   )ro   r!   r@   rI   )r'   r(   r   rD   rE   r  s         r-   'test_getitem_setitem_boolean_misalignedz=TestDataFrameIndexing.test_getitem_setitem_boolean_misaligned  s    3"%)&??4":.
fh/##%tT
b(+rG   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 )	Nr5   r1  r   FTr   r1   r9   )
r   rJ   r   rK   rL   r   ro   r!   r@   rI   )r'   rC   k1k2rD   rE   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(+rG   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   r5   r6   r8   r9   r5   r   r   r   r8   )r   r5   r6   r8   r9   F)check_index_typer"  r   r1   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   rS  r   r   g
ףp=
@)r   r   rJ   r   rK   rL   ro   rz   r!   r@   r   r   rx   FutureWarningr$   r%   r   rI   
_slice_msgrQ   r   )r'   using_array_managerr   rC   rD   rE   rc   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)Nr5   r9   r6   )r   r   r   r   e)rY   r   r  rt   20010102	timestampr   r6   zdatetime64[s])rY   r   r  r\  r   %Setting an item of incompatible dtyper   )r   r\  )r   r\  r   r   )r   rJ   r   rK   rL   r   r   r   r3   r!   r_   rx   rT  r   ro   r   r   r}   r   rp   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  r1   xyi  i  r   r   r   abr:   r   r   r   r   r]  r   )r1   r   rb  rc  r5   r6   r`  z2013-01-01T00:00:00ra  z2014-01-01T00:00:00r8   r9   r   )r   r   r  ra   pdNaTro   r!   rx   rT  rJ   r   
datetime64r@   )r'   rE   rC   r[   s       r-   test_setitem_mixed_datetimez1TestDataFrameIndexing.test_setitem_mixed_datetimea  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 Nr5   r[   r\   )ro   r   rQ   r!   r   r'   r(   piecerD   rE   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0rG   c                 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   r5   r[   r\   rt   )rI   r   r   slicero   r!   r   rQ   r'   r&  r6  rp  r,   s        r-   test_setitem_frame_mixedz.TestDataFrameIndexing.test_setitem_frame_mixed  s     ##%3Z#s$AGGAaL3*
 wwuT1~&c
3c

quuQWWQq\C:%=>EEu||TrG   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   r5   rY   r   r[   r\   rt   )	rI   r   r  r   rs  ro   r!   r   rQ   rt  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	
rG   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 )Nr5   r[   rn  r\   )	rI   ro   r   rs  rJ   r}   r!   r   rQ   rt  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||TrG   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 rm  )rI   ro   r   rs  rQ   r!   r   rt  s        r-    test_setitem_frame_mixed_ndarrayz6TestDataFrameIndexing.test_setitem_frame_mixed_ndarray  s    ##%"&&qwwr{S#J'>?wwuR'#s4\\c

quuQWWRS\C:%=>EEu||TrG   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)r1   r5   rY   )r6   r8   r   r[   r\   r   r;   incompatible dtyper   r[   r\         ?r   )r   rI   r!   rx   rT  ro   rz   r@   )r'   rC   r  rE   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 rm  )ro   r   r<   rQ   r!   r   ro  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0rG   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 )
Nr5   rY  rY   rY   r   r  r   r   rY   r   r8   r  r6   )
r   rJ   r   rK   rL   ro   r!   r@   r   r_   rp   s       r-   "test_getitem_setitem_ix_duplicatesz8TestDataFrameIndexing.test_getitem_setitem_ix_duplicates  s    II!!!$44V<5

 bq6
fh/77Aq6?
fh/771:
vx0rG   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 )	Nr5   rY  r  r   r   r8   r1   r   )	r   rJ   r   rK   rL   ro   r   r!   r@   )r'   rC   rD   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*rG   
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   r4   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&   ro   )r'   r  rC   messagerc   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 )Nr1   rZ   r9   r   gGz?i  r   rf  r   rm   )r   r3   r   rn   rJ   r   ro   r   r   r   r   r!   r_   )r'   r(   rD   rC   rE   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0rG   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   rV   r8   r   r   r5   r   zcallable with ilocr   c                      yN)r    r*   s    r-   <lambda>zMTestDataFrameIndexing.test_iloc_callable_tuple_return_value.<locals>.<lambda>      rG   r1   c                      yr  r  r  s    r-   r  zMTestDataFrameIndexing.test_iloc_callable_tuple_return_value.<locals>.<lambda>  r  rG   )	r   rJ   r   r   ra   r!   rx   rT  r   )r'   rC   rc   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 )Nr5   rV   r8   r   r   r   r1   r8   r  ra  r1   r5   r8   r:   )r   rJ   r   rK   rL   ra   r   ro   r!   r_   rs  r@   rz   r   r'   rC   rD   r   rE   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/rG   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)	Nr5   r  r   r   r   r8   r  rF  )r   rJ   r   rK   rL   ra   rI   r   rs  r#  r!   r%  ro   r$  r_   )r'   r   r   rC   r(  subsetexp_cols          r-   test_iloc_row_slice_viewz.TestDataFrameIndexing.test_iloc_row_slice_view-  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 )Nr5   r8   rV   r   r   r;   r1   r8   r  ra  r  )r   rJ   r   rK   rL   ra   r   ro   r!   r_   rs  r@   rz   r<   r  s        r-   test_iloc_colz#TestDataFrameIndexing.test_iloc_colC  s   II!!!$44W=uQPRTU
 AffQTl
vs+AffQTl
vs+ E!QK(66!QrT'?
fh/ L)::bjj&>:?
fh/rG   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)	Nr5   r  r   r   r;   r8   r  rF  )r   rJ   r   rK   rL   ra   rI   r   rs  r#  r$  r!   r%  ro   r   r@   )r'   rV  r   r   rC   r(  r  s          r-   test_iloc_col_slice_viewz.TestDataFrameIndexing.test_iloc_col_slice_viewZ  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  r1   )yearmonthdayr9   )r-  r.  )ro   itemr   r[   r\   rt   )FFFFFTr:   )r   r   r   r   r:   r:   )r   r   r   r   r   r   r[   r\   r   )	r   r   insertr   rJ   r   ro   r!   r@   )r'   trangerC   bool_idxrE   s        r-   test_loc_duplicatesz)TestDataFrameIndexing.test_loc_duplicatesx  s     QA6t1!4

 19$aQ+OPqc
;88EF )*vh$%$+=>f
 	b(+ qc
;
vh$%*%
b(+rG   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-01r6   utc)r,  tzdatesrm   )r1   r   r5   )r   r1   r5   )r   r   r   r!   r_   ro   )r'   columnrC   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3rG   c                 ,   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        d            }t        j                  ||       y )Nr1   )hours20130101r8   r+  r   m8[ns]r2   r[   r5   r\   r6   r   r   r9   rZ   ri  r   r:   rs   r!  GHztimedelta64[ns]zdatetime64[ns]ABCDEFGH)r   r   r   rJ   r   ro   r   timedelta64rj  r   r   r3   r  r!   r_   )r'   one_hourrC   rD   rE   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"
 	vx0rG   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   r1   )r   r1   r5   r6   r8   rc  g333333?)r   r1   )r  r1   )r  r1   )r  r8   testrY   z1not supported between instances|unorderable typesr   )
r   rJ   r}   rI   ro   r!   r@   r$   r%   r   )r'   rC   r  rE   rc   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	A]]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)Nrb  rc  r   r1   r   names)r1   r1   r5   r5   )r6   r6   r8   r8   r>  rm   r   rs  r   r5   )levelscodesr  r6   r8   )rb  r   r   )r   from_productr   r   r$   r%   r   ra   ro   rs  r!   r@   r   r_   )r'   midgr   r<   rE   rD   ri   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r6   r8   r9   r;   r   r  )r   rJ   r  rh  IntervalIndexfrom_breaksr   r   r!   r_   ro   )r'   rC   rE   rS   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-rG   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<   r3   )r5   )r5   r5   rd  r   )r   rw   rJ   zerosro   r!   r@   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(+rG   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[   r4   Int64r2   rs   )r   rI   rQ   ro   r!   r@   rh  corearraysNumpyExtensionArrayr   )r'   rC   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$'rG   c                     t        t        j                  dt                    }t        j                  |d         |d<   |dg    y )Nr1   r1   r2   r   )r   rJ   r   rw   
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rG   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[   r4   r2   |)z@timedelta64\[ns\] cannot be converted to (Floating|Integer)Dtypez?datetime64\[ns\] cannot be converted to (Floating|Integer)Dtypez 'values' contains non-numeric NAz1Invalid value '.*' for dtype (U?Int|Float)\d{1,2}r   r   r5   r   r   r\   )r   rI   r$  joinr$   r%   r   r   )r'   r  any_numeric_ea_dtyperC   serr   rc   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   rm   r   r1   r   r   )r   r   ro   r!   r@   r   s      r-   +test_loc_expand_empty_frame_keep_index_namezATestDataFrameIndexing.test_loc_expand_empty_frame_keep_index_name[  sO    uE"3,?@q	cA3ZuaSs/CD
b(+rG   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   rY   r4   r   r   r   from_tuplesro   r!   r@   r   s      r-   +test_loc_expand_empty_frame_keep_midx_nameszATestDataFrameIndexing.test_loc_expand_empty_frame_keep_midx_namesb  sg    E!7!7/!R
 "y5'N(()OL
 	b(+rG   z	val, idxr)rb  r   rb  r   )r1   r   r1   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   r1   r5   r]  r   r   r   )r   r!   rx   rT  ro   rJ   r}   r@   )r'   idxrr?  rC   rE   s        r-   test_loc_setitem_rhs_framez0TestDataFrameIndexing.test_loc_setitem_rhs_framen  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;   r1   r5   r2   r   )r   rI   rJ   r   r   r   r!   r@   )r'   r   rC   rE   views        r-   $test_iloc_setitem_enlarge_no_warningz:TestDataFrameIndexing.test_iloc_setitem_enlarge_no_warning  sZ     Sz*779!u!Qrzz:1
dH-rG   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 )NTr1   r   )bool_colr   r   r5   idx1idx2r  r   r  r6   r   r   r   r   r   r   )r   r   from_arraysro   r   r!   r_   )r'   rC   rB   rD   rE   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0rG   r?  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   r   r2   r   r   r   r   r   rh  NAr!   r@   r'   r?  rC   rE   s       r-    test_iloc_setitem_string_list_naz6TestDataFrameIndexing.test_iloc_setitem_string_list_na  sT     _-X>QcBEE3#45XF
b(+rG   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(+rG   funcc                     t        dg did      }d|j                  d d  |dg      f<   t        dg did      }t        j                  ||       y )Nr   r4   r  r2   r9   r   )r9   r9   r9   r   )r'   r  rC   rE   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(+rG   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  ro   r  r!   r@   )r'   rC   indexer_tupler  rD   rE   s         r-   test_loc_named_tuple_for_midxz3TestDataFrameIndexing.test_loc_named_tuple_for_midx  s    ))s_-gx5H

 #9bhhnn=3Sz:a((Z((0C

 	fh/rG   r   r7  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-30r1   )daysz
2022-12-31)r   r   rh  	Timedeltaro   r!   r@   )r'   r7  r   rC   rE   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(+rG   ri   c                     d}t        i |t        |      t        |      d      }|j                         }|ddg   |j                  |dgz  ddgf<   t	        j
                  ||       y )Nr   rg  rb  rc  T)r   ra   rI   ro   r!   r@   )r'   r7  nrC   rE   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(+rG   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   rI   r!   rx   ro   r@   )r'   rC   rE   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   r1   r5   r6   r8   r9   r:   rB  r  	   r   r1   r  r2   r9   r:   r   )r   r   r   r!   r@   rQ   )r'   rC   r   row_indexerrD   rE   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/rG   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  r2   zcannot convertr   )	r   r   rh  r  r$   r%   r`   r   rQ   )r'   rC   r   rc   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?)Tr3   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)TTFFr2   )TFTFr   r   r  r   )r1   r5   r6   r8   r   r1   r5   TF)ri   r3   )r   r  r   r   r!   maybe_produces_warningr	   
isinstancetuplero   r   r@   )r'   r3   r   midxrC   rD   rE   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  r1   r   r   )r  TF)r   update)deepr'  r   )r   r   r   rI   ro   r!   r@   )r'   r  r   rC   rE   	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(+rG   zindexer, idxr5   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 )Nrk   rl   r   r2   r1   r5   )r   rJ   r}   rw   r!   r@   )r'   r   rB   rC   r  rE   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(+rG   )g__name__
__module____qualname__r.   rF   rT   rW   re   rq   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)  r/  r4  r9  r@  rD  rH  rJ  rL  rP  rW  r^  rk  rq  ru  rw  ry  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  filterwarningsrh  ri  to_numpyr  r  r  r  r  r  r  r  r  r  r   rJ   r   r  r  r  r  r  r  r  r   r%  r*  r!   ro   r   r,  r  rG   r-   r   r   *   s   ""B4>&&197v 1D [[#%79NO00/00$)&16f	,2,h<:.7`'-*
V*0: ''9 (9.1(
&/ ''3 (3 0. ''/ (/(0,,W*r .D,@1
U
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,rG   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)Nr6   )l            l           l   
        r  r2   r[   rY   r   rm   r   r~  r   r  r1   r5   r\   r   uint64Or}  r   )r   rJ   r   r:  renamer<   r!   r_   r   rI   rx   rT  rh  ri  r   r   r   r3   )r'   rC   rB   r  rD   s        r-   r   z(TestDataFrameIndexingUInt64.test_setitem2  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)r-  r.  r/  r   r  rG   r-   r7  r7  1  s     
rG   r7  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 )Nr1   r5   2000r+  z1 Dayr}  r   )axisr  r  r  )r   r   rh  timedelta_rangero   r"  rQ   r   r  r   xs_mgr_rebuild_blknos_and_blklocsfast_xsr   blocksblknosr3   iget)rV  rC   r  mgrr   blkr?  s          r-   /test_object_casting_indexing_wraps_datetimelikerJ  U  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<<(((rG   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  r1   r1   r1   r1   r1   r1   r1   catsrQ   r   r   r   r   )r'   rV  rB   rQ   r  s        r-   r  z$TestLocILocDataFrameCategorical.orig  s:    >CQT:V78&$&9ErG   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   rN  rP  )r1   r1   r5   r1   r1   r1   r1   rU  r   rW  )r'   cats1r  values1exp_single_rows        r-   r\  z.TestLocILocDataFrameCategorical.exp_single_row  s=     ?SRUJW89'"EW#ETRrG   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   rN  rP  )r1   r1   r5   r5   r1   r1   r1   rU  r   rW  )r'   cats2r  values2exp_multi_rows        r-   ra  z-TestLocILocDataFrameCategorical.exp_multi_row  s=     ?SRUJW89'!5G"DDQrG   c                 j    t        g dddg      }t        g d      }g d}t        ||d|      }|S )	Nr^  r   r   rN  rP  rT  rU  r   rW  )r'   cats3idx3values3exp_parts_cats_cols        r-   rf  z2TestLocILocDataFrameCategorical.exp_parts_cats_col  s?     ?SRUJW89'&'IQUV!!rG   c                 j    t        g dddg      }t        g d      }g d}t        ||d|      }|S )	NrY  r   r   rN  rP  rT  rU  r   rW  )r'   cats4idx4values4exp_single_cats_values        r-   rk  z5TestLocILocDataFrameCategorical.exp_single_cats_value  sC     ?SRUJW89' )g.d!
 %$rG   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)Nr5   r8   r=  r   r   r   r   )	rI   rs  r!   ro   r@   r$   r%   r   msg1)r'   r  ra  r   rC   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)r5   r   r5   r   r   r   r   )rI   r!   ro   atr   r<   r@   r$   r%   r   rm  )r'   r  rk  r   rC   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   )rI   r   r!   ro   r<   r@   )r'   r  rk  r   rC   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8rG   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)Nr5   r   r   r   )	rI   r!   ro   r   r@   r$   r%   r   rm  )r'   r  r\  r   rC   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)Nr5   r8   r   r=  r   r   r   rN  bbabcr   cc)rI   rs  r!   ro   r<   r   r@   r  r$   r%   r   msg2)	r'   r  rf  r   rC   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)	Nr5   r8   r   r=  r   r   r   r   )
rI   rs  r!   ro   r<   r@   r$   r%   r   rm  )r'   r  rf  r   rC   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2012r6   r+  r   r4   r   )r   rv   rw   r   r   r3   r!   getitem)r'   r   rB   rC   r  s        r-   -test_getitem_preserve_object_index_with_dateszMTestLocILocDataFrameCategorical.test_getitem_preserve_object_index_with_dates*  s     +226:9~S1xx~~'''bjj "+a.C"+ad#Cyy&(((rG   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   r1   )r   )r   r  r  )rb   r   r   r  )r'   rC   rE   rD   s       r-    test_loc_on_multiindex_one_levelz@TestLocILocDataFrameCategorical.test_loc_on_multiindex_one_level9  ss    #s((&&)9'K
 #j44fXgYO
 
fh/rG   N)r-  r.  r/  r$   fixturer  r\  ra  rf  rk  r0  r1  r!   ro   r   rn  rp  iatrq  rs  ru  r~  r  r  r  r  r  rG   r-   rL  rL    s   ^^  ^^  ^^  ^^" " ^^% % [[Y(9:7 ;7 [[Y"%%(HI# J#$ [[Y(9:9 ;9 [[Y(9:+ ;+$ [[Y(9:( ;(: [[Y(9:* ;*$ [[YRVVRWW(EF) G)
0rG   rL  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,   r1   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
Nr1   r5   r6   r8   r   r   r;   as an indexer is not supportedr   r   r$   r%   r   ro   r'   r,   rC   s      r-   $test_getitem_dict_and_set_deprecatedz;TestDeprecatedIndexers.test_getitem_dict_and_set_deprecatedG  sP    
 AA'#s<]]9,LM 	FF3K	 	 	   A

Ar5   r9  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Nr1   r5   r6   r8   r   r   r9  r  r   r  r   r   r   r  r$   r%   r   ro   r  s      r-   /test_getitem_dict_and_set_deprecated_multiindexzFTestDeprecatedIndexers.test_getitem_dict_and_set_deprecated_multiindexP  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_disallowede  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_multiindexn  sk     VaV#J((&&)9:

 ]]9,LM 	BFF3K	 	 	r  N)
r-  r.  r/  r$   r0  r1  r  r  r  r  r  rG   r-   r  r  F  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 	


rG   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 )Nrb  r1   rk   rc  rg  c                     | S )Nr  )rb  s    r-   r  z4test_adding_new_conditional_column.<locals>.<lambda>  s    a rG   )r   ro   r!   r@   )rC   rE   values      r-   "test_adding_new_conditional_columnr    s    	C!:	B #BFF2c7a<s#/0H"h'	C!:	BE %BFF2c7a<s%12H"h'rG   )r3   infer_stringF)string[pyarrow_numpy]Tc                 d   t        j                  d       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)Npyarrowr1   r5   r6   r8   rd  future.infer_stringrk   r   r   r}   r   r   )
r$   importorskipr   rh  option_contextro   floatrv   r!   r@   )r3   r  rC   rE   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                  V   t        j                  d       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d	      d
t        ddgt        	            }t        j                  | |       y # 1 sw Y   NxY w)Nr  rb  r1   r  Trk   rc  r  r2   rg  r;   )r$   r  r   rh  r  ro   r   r   rw   r!   r@   )rC   rE   s     r-    test_add_new_column_infer_stringr    s    
	"	C!:	B			0$	7 ($'r#w!|S !(cu,CDEsCj/H "h'( (s   BB(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   )rM   rN   rI   r!   rx   r   ro   )r'   rC   invalidr   warnrc   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      ?       @Truerk   z1.0ri  r   r1   TFFNr  r   r   c                 V    t        dg did      }| j                  |||t               y )Nr   r  r   r2   r   r  rT  )r'   r  r   rC   s       r-   #test_setitem_validation_scalar_boolz9TestSetitemValidation.test_setitem_validation_scalar_bool  s*    
 12&A##B-HrG   Tr   c                     t        dg di|      }t        |      r*|t        j                  urt	        j
                  |      sd }nt        }| j                  ||||       y )Nr   r4   r2   )r   r   rh  ri  rJ   isnatrT  r  )r'   r  any_int_numpy_dtyper   rC   r  s         r-   "test_setitem_validation_scalar_intz8TestSetitemValidation.test_setitem_validation_scalar_int  sQ     Y'/BC=WBFF2288G;LD D##B$?rG   c                 V    t        dg di|      }| j                  |||t               y )Nr   )r1   r5   Nr2   r  )r'   r  float_numpy_dtyper   rC   s        r-   $test_setitem_validation_scalar_floatz:TestSetitemValidation.test_setitem_validation_scalar_float  s*     \*2CD##B-HrG   )r-  r.  r/  r  rh  ri  rJ   rj  r  _invalid_scalarsrs  	_indexersr$   r0  r1  r   r   r  r  r  r  rG   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rG   r  )returnN)5collectionsr   r   r   decimalr   rM   numpyrJ   r$   pandas._libsr   pandas.errorsr   r	   r
   pandas.util._test_decoratorsutil_test_decoratorsr2  pandas.core.dtypes.commonr   pandasrh  r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr!   rU  r   r7  rJ  rm  rz  rL  r  r  r0  r1  rw   r  r  r  r  rG   r-   <module>r     s    "  	    
 * ) 0      R
D, D,N0!
 !
H()V QL0 0D; ;|( 	'
(
(
(4I 4IrG   