
    [6g@                       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/        0                    de1dfdg          dd            Z2d Z3 G d d          Z4dS )    )
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                            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 j!        d             Z"d  Z#d! Z$d" Z%e j!        d#             Z&d$ Z'e j!        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                            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        H                    dH          ej                            dIeIjJ        eIjJ        K                    dJ          eIjJ        K                    dK          g          dL                         ZLdM ZMdN ZNej                            dOdPdQdRgfdSdTdRgfg          dU             ZOe j!        dV             ZPdW ZQej                            dXdYdYgeIjR        eIjR        gg          dZ             ZSej                            dXdYeIjR        g          d[             ZTej                            d\eUeVeWjX        g          d]             ZYd^ ZZej                            d_dRgdRg          ej                            d`i dadTig          db                         Z[ej                            d`i dcdRig          dd             Z\de Z]df Z^dg Z_ej                            d_d6dhg          ej                            die`djg          dk                         Zaej                            dld7d6g          ej                            d_dmdmgg          dn                         Zbej                            doecjd        dTfecje        dpfg          dq             ZfdYS )rTestDataFrameIndexingc                    |d d         }t          |j                  dk    sJ |                                D ]>\  }}t          |j                  dk    sJ t          j        |j        |j                   ?|j                                        D ]\  }}||         J d|vsJ t          j        t          d          5  |d          d d d            d S # 1 swxY w Y   d S )N   randommatch)	lenindexitemstmassert_index_equal_seriespytestraisesKeyError)selffloat_framesl_serieskeys         h/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/pandas/tests/frame/indexing/test_indexing.pytest_getitemz"TestDataFrameIndexing.test_getitem+   sF   "28}}""""  	: 	:IAvv|$$****!&,9999!)//11 	0 	0FCs#////{****]88444 	" 	"!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"s   	C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
           d S )N   r   r2   dtyper2                  columnsr2   r7   r9   r;   Tcheck_exactr   r   r"   assert_frame_equal)r(   any_numeric_dtyper4   idxdfresultexpecteds          r.   6test_getitem_numeric_should_not_fallback_to_positionalzLTestDataFrameIndexing.test_getitem_numeric_should_not_fallback_to_positional<   s    !IIIU+++			999-s;;;Aq!fq!f-uaV57Q7Q7QRRR
fhDAAAAAA    c                 2   |                                 }t          j                            d                              t          |                    |d<   t          j                            d                              t          |                    }||d<   t          j        t          t          j
        d                    5  |                    d           d d d            n# 1 swxY w Y   |d         }t          j        ||j                   d S )Nr6   z$10z@awesome_domainz'df["$10"]'r   z	df["$10"])copynpr   default_rngstandard_normalr   r%   r&   r'   reescape__getitem__r"   assert_numpy_array_equalvalues)r(   r)   rD   adress        r.   test_getitem2z#TestDataFrameIndexing.test_getitem2E   s"   I))!,,<<SWWEE5	Y""1%%55c"gg>> "]829_+E+EFFF 	( 	(NN;'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( "#
#B
33333s   C**C.1C.c                     |}t          g d|          }t          g dg dg|          }d|d<   t          g dg d	g|          }t          j        ||d
           d S )Nr1   r3   r5   r8   r<   
   r2   )rW   r6   rW   )rW   r:   rW   Tr>   r@   )r(   rB   r4   rC   rD   rF   s         r.   6test_setitem_numeric_should_not_fallback_to_positionalzLTestDataFrameIndexing.test_setitem_numeric_should_not_fallback_to_positionalR   s    !IIIU+++			999-s;;;1kkk;;;7EEE
b(======rH   c                 D   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            n# 1 swxY w Y   t          t          |j                  d	z
            }d
t          |           dt          |           d}t          j        t          |          5  ||d<   d d d            d S # 1 swxY w Y   d S )NfooEABFcheck_namesz"Columns must be same length as keyr   r2   zLength of values \(z$\) does not match length of index \(z\))r"   assert_series_equalr%   r&   
ValueErrorranger   r    )r(   r)   datamsgnewcolumndatas        r.   test_setitem_listz'TestDataFrameIndexing.test_setitem_list[   s    CC:&"&S#J
{3/cNNNN
{3/cNNNN2]:S111 	2 	2%sCj1D#K	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2c$*oo122?3}#5#5 ? ?14T? ? ? 	 ]:S111 	& 	&%DI	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&s$   :BBBDDD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        ||           d S )Nr   r7   tt1tt2)r    r=   r4   r2   r6   )r4   name012rj   )	r   rb   intlocr    r   r=   r"   r`   r(   rD   rE   rF   s       r.   test_setitem_list2z(TestDataFrameIndexing.test_setitem_list2n   s   qa5%.LLL%&Fq5%. !eU^341a&"*Ca@@@
vx000 ##5	BuI/2Cjrx{UEN*+eU^343*bjq999
vx00000rH   c                    |j         d         }|j         |k    }|                    t                    }|j         |         }||         }t          j        ||j                    t          j        t          d          5  ||d d                   d d d            n# 1 swxY w Y   ||         }	t          j        |	|           t          j        t          d          5  ||          d d d            n# 1 swxY w Y   t          ||j                   }||         }	t          j        |	|           t          j
        t                    5  |                    |j         d d d                   }||         }	t          j        |	|           d d d            n# 1 swxY w Y   |||fD ]}
|
                                |
|
dk             }t          fdj        D             j         j                  }|
j        D ]}||vr|
|         ||<   |                    |
j        	          }t          j        ||d
           |
j        D ]<}||         j        ||         j        k    r||         j        |
|         j        k    sJ =d S )NrW   zItem wrong lengthr   zBoolean array expectedr   c                 r    i | ]3}|t          j        |         d k    |         t           j                  4S r   )rK   wherenan).0crc   s     r.   
<dictcomp>z>TestDataFrameIndexing.test_getitem_boolean.<locals>.<dictcomp>   s7    QQQqBHT!Wq[$q'26::QQQrH   r    r=   r<   F)check_dtype)r    astypeobjectr"   r#   r%   r&   ra   rA   r   assert_produces_warningUserWarningreindex_get_numeric_datar   r=   r4   )r(   mixed_float_framemixed_int_framedatetime_framedindexerindexer_objsubindexsubframesubframe_objrD   bifbifwrz   rc   s                 @r.   test_getitem_booleanz*TestDataFrameIndexing.test_getitem_boolean|   sc    $ &*nnV,,!'0!'*
h777]:-@AAA 	) 	)73B3<((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) &k2
lH555]:-EFFF 	+ 	+>**	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ [.*>??%k2
lH555 '44 	: 	:%--n.B44R4.HIIK)+6L!,999	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 
 	7 	7B
 ''))DR!V*CQQQQDLQQQj  D Z $ $D== eDG<<
<33D!#t????Z 7 7q6<47=00q6<2a5;66667)	7 	7s7   >BB"B	C33C7:C7	AFFFc                    |                                 }d|d<   |d                             d          |d<   |d                                          |d<   d|d<   |d                             d          |d<   |d                                          |d<   ||dk             }|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k             }|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        ||           d S )Nr2   r[   int32E1Fint64F1r   float64r9   r6   )r\   r]   CDr[   r   r   r   r    r7   )
rJ   r~   dtypesr   rK   r4   r"   r`   rp   r    )r(   r   rD   castedrE   rF   s         r.   test_getitem_boolean_castingz2TestDataFrameIndexing.test_getitem_boolean_casting   s     ""3S'..))3c7<<>>43S'..))3c7<<>>4BFXi  !A%x  !A%&x  !A%& =<<	
 
 
 	vx000 /0rx!}tTl*+BFXi  !A%x  !"x	""#$ x  !" x	""#	$
 =<<
 
 
 	vx00000rH   lstTFT)TTT)FFFc                     t          t          j        d                              dd                    }||         }|j        |j        |                  }t          j        ||           d S )N   r7   r9   )r   rK   arangereshaperp   r    r"   rA   )r(   r   rD   rE   rF   s        r.   test_getitem_boolean_listz/TestDataFrameIndexing.test_getitem_boolean_list   s]     ry}},,Q2233C6"(3-(
fh/////rH   c                 8   t           j                            d                              d          }t	          |                                g d          }||dk     xx         dz  cc<   ||dk     xx         dz  cc<   t          j        |j        |           d S )Nr6   r:   r:   )r\   r]   r   r   r[   r<   r   r2   )	rK   r   rL   rM   r   rJ   r"   assert_almost_equalrR   )r(   arrrD   s      r.   test_getitem_boolean_iaddz/TestDataFrameIndexing.test_getitem_boolean_iadd   s    i##A&&66v>>sxxzz+D+D+DEEE
26


a


C!G
ry#.....rH   c                     t          t          j        ddg          dgt          g                     }t          j        g t
                    }||          d||<   d S )Nr   r2   r\   r=   r    )r   rK   emptyr   arraybool)r(   blahks      r.   test_boolean_index_empty_cornerz5TestDataFrameIndexing.test_boolean_index_empty_corner   sW    1a&))C5b@Q@QRRR HRQQrH   c                    t          t          j                            d                              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	        ||           d S )	Nr6   )r9   r7   )r2   rW   r   r[   r5   r|   rt   r2   rW   )r   rK   r   rL   rM   ilocrp   r    r"   rA   r   rq   s       r.   test_getitem_ix_mixed_integerz3TestDataFrameIndexing.test_getitem_ix_mixed_integer   s    I!!!$$44V<<###II
 
 
 "6"(3B3-(
fh///B6%B..)
fh/////rH   c                    t          dg dg dg ddg d          }|dg         }|j        d d dgf         }t          j        ||           |d	g         }|j        d d d
gf         }t          j        ||           d S )N)      ?g@g	@      @)      $   (   )rW      +   "   )r   rW   r      )rnar     r<   r   r7   r   r2   r   r   r"   rA   rq   s       r.   test_getitem_ix_mixed_integer2z4TestDataFrameIndexing.test_getitem_ix_mixed_integer2  s    +'''###%oo	  ,++
 
 
 TF7111qc6?
fh///UG7111qc6?
fh/////rH   c                     t          j        |j        |d                    d}t          j        t
          |          5  |j         d d d            d S # 1 swxY w Y   d S )Nr\   z6'DataFrame' object has no attribute 'NONEXISTENT_NAME'r   )r"   r`   r\   r%   r&   AttributeErrorNONEXISTENT_NAME)r(   r)   rd   s      r.   test_getattrz"TestDataFrameIndexing.test_getattr  s    
{}k#.>???F]>555 	) 	)((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)s   AAAc                     t          ddit          d                    }d|_        |j        dk                                    sJ d S )Nfoobarr2   rW   r   r:   )r   rb   r   allr(   rD   s     r.   test_setattr_columnz)TestDataFrameIndexing.test_setattr_column  sI    !}E"II666		Q##%%%%%%%rH   c                    |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
                            d                              t          |                    }||d
<   |d
         |k                                    sJ d|d<   |d         dk                                    sJ d|d<   |d         dk                                    sJ d|d<   |d         dk                                    sJ |d d         }d}	|s|rddg|d<   n:t          j        t           |	          5  ddg|d<   d d d            n# 1 swxY w Y   |r|d         j        dk    sJ n|d         j        t          j        k    sJ |d         ddgk                                    sJ d S )Nr\   r6   col5   r   r    rj   col6Fr^   col9r:   col7gQ	@col0rZ   col8zC\nA value is trying to be set on a copy of a slice from a DataFramerl   rm   col10r   string)r   rK   ravelcolumn_stackrR   rx   r   r    r"   r`   r   rL   rM   r   r%   r&   r   r4   object_)
r(   r)   using_copy_on_writewarn_copy_on_writeusing_infer_stringr,   expr   smallerrd   s
             r.   test_setitemz"TestDataFrameIndexing.test_setitem#  s    S!##A#&$F$$$$6{{b    ;2%%%%hrx"}'EFFGGS 1???
{62C888S!$F
v{6':NNNN i##A&&66s;7G7GHH!FF#s*//11111FF#q(--/////"FF#t+0022222#FF#u,1133333 bqb/T 	."4 	. #SzGG33??? . .$': . . . . . . . . . . . . . . .  	87#)X555557#)RZ7777 S#J.335555555s   $G88G<?G<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        ||           d S )Nr   )r   rK   rx   r   r"   rA   rp   r(   rD   rF   s      r.   test_setitem2z#TestDataFrameIndexing.test_setitem2V  s    Ax  V
rvrv./00
b(+++Ax  Fq	
b(+++++rH   c                    |                                 }|j                                         }d||d         dk    <   d||d d df         dk    <   t          j        |j        |           |d         dk    }|                    |j        d d d                   }d||<   d||d d df         dk    <   t          j        |j        |           d||dk    <   d||dk    <   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            n# 1 swxY w Y   |                                 }|t          j        |          k    }t          j        ||t          j        |          k    <   |j                                         }t          j        ||j        <   t          ||j        |j                  }t          j        ||           |dz  ||t          j        |          k    <   t          j        ||j        |j        dz             t          ||j        |j                  }t          j        ||           d S )Nr9   r\   r   rt   r2   r:   r6   r7   z;Must pass DataFrame or 2-d ndarray with boolean values onlyr   r|   )rJ   rR   r"   r   r   r    rK   putmaskr%   r&   	TypeErrorabsrx   r   r=   rA   )	r(   r)   rD   rR   r,   rd   df_origmaskrF   s	            r.   test_setitem_booleanz*TestDataFrameIndexing.test_setitem_booleana  s'   #((**2c7Q;#$vaaad|a 
ry&111 CA2//6
$%vaaad|q !
ry&11126
vz
ry&11127v{
ry&111 2crc7Q;

6#2#;ssa333
ry&111 2ddd8q=v{
ry&111K]9C000 	 	BrAvJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ''))BF2JJ f2r

?$$&& ft{V7='/RRR
b(+++ !1f2r

?

64;	A666V7='/RRR
b(+++++s   
	GG#&G#c                    |d                              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 d S )
Nr   i8r   r]   barrZ         @	somethingr6   )
r~   r4   rK   r   r   r   
issubclasstypeintegerr   )r(   r)   s     r.   test_setitem_castz'TestDataFrameIndexing.test_setitem_cast  su   &s+22488C3%1111
 C3%1111 9S%5%566C+c*05rzBBBBB"EE5!'283333"E E5!'2:5555#$K ;'-9999#$K ;'-9999#&K ;'-;;;;;;rH   c                    t          g dg ddt          j        d                    }|d= g d|d<   d|v sJ t          |j                  dk    sJ d|d	<   d
|d<   d|d<   d|t          j                    <   d|t          j                    <   t          |j                  }d
|d	<   d|d<   t          |j                  dk    sJ |j        j	        t          j
        k    sJ d|d<   |d         j	        t          j        k    sJ d|d<   |d         j	        t          j        k    sJ d|d	<   d|d	         j        d         k    sJ t          t          j        d                    }d|d	<   d|d
<   |d
= d|d
<   |r|d
         j	        dk    sJ n|d
         j	        t          j
        k    sJ g d|d<   |r|d         j	        dk    sJ d S |d         j	        t          j
        k    sJ d S )N)      ?       @      @abrz   )r]   r   r7   r   r]   r6   	beginningr\   rZ   r[   r   r   date      @r2   r   r   r   r   rl   rm   3	coercible)r   rK   r   r   r=   r   nowr    rR   r4   r   r   r   r   )r(   r)   r   rD   dms        r.   test_setitem_cornerz)TestDataFrameIndexing.test_setitem_corner  s-   ___???CC29UV<<XXXsG!//3byyyy2:!####333#8<>> 8<>> [.///332:!####y"*,,,, 3#w}((((3#w}
**** 33Q''''RYq\\***35	uI5	 	1e9?h.....e9?bj0000)//; 	7k?(H444444k?(BJ666666rH   c                 N   g ddgdz  z   t           j                            d                              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 d S )N)r   r   r   r      r6   r   )titlecruftr  r   r   r  )r2   r  )r2   r  )rK   r   rL   r   r    rp   )r(   rc   rD   ixs       r.   test_setitem_corner2z*TestDataFrameIndexing.test_setitem_corner2  s    000H:?BY**1--44R88
 

 t__7u$%+ (rG9} !rG9}vj!X----vj!Q&&&&&&rH   c                 L   t          t          d          t          d                    }t          d t          d          D             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 d S |d         j        t          j        k    sJ d S )
Nr7   r|   c                 ,    g | ]}t          d           S )r2   r   )ry   r+   s     r.   
<listcomp>z<TestDataFrameIndexing.test_setitem_ambig.<locals>.<listcomp>  s    "@"@"@!71::"@"@"@rH   r   )rZ   bzrbazr   r2   r6   r   )	r   rb   r   rK   onesr   r=   r4   r   )r(   r   r  coercable_seriesuncoercable_seriess        r.   test_setitem_ambigz(TestDataFrameIndexing.test_setitem_ambig  s"    U1XXuQxx888!"@"@uQxx"@"@"@aQQQ#$9$9$9qJJJ

12:!#### 12:!####"12:!#### 	-a5;(******a5;"*,,,,,,rH   c                 2   |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           d S )Nr\   rt   Fr^   )rK   rx   r"   r`   r   rp   )r(   r)   r   r-   s       r.   test_setitem_Nonez'TestDataFrameIndexing.test_setitem_None  s    ',D,8dd"&
QQQU#[%55	
 	
 	
 	
 	OAAAsF#[%55	
 	
 	
 	
 	{3/S1AuUUUUUUrH   c                     t          g dg dg dd          }|                                }|j                                        |j        |j                                        df<   t          j        ||           d S )Nr   )112233)111222333r   r   )r   rJ   r   rp   r   r   r"   rA   )r(   rD   rE   s      r.   &test_loc_setitem_boolean_mask_allfalsez<TestDataFrameIndexing.test_loc_setitem_boolean_mask_allfalse  s}    !//(:(:(:AVAVAVWW
 
 +18==??
68==??C'(
fb)))))rH   c                 >   t          t          j                            d                              d                    }|j        d dd          t          j        |j        d dd<   t          |j        d dd                   j        	                                sJ d S )Nr6   rW   r:      )
r   rK   r   rL   rM   r   rx   r   rR   r   r   s     r.   &test_getitem_fancy_slice_integers_stepz<TestDataFrameIndexing.test_getitem_fancy_slice_integers_step  s    ry,,Q//??HHII 	11BGDQqDM"")--///////rH   c                 4   t          t          j                            d                              d          t          ddd                    }|                                }d|j        dd<   |j        dd         dk    j        	                                sJ |                                }d|j        dd	<   |j        dd	         dk    j        	                                sJ |j        dd
         }|j
        dd	         }|                    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            n# 1 swxY w Y   t          j        t"          d          5  d|j
        dd	<   d d d            d S # 1 swxY w Y   d S )Nr6   r  r   r   r   r9   rW   r7   r   r;   )r9   r;   r  rW   r:   rt   z^3$r   )r   rK   r   rL   rM   rb   rJ   r   rR   r   rp   r   r"   rA   listr%   r&   r'   )r(   rD   cprE   result2rF   df2s          r.   ,test_getitem_setitem_integer_slice_keyerrorszBTestDataFrameIndexing.test_getitem_setitem_integer_slice_keyerrors$  sh   I!!!$$44W==U1bRS__
 
 

 WWYY"""*..00000 WWYY"""*..000001&2,::mmm,,
fh///
gx000 gd588nntE!RLL'9'9$$B$'??@]86222 	 	GAbDMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]86222 	 	CGAbDM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   1GGG3HHHc                 J   |j         d d dd f         }|d         j        t          j        k    s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            n# 1 swxY w Y   |sM|d         dk    
                                sJ t          j        |d         j        |d         j                   d S t          j        ||           d S )Nr   r         @r9   )r   r4   rK   r   rJ   shares_memory_valuesr"   assert_cow_warningrp   r   rA   )r(   r)   float_string_framer   r   slicedoriginals          r.   test_fancy_getitem_slice_mixedz4TestDataFrameIndexing.test_fancy_getitem_slice_mixedA  ss    $(BCC0c{ BJ.... ##%%!!!!RSS&)s 3[5E5MNNNNN"#566 	% 	%!$FJqqq#v	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%" 	9$)..00000 VC[0+c2B2JKKKKK!+x88888s   B44B8;B8c                    t          t          d          t          dd                    }|j        ddg         \  }}|j        ||         }|||         }|dd         }t          j        ||           t          j        ||           |                                }d|j        ||<   |                                }d|||<   |                                }d|dd<   t          j        ||           t          j        ||           d S )	Nr   z
2020-01-01periodsr   r:   rW   r   r   )r   rb   r   r    rp   r"   rA   rJ   )r(   rD   startendrE   r$  rF   s          r.   "test_getitem_setitem_non_ix_labelsz8TestDataFrameIndexing.test_getitem_setitem_non_ix_labelsY  s	   uRyy
<(L(L(LMMMXq"g&
sc	"U3Y-ad8
fh///
gx000 !
59''))c	77992
fh///
gx00000rH   c                 *   t          t          j                            d                              d                    }|j        |j        dk    d d f         }|                    dg          }t          j	        ||           t          t          j                            d                              d                    }|j        |j        dk    |j
        dk    f         }|                    dgdg          }t          j	        ||           d S )Nr6   r7   r6   r   r2   r|   )r   rK   r   rL   rM   rp   r    r   r"   rA   r=   )r(   rD   rsxps       r.   test_ix_multi_takez(TestDataFrameIndexing.test_ix_multi_takem  s    ry,,Q//??GGHHVBHM111$%ZZ__
b"%%% ry,,Q//??GGHHVBHM2:?23ZZqcA3Z//
b"%%%%%rH   c                     |}|j         }|j        D ]3}||         }|j        d d d         D ]}|||f         ||         k    sJ 4d S )Nr:   )rp   r=   r    )r(   r)   fr  coltsrC   s          r.   test_getitem_fancy_scalarz/TestDataFrameIndexing.test_getitem_fancy_scalary  st    U 9 	/ 	/C3Bwsss| / /#s(|r#w...../	/ 	/rH   c                    |}|                                 }|j        }t          |j                  D ]\  }}||          |j        d d d         D ]u}|j                            |          }t          j                            d          	                                }	|	|j
        ||f<   |	|||f<   t          j        ||           vd S )Nr:   r6   )rJ   rp   	enumerater=   r    get_locrK   r   rL   rM   r   r"   rA   )
r(   r)   r=  rF   r  jr>  rC   ivals
             r.   test_setitem_fancy_scalarz/TestDataFrameIndexing.test_setitem_fancy_scalar  s    ##%%U  	** 	3 	3FAscFFwsss| 3 3GOOC((i++A..>>@@&)ad#"38%a22223	3 	3rH   c                    |}|j         }|                    ddg          }|d d g df         }t          j        ||           |                    |j        dd         ddg          }||j        dd         g df         }t          j        ||           |j        |j        d         k    }|                    |j        |         	          }||         }t          j        ||           ||d d f         }t          j        ||           |||j        d
d          f         }|                    |j        |         ddg          }t          j        ||           d S )Nr]   r   r<   )FTFTr:   rW   r|      r   r6   r   )rp   r   r"   rA   r    r=   )r(   r)   r=  r  rF   rE   boolvecs          r.   test_getitem_fancy_booleanz0TestDataFrameIndexing.test_getitem_fancy_boolean  sf   U99c3Z900AAA11112
fh///99171R4=3*9EEAGAbDM#=#=#==>
fh///'AGAJ&99177#3944G
fh///GQQQJ
fh///GQYqrr]*+99177#3c3Z9HH
fh/////rH   c                 F   |                                 }|                                 }|j                                         }|d         dk    }d|j        |<   d||j        <   t          ||j        |j                  }t          j        ||           |                                 }|                                 }|j                                         }d|j        |ddgf<   d||j        d df<   t          ||j        |j                  }t          j        ||           d S )Nr\   r           r|   r]   r6   )rJ   rR   rp   r   r    r=   r"   rA   )r(   r)   framerF   rR   r   s         r.   test_setitem_fancy_booleanz0TestDataFrameIndexing.test_setitem_fancy_boolean  s      ""##%%%%''SzA~	$!t{V8>8CSTTT
eX...  ""##%%%%''&)	$c
"#"%t{BQBV8>8CSTTT
eX.....rH   c                    |j         g d         }|j        |j        g d                  }t          j        ||           |j         d d g df         }|j        d d |j        g d         f         }t          j        ||           d S )N)r2   r9   rI  )r6   r   r2   )r   rp   r    r"   rA   r=   )r(   r)   rE   rF   s       r.   test_getitem_fancy_intsz-TestDataFrameIndexing.test_getitem_fancy_ints  s    !))),?;#4YYY#?@
fh///!!!!YYY,/?111k&9)))&D#DE
fh/////rH   c                 B   |d         d d d         dk    }|j         |         }|j         |d d d                  }t          j        ||           |                                }|                                }d|j         |<   d|j         |<   t          j        ||           d S )Nr\   rt   r2   r   )rp   r"   rA   rJ   )r(   r)   r   rE   rF   r#  s         r.   'test_getitem_setitem_boolean_misalignedz=TestDataFrameIndexing.test_getitem_setitem_boolean_misaligned  s    3"%)&?4":.
fh///##%%tT
b(+++++rH   c                     t          t          j                            d                              d                    }t          j        g d          }t          j        ddg          }|j        ||f         }|j        ddgdgf         }t          j        ||           |	                                }d|j        t          j        g d          t          j        ddg          f<   d|j        ddgdgf<   t          j        ||           d S )	Nr6   r8  r   FTr   r2   r:   )
r   rK   r   rL   rM   r   rp   r"   rA   rJ   )r(   rD   k1k2rE   rF   s         r.   "test_getitem_setitem_boolean_multiz8TestDataFrameIndexing.test_getitem_setitem_boolean_multi  s    ry,,Q//??GGHH X)))**Xudm$$B61a&1#+&
fh///7799IJrx+++,,bht}.E.EEF$%aVaS[!
b(+++++rH   c                 b   t          g d          }t          t          j                            d                              d          |          }|j        dd         }|                    g d          }t          j	        ||           t          |          dk    sJ |j        dd         }|                    ddg          }t          j	        ||d	
           t          |          dk    sJ |j        dd         }|                    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            n# 1 swxY w Y   t          j	        ||           t          g d          }t          t          j                            d                              d          |          }d}t          j        t           |          5  |j        dd          d d d            n# 1 swxY w Y   |j        dd         }|                    dg          }t          j	        ||           t          |          dk    sJ |                                }t          j        t           t$                    5  d|j        dd<   d d d            n# 1 swxY w Y   t          j        t           |          5  |j        dd         dk    }d d d            n# 1 swxY w Y   |j                                        sJ |j        dd         |j        dd         k    j                                        sJ |                                }d|j        dd<   |j        dd         dk    j                                        sJ |j        dd         |j        dd         k    j                                        sJ |j        dd         }|}t          j	        ||           t          |          dk    sJ |j        dd         }|                    g d          }t          j	        ||           t          |          dk    sJ |j        dd         }|                    dg          }t          j	        ||           t          |          dk    sJ |j        dd         }|                    g d          }t          j	        ||           t          |          dk    sJ |                                }d|j        dd<   |j        dd         }|dk    j                                        sJ d S )N)r   r6   r7   r9   r:   r6   r   r   r   r9   )r   r6   r7   r9   r:   F)check_index_typer)  r   r2   r   z3The behavior of obj\[i:j\] with a float-dtype indexr   )r   r         @r   r   zPcannot do positional indexing on Index with these indexers \[1.0\] of type floatr   g?)r   rZ  r   r   g
ףp=
@)r   r   rK   r   rL   rM   rp   r   r"   rA   r   r   r   FutureWarningr%   r&   r   rJ   
_slice_msgrR   r   )r(   using_array_managerr    rD   rE   rF   rd   r#  s           r.   !test_getitem_setitem_float_labelsz7TestDataFrameIndexing.test_getitem_setitem_float_labels  sn   '''((ry,,Q//??GGuUUUA::nnn--
fh///6{{a!::q!f%%
fhGGGG6{{a!::sCj))
fh///6{{a !71Q3<
fh///71Q3<D'SAAA 	 	!WF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
fh/// ///00ry,,Q//??GGuUUU4 	 ]9C000 	 	GCENN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 1::se$$
fh///6{{aWWYY]9J777 	 	BGCEN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	) 	)WSU^q(F	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) }  """""!!,488:::::WWYY!!!)--/////!!,488::::: A
fh///6{{aA::22233
fh///6{{aQ::se$$
fh///6{{aC::77788
fh///6{{aWWYYs3wC!#'')))))))sH   $F;;F?F?
I&&I*-I*4LLL3MMMc                    t          t          j                            d                              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            n# 1 swxY w Y   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                                                   rJ d S )Nr6   r:   r7   )r   r   rz   r   e)rZ   r   r  r|   20010102	timestampr   r7   zdatetime64[s])rZ   r   r  rc  r   %Setting an item of incompatible dtyper   )r   rc  )rz   rc  r   rz   )r   rK   r   rL   rM   r   r   r   r4   r"   r`   r   r[  r   rp   r   r   rx   r   rq   s       r.   )test_setitem_single_column_mixed_datetimez?TestDataFrameIndexing.test_setitem_single_column_mixed_datetime?  s   I!!!$$44V<<+++)))
 
 
 $J//; Xi  !A%/)B)B(CC444
 
 
 	vx000 '!H
 
 
 	, 	, (,BF#$	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, /011111+$
2222v&'4//// $&6 BF+,----- sAAAvsAAAv''++-------s   C++C/2C/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            n# 1 swxY w Y   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        ||           d S )N)r   r   r   r         i  r2   xyi  i  r   r   r   abr;   r   r   r   r   rd  r   )r2   r   ri  rj  r6   r7   rg  z2013-01-01T00:00:00rh  z2014-01-01T00:00:00r9   r:   r   )r   r   r"  rb   pdNaTrp   r"   r   r[  rK   r   
datetime64rA   )r(   rF   rD   r\   s       r.   test_setitem_mixed_datetimez1TestDataFrameIndexing.test_setitem_mixed_datetimea  s   )))T1a((T1a((T1a((
 

 
 q$t**E!HH===&3!$1--v'!H
 
 
 	 	 BF6N	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 '1vs{HR]#899:R]#899:
 
 &'1vSz!"
b(+++++s   7CCCc                     |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        ||           d S Nr6   r\   r]   )rp   r    rR   r"   r   r(   r)   piecerE   rF   s        r.   test_setitem_frame_floatz.TestDataFrameIndexing.test_setitem_frame_float  s     1"1" 5Sz AB?D|)"-//#s;<!2233!7#s!CDK<
vx00000rH   c                 D   |                                 }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                   d S )
Nr   r   r   r)  r   r6   r\   r]   r|   )rJ   r   r    slicerp   r"   r   rR   r(   r-  r=  rw  r-   s        r.   test_setitem_frame_mixedz.TestDataFrameIndexing.test_setitem_frame_mixed  s     ##%%3Z#s$AGAaCL3*
 
 
 wuT1~~&c
3c

quQWQqS\C:%=>Eu|TTTTTrH   c                    |                                 }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
                    d S )Nr   r   r   r)  r   g      @g      @g       @r   r6   rZ   r   r\   r]   r|   )	rJ   r   r"  r    rz  rp   r"   r   rR   r{  s        r.   'test_setitem_frame_mixed_rows_unalignedz=TestDataFrameIndexing.test_setitem_frame_mixed_rows_unaligned  s    ##%%3Z#sc3Z#s<qwqs|$$u~5#J
 
 

 wuT1~~&c
3c

E!'!A$-#s+,3U\!A#5F	
 	
 	
 	
 	
rH   c                 v   |                                 }|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                   d S )Nr6   r\   ru  r]   )	rJ   rp   r    rz  rK   rx   r"   r   rR   r{  s        r.   &test_setitem_frame_mixed_key_unalignedz<TestDataFrameIndexing.test_setitem_frame_mixed_key_unaligned  s    ##%%agbqbkC5()gbcclwuR'#s4c
Vc

quQWRSS\C:%=>Eu|TTTTTrH   c                 <   |                                 }|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                   d S rt  )rJ   rp   r    rz  rR   r"   r   r{  s        r.    test_setitem_frame_mixed_ndarrayz6TestDataFrameIndexing.test_setitem_frame_mixed_ndarray  s    ##%%"&qwrr{S#J'>?wuR'#s4\c

quQWRSS\C:%=>Eu|TTTTTrH   c                    t          g dg dgg d          }|                                }t          j        t          d          5  |j        d d ddgf         d	z   |j        d d ddgf<   d d d            n# 1 swxY w Y   |                    ddg          }|d	z  }|d
         |d
<   t          j        ||           d S )N)r2   r6   rZ   )r7   r9   r   r\   r]   r   r<   incompatible dtyper   r\   r]         ?r   )r   rJ   r"   r   r[  rp   r   rA   )r(   rD   r%  rF   s       r.   test_setitem_frame_upcastz/TestDataFrameIndexing.test_setitem_frame_upcast  s%   }}}5OOOggii'=QRRR 	A 	A%'VAAASzM%:S%@CGAAASzM"	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A::sCj:11C3
c8,,,,,s   	%A::A>A>c                 0   |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        ||           d S rt  )rp   r    r=   rR   r"   r   rv  s        r.   test_setitem_frame_alignz.TestDataFrameIndexing.test_setitem_frame_align  s     1"1" 5Sz AB!',c
>C)"##.c
:;!2233!7#s!CDK<
vx00000rH   c                    t          t          j                            d                              d          g d          }|j        d         }|d d         }t          j        ||           |j        d         }|j        ddg         }t          j        ||           |j        d         }|j        d	         }t          j	        ||           d S )
Nr6   r`  rZ   rZ   r   r  r   r   rZ   r   r9   r  r7   )
r   rK   r   rL   rM   rp   r"   rA   r   r`   rq   s       r.   "test_getitem_setitem_ix_duplicatesz8TestDataFrameIndexing.test_getitem_setitem_ix_duplicates  s    I!!!$$44V<<555
 
 

 bqb6
fh///7Aq6?
fh///71:
vx00000rH   c                    t          t          j                            d                              d          g d          }|j        dg         }|j        ddg         }t          j        ||           |j        |d         dk             }||d         dk             }t          j        ||           |j        |d         dk             }||d         dk             }t          j        ||           d S )	Nr6   r`  r  r   r   r9   r2   r   )	r   rK   r   rL   rM   rp   r   r"   rA   )r(   rD   rE   r   s       r.   +test_getitem_ix_boolean_duplicates_multiplezATestDataFrameIndexing.test_getitem_ix_boolean_duplicates_multiple  s    I!!!$$44V<<555
 
 

 gq!fo
fc***1	"Am
fc***1	"Am
fc*****rH   
bool_valueTFc                 6   t          dg di          }| d}t          j        t          |          5  |j        |          d d d            n# 1 swxY w Y   d}t          j        t          |          5  d|j        |<   d d d            d S # 1 swxY w Y   d S )Nr   r5   z7: boolean label can not be used without a boolean indexr   z.cannot use a single bool to index into setitemr   )r   r%   r&   r'   rp   )r(   r  rD   messagerd   s        r.   %test_getitem_setitem_ix_bool_keyerrorz;TestDataFrameIndexing.test_getitem_setitem_ix_bool_keyerror  s+    YYY'((XXX]87333 	 	F:	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ?]83/// 	# 	#!"BF:	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#s#   AAA6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        ||           d S )Nr2   r[   r:   r   gGz?i  r   rm  r   rn   )r   r4   r   ro   rK   r   rp   r    r   r   r   r"   r`   )r(   r)   rE   rD   rF   s        r.   "test_single_element_ix_dont_upcastz8TestDataFrameIndexing.test_single_element_ix_dont_upcast  s    C+c*05RZ7HIIIII!21!5s!:;&!!!!! dV}%%3&!!!!!3%!3///S!
vx00000rH   c                    t          t          j        d                              dd          t	          ddd                    }d}t          j        t          |	          5  |j        d
           d d d            n# 1 swxY w Y   t          j        t          |	          5  d|j        d <   d d d            d S # 1 swxY w Y   d S )Nr   rW   r9   r   r   r6   r   zcallable with ilocr   c                     dS Nrv    r+   s    r.   <lambda>zMTestDataFrameIndexing.test_iloc_callable_tuple_return_value.<locals>.<lambda>      d rH   r2   c                     dS r  r  r  s    r.   r  zMTestDataFrameIndexing.test_iloc_callable_tuple_return_value.<locals>.<lambda>  r  rH   )	r   rK   r   r   rb   r"   r   r[  r   )r(   rD   rd   s      r.   %test_iloc_callable_tuple_return_valuez;TestDataFrameIndexing.test_iloc_callable_tuple_return_value  s=   ry}},,R335B??KKK"'SAAA 	$ 	$GNN##	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$'SAAA 	( 	(&'BGNN#	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s$   $A??BB%B>>CCc                 l   t          t          j                            d                              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        g d
                   }t          j        ||           d S )Nr6   rW   r9   r   r   r   r2   r9   r  rh  r2   r6   r9   r;   )r   rK   r   rL   rM   rb   r   rp   r"   r`   rz  rA   r   r    r(   rD   rE   r   rF   s        r.   test_iloc_rowz#TestDataFrameIndexing.test_iloc_row  s   I!!!$$44W==U1bRS__
 
 
 fQi
vs+++fQi
vs+++ q!%6!B$<
fh/// &::bh|||455
fh/////rH   c                    t          t          j                            d                              d          t          ddd                    }|                                }|j        t          dd                   }t          j	        |d         |d                   sJ |d                                         }t          j        |          5  d|j        d d df<   d d d            n# 1 swxY w Y   |s/d|j        dd<   t          j	        |d         |d                   sJ t          j        |d         |           d S )	Nr6   r  r   r   r   r9   r  rM  )r   rK   r   rL   rM   rb   rJ   r   rz  r*  r"   r,  rp   r+  r`   )r(   r   r   rD   r/  subsetexp_cols          r.   test_iloc_row_slice_viewz.TestDataFrameIndexing.test_iloc_row_slice_view-  sr   I!!!$$44W==U1bRS__
 
 
 7799 q!%1vay111111+""$$"#566 	# 	#"FJqqq!t	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#" 	6#&GOAaC  #BqE6!955555
r!ug.....s   C,,C03C0c                    t          t          j                            d                              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        g d
                   }t          j        ||           d S )Nr6   r9   rW   r   r   r<   r2   r9   r  rh  r  )r   rK   r   rL   rM   rb   r   rp   r"   r`   rz  rA   r   r=   r  s        r.   test_iloc_colz#TestDataFrameIndexing.test_iloc_colC  sR   I!!!$$44W==uQPRTU
 
 
 AfQQQTl
vs+++AfQQQTl
vs+++ E!QKK(6!!!QrT'?
fh/// LLL)::bj&>:??
fh/////rH   c                 R   t          t          j                            d                              d          t          ddd                    }|                                }|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            n# 1 swxY w Y   |d         dk                                    sJ t          j	        |d         j
        |d         j
                  sJ d S |r-t          j	        |d         j
        |d         j
                  sJ d|d<   |d         dk                                    sJ t          j        ||           d S )	Nr6   r  r   r   r<   r9   r  rM  )r   rK   r   rL   rM   rb   rJ   r   rz  r*  r+  r"   r,  rp   r   rA   )r(   r]  r   r   rD   r/  r  s          r.   test_iloc_col_slice_viewz.TestDataFrameIndexing.test_iloc_col_slice_viewZ  s    I!!!$$44W==uQPRTU
 
 
 7799E!QKK(" 	0+> 	0#BqEM6!93DEEEEE&'9:: ' '#&
111a4 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' qEQJ##%%%%% #BqEM6!93DEEEEEEE" J'1vay7HIIIIIF1I1IN'')))))!"h/////s   	C$$C(+C(c                    t          t          ddd          t          ddd                    }|                    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        ||           d S )Ni  r2   )yearmonthdayr:   )r4  r5  )rp   itemr   r\   r]   r|   )FFFFFTr;   )r   r   r   r   r;   r;   )r   r   r   r   r   r   r\   r]   r   )	r   r   insertr   rK   r   rp   r"   rA   )r(   trangerD   bool_idxrF   s        r.   test_loc_duplicatesz)TestDataFrameIndexing.test_loc_duplicatesx  sF    QA666t1!444
 
 

 19$aQ+O+O+OPPqc
;;;8EEEFF )*vh$%$$$+=+=+=>>f
 
 
 	b(+++ qc
;;;
vh$%%%*%%%
b(+++++rH   c                 >   t          t          ddd          d          }t          d|i          }|g d         |d<   t          j        |d         |           t          d|i          }|g d         |j        g ddf<   t          j        |d         |           d S )	Nz
2015-01-01r7   utc)r3  tzdatesrn   )r2   r   r6   )r   r2   r6   )r   r   r   r"   r`   rp   )r(   columnrD   s      r.   4test_setitem_with_unaligned_tz_aware_datetime_columnzJTestDataFrameIndexing.test_setitem_with_unaligned_tz_aware_datetime_column  s     
<uEEEGTTT())YYY'7
r'{F333())%+III%6yyy'!"
r'{F33333rH   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        ||           d S )Nr2   )hours20130101r9   r2  r   m8[ns]r3   r\   r6   r]   r7   r   r   r:   r[   rp  r   r;   rt   r(  GHztimedelta64[ns]zdatetime64[ns]ABCDEFGH)r   r   r   rK   r   rp   r    timedelta64rq  r   r   r4   r"  r"   r`   )r(   one_hourrD   rE   rF   s        r.   ,test_loc_setitem_datetimelike_with_inferencezBTestDataFrameIndexing.test_loc_setitem_datetimelike_with_inference  s
    1%%%Z
A>>>???(AL>A-X>>>31x<.1"4HEEEqqq#v$&Ha(l^a-?x$P$P$Prx|S !1x<.1"4HEEEqqq#v$&Ha(l^a-?x$P$P$Prx|S !.''3%'Xq8|nq.@%Q%Q%Qrx}c!"&0Q&G&G&Grx|~~s"#-&&3X'(()A-:J1K1K0Lq0PPz""
 
 
 	vx00000rH   c                 n   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          }|                                }d||d	k    <   |                                }d|j        d
<   d|j        d<   d|j        d<   d|j        d<   t          j        ||           d|d<   d}t          j        t          |          5  d||d	k    <   d d d            d S # 1 swxY w Y   d S )N)#   r   r   1   2   gjBz?g% t?gk?g?r   r2   )r   r2   r6   r7   r9   rj  g333333?)r   r2   )r  r2   )r  r2   )r  r9   testrZ   z1not supported between instances|unorderable typesr   )
r   rK   rx   rJ   rp   r"   rA   r%   r&   r   )r(   rD   r%  rF   rd   s        r.   #test_getitem_boolean_indexing_mixedz9TestDataFrameIndexing.test_getitem_boolean_indexing_mixed  s   BFBFOO+++  +  BFBFOO+  qa881 
 
< ggiiC#I7799UUUU
c8,,,5	A]9C000 	 	BrCxL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   
F**F.1F.c                    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            n# 1 swxY w Y   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        ||           d S )Nri  rj  r   r2   rz   names)r2   r2   r6   r6   )r7   r7   r9   r9   rE  rn   r   rz  r   r6   )levelscodesr  r7   r9   )ri  r   r   )r   from_productr   r   r%   r&   r	   rb   rp   rz  r"   rA   r   r`   )r(   midgr    r=   rF   rE   rj   s           r.   test_type_error_multiindexz0TestDataFrameIndexing.test_type_error_multiindex  s   $sCj1a&%9$MMM\\<<<("E1a&s<S<S<S
 
 
 ],G<<< 	 	qqq!tHH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 eAhhS)))#JA'AA/?c{
 
 
 q!fq!f-weLLLE$KK++,
fh///eAhhS)))1a&D999F
vx00000s   #A<<B B c                 R   t          t          j        d          t          j                            t          j        d                              }|j        d d df         }|d         }t          j	        ||           |j
        d d df         }t          j	        ||           d S )Nr7   r9   r:   r<   r   r  )r   rK   r  ro  IntervalIndexfrom_breaksr   r   r"   r`   rp   )r(   rD   rF   rT   s       r.   ,test_getitem_interval_index_partial_indexingzBTestDataFrameIndexing.test_getitem_interval_index_partial_indexing  s    GFOOR%5%A%A")A,,%O%O
 
 
 7111a4=g
sH---fQQQVn
sH-----rH   c                 2   t          ddgt                    }t          j        d          t          j        d          d|j        d<   t          t          j        d          gt          j        d          gd          }t          j        ||           d S )Nr   r   )r=   r4   )r6   )r6   r6   rk  r   )r   r   rK   zerosrp   r"   rA   r   s      r.    test_setitem_array_as_cell_valuez6TestDataFrameIndexing.test_setitem_array_as_cell_value  s    Sz888(4..rx/?/?@@q	BHTNN#328F;K;K:LMMNN
b(+++++rH   c                    t          dg did          }|                                }|j        d d d d df         |j        d d <   t	          j        ||           t          j        j        	                    |j        d d d d df                   |j        d d <   t	          j        ||           |j
        d d d d f                                         |j
        d d <   t	          j        ||           d S )Nr\   r5   Int64r3   rt   )r   rJ   rR   rp   r"   rA   ro  corearraysNumpyExtensionArrayr   )r(   rD   origs      r.   $test_iloc_setitem_nullable_2d_valuesz:TestDataFrameIndexing.test_iloc_setitem_nullable_2d_values  s    YYY'w777wwyyIaaa2g&qqq	
b$'''GN66ryDDbD7IJJqqq	
b$'''WQQQT]''))

b$'''''rH   c                     t          t          j        dt                              }t          j        |d                   |d<   |dg          d S )Nr2   r2   r3   r   )r   rK   r   r   
empty_liker   s     r.   ,test_getitem_segfault_with_empty_like_objectzBTestDataFrameIndexing.test_getitem_segfault_with_empty_like_object  sD    rxf55566be$$1
A3rH   z.ignore:Setting a value on a view:FutureWarningnullM8[ns]r  c                    t          dg di|          }|d                                         }|j        }d                    g d          }t	          j        t          |          5  ||d<   d d d            n# 1 swxY w Y   t	          j        t          |          5  ||g|d d<   d d d            n# 1 swxY w Y   t	          j        t          |          5  ||d<   d d d            n# 1 swxY w Y   t	          j        t          |          5  ||g|d d<   d d d            n# 1 swxY w Y   t	          j        t          |          5  ||j        d<   d d d            n# 1 swxY w Y   t	          j        t          |          5  ||g|j        d d<   d d d            n# 1 swxY w Y   t	          j        t          |          5  ||j        d	<   d d d            n# 1 swxY w Y   t	          j        t          |          5  ||g|j        d ddf<   d d d            n# 1 swxY w Y   |                                }|                                |d
<   t	          j        t          |          5  ||j        d	<   d d d            n# 1 swxY w Y   t	          j        t          |          5  ||g|j        d ddf<   d d d            d S # 1 swxY w Y   d S )Nr\   r5   r3   |)z@timedelta64\[ns\] cannot be converted to (Floating|Integer)Dtypez?datetime64\[ns\] cannot be converted to (Floating|Integer)Dtypez 'values' contains non-numeric NAz1Invalid value '.*' for dtype (U?Int|Float)\d{1,2}r   r   r6   r   r   r]   )r   rJ   r+  joinr%   r&   r   r   )r(   r  any_numeric_ea_dtyperD   serr   rd   r%  s           r.   .test_setting_mismatched_na_into_nullable_failszDTestDataFrameIndexing.test_setting_mismatched_na_into_nullable_fails&  sU    YYY'/CDDDgllnnkhh  
 
 ]9C000 	 	CF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	# 	#TlCG	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# ]9C000 	 	CF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	# 	#TlCG	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# ]9C000 	 	CHQK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	( 	( $<CHRaRL	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( ]9C000 	! 	! BGDM	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! ]9C000 	* 	*"D\BGBQBEN	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* ggii88::C]9C000 	" 	"!CHTN	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" ]9C000 	+ 	+#TlCHRaRUO	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+s   )A;;A?A?!
B77B;>B;C//C36C3
D++D/2D/E((E,/E,F))F-0F-G&&G*-G*H))H-0H-:JJJ7KKKc                     t          dgt          g d                    }d|j        d<   t          ddgit          dgd                    }t          j        ||           d S )Nr   r   rn   r   r2   r   r   )r   r   rp   r"   rA   r   s      r.   +test_loc_expand_empty_frame_keep_index_namezATestDataFrameIndexing.test_loc_expand_empty_frame_keep_index_name[  sn    uE"3,?,?,?@@@q	cA3ZuaSs/C/C/CDDD
b(+++++rH   c                     t          dgt          j        g g d                    }d|j        d<   t          ddgit          j        dgg d                    }t	          j        ||           d S )Nr   r   r  r   rZ   r5   r   r   r   from_tuplesrp   r"   rA   r   s      r.   +test_loc_expand_empty_frame_keep_midx_nameszATestDataFrameIndexing.test_loc_expand_empty_frame_keep_midx_namesb  s    E!7///!R!R!R
 
 
 "y5'N()OOOLLL
 
 
 	b(+++++rH   z	val, idxr)ri  r   ri  r   )r2   r   r2   c                 <   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            n# 1 swxY w Y   t          dt
          j        |gi          }t          j        ||           d S )Nr   r2   r6   rd  r   r   r   )r   r"   r   r[  rp   rK   rx   rA   )r(   idxrrF  rD   rF   s        r.   test_loc_setitem_rhs_framez0TestDataFrameIndexing.test_loc_setitem_rhs_framen  s     aV}%%'!H
 
 
 	H 	H (sBi(8AGGGBF111d7O	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H cBFC=122
b(+++++s   $AA#&A#c                     t          ddg          }|                                }|d d          }t          j        ddgt          j                  |j        d d df<   t          j        ||           d S )Nr   r   r<   r2   r6   r3   r   )r   rJ   rK   r   r   r   r"   rA   )r(   r   rD   rF   views        r.   $test_iloc_setitem_enlarge_no_warningz:TestDataFrameIndexing.test_iloc_setitem_enlarge_no_warning  ss     Sz***7799!!!u!Qrz:::1
dH-----rH   c                    t          ddddt          j        ddgddggddg          	          }d
g}d|d<   d|j        |df<   |j        |df          |j        |ddgf          d|j        |df<   |j        |df         }t	          dt          j        dgdggddg          d          x}}t          j        ||           d S )NTr2   r   )bool_colr   r   r6   idx1idx2r  r   r  r7   rz   r   r   r   r   r   )r   r   from_arraysrp   r   r"   r`   )r(   rD   rC   rE   rF   s        r.   (test_loc_internals_not_updated_correctlyz>TestDataFrameIndexing.test_loc_internals_not_updated_correctly  s   AC00(1a&1a&)9&&AQRRR
 
 
 h3sCx
sCx
sS#JsCxS!(1#sFF;KLLL
 
 
 	
2
 	vx00000rH   rF  Nc                     t          dg did          }||j        dgd d f<   t          dt          j        ddgid          }t	          j        ||           d S Nr   r   r   r3   r   r   rz   r   r   ro  NAr"   rA   r(   rF  rD   rF   s       r.    test_iloc_setitem_string_list_naz6TestDataFrameIndexing.test_iloc_setitem_string_list_na  sm     ___-X>>>QQQcBE3#45XFFF
b(+++++rH   c                     t          dg did          }||j        dd d f<   t          dt          j        ddgid          }t	          j        ||           d S r  r  r  s       r.   test_iloc_setitem_string_naz1TestDataFrameIndexing.test_iloc_setitem_string_na  sk     ___-X>>>111cBE3#45XFFF
b(+++++rH   funcc                     t          dg did          }d|j        d d  |dg          f<   t          dg did          }t          j        ||           d S )Nr   r5   r  r3   r:   r   )r:   r:   r:   r   )r(   r  rD   rF   s       r.   /test_iloc_setitem_ea_null_slice_length_one_listzETestDataFrameIndexing.test_iloc_setitem_ea_null_slice_length_one_list  sq     YYY'w777 !4499c999-W===
b(+++++rH   c                 L   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	        ||           d S )Nr\   r]   r   firstsecondr  r   Indexerr   r   )r  r  )r\   r   )r\   r   )
r   r   r  r   r    r  rp   r  r"   rA   )r(   rD   indexer_tupler  rE   rF   s         r.   test_loc_named_tuple_for_midxz3TestDataFrameIndexing.test_loc_named_tuple_for_midx  s    )s___-gx5H  
 
 

 #9bhn==}3Sz:::aaa(Z((0C  
 
 

 	fh/////rH   r   r>  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        ||           d S )Nr   z
2022-12-29z
2022-12-30r2   )daysz
2022-12-31)r   r   ro  	Timedeltarp   r"   rA   )r(   r>  r   rD   rF   s        r.   test_set_2d_casting_date_to_intz5TestDataFrameIndexing.test_set_2d_casting_date_to_int  s     9\**Il,C,CDLL
 
  "#w1)=)=)==sG|9\**Il,C,CDLL
 
 	b(+++++rH   rj   c                     d}t          i |t          |          t          |          d          }|                                }|ddg         |j        |dgz  ddgf<   t	          j        ||           d S )Nr  rn  ri  rj  T)r   rb   rJ   rp   r"   rA   )r(   r>  nrD   rF   s        r.   1test_loc_setitem_reordering_with_all_true_indexerzGTestDataFrameIndexing.test_loc_setitem_reordering_with_all_true_indexer  s~     <#<E!HH588<<<==7799)+S#JqD6zC:%&
b(+++++rH   c                    t          ddg          }|                                }t          dg          }t          j        d           5  ||j        d d df<   d d d            n# 1 swxY w Y   t          j        ||           d S )Nr   r   r<   )r   rJ   r"   r   rp   rA   )r(   rD   rF   rhss       r.   test_loc_rhs_empty_warningz0TestDataFrameIndexing.test_loc_rhs_empty_warning  s    Sz***7799&&&'-- 	! 	! BF111c6N	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!
b(+++++s   A''A+.A+c                 H   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        ||           d S )
Nr   r2   r6   r7   r9   r:   r;   rI  r  	   r   r2   r  r3   r:   r;   r   )r   r   r   r"   rA   rR   )r(   rD   r   row_indexerrE   rF   s         r.   test_iloc_ea_series_indexerz1TestDataFrameIndexing.test_iloc_ea_series_indexer  s    9::!Qw///aS000g-.q!fXaS111
fh///+W^;<
fh/////rH   c                    t          g dg dg          }t          dt          j        gd          }d}t	          j        t          |          5  |j        d d |f          d d d            n# 1 swxY w Y   t	          j        t          |          5  |j        d d |j        f          d d d            d S # 1 swxY w Y   d S )Nr  r   r   r  r3   zcannot convertr   )	r   r   ro  r  r%   r&   ra   r   rR   )r(   rD   r   rd   s       r.   #test_iloc_ea_series_indexer_with_naz9TestDataFrameIndexing.test_iloc_ea_series_indexer_with_na  sI   9::!RU7333]:S111 	  	 GAAAwJ	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 ]:S111 	' 	'GAAAw~%&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	's$   A..A25A2B88B<?B<)Tr4   booleanc                    t          j        t          g d|          t          g d|          gddg          }t          dg di|	          }t	          j        t          t          |t                              5  |j	        |         }d d d            n# 1 swxY w Y   t          dd
dgit          ddgd|          	          }t	          j        ||           d S )N)TTFFr3   )TFTFr   r   r  rz   )r2   r6   r7   r9   r   r2   r6   TF)rj   r4   )r   r  r   r   r"   maybe_produces_warningr
   
isinstancetuplerp   r   rA   )r(   r4   r   midxrD   rE   rF   s          r.   test_loc_bool_multiindexz.TestDataFrameIndexing.test_loc_bool_multiindex   sA    %111???111??? *
 
 
 \\\*$777&'9:gu;U;UVV 	% 	%VG_F	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%1a&Me}3e!L!L!L
 
 
 	fh/////s   ?BB Br  r   c           
      .   t          t          t          ddd          t          ddd          g|          ddgd          }|                    d	          }||d
                  }|d         |j        |d
         |f<   t          j        ||           d S )Ni  r2   r   r   )r  TF)r   update)deepr.  r   )r   r   r   rJ   rp   r"   rA   )r(   r  r   rD   rF   	update_dfs         r.   2test_loc_datetime_assignment_dtype_does_not_changezHTestDataFrameIndexing.test_loc_datetime_assignment_dtype_does_not_change  s     #dAr**HT1b,A,AB    -	 
 
 777%%r(|$	(1&(9r(|W$%
b(+++++rH   zindexer, idxr6   c                    t          dt          j        gdt          j        gdt          j        ggt                    }t          dt          j        gdt          j        gg          }| ||          d |d d f<   t          dt          j        gdt          j        gdt          j        ggt                    }t	          j        ||           d S )Nrl   rm   r   r3   r2   r6   )r   rK   rx   r   r"   rA   )r(   r   rC   rD   r  rF   s         r.   "test_setitem_value_coercing_dtypesz8TestDataFrameIndexing.test_setitem_value_coercing_dtypes'  s     bfRV}sBFmDFSSS!RVq"&k233"DSD!!!Gq"&kArv;bfFfUUU
b(+++++rH   )g__name__
__module____qualname__r/   rG   rU   rX   rf   rr   r   r   r%   markparametrizer   r   r   r   r   r   r   r   r   r   r   r  r	  r  r  r  r   r&  tdskip_array_manager_invalid_testr0  r6  r;  r@  rG  rK  rO  rQ  rS  rW  r^  re  rr  rx  r|  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  filterwarningsro  rp  to_numpyr  r  r  r  r  r  r  r  r
  r"  r   rK   r   r  r  r  r  r  r#  r%  r   r,  r1  r"   rp   r   r3  r  rH   r.   r   r   *   s       " " ""B B B4 4 4> > >& & &&1 1 197 97 97v 1  1  1D [###%7%7%79N9N9NO 0 0 0/ / /  0 0 00 0 0$) ) )& & &16 16 16f	, 	, 	,2, 2, 2,h< < <:.7 .7 .7`' ' '- - -*
V 
V 
V* * *0 0 0  : '9 9 ('9.1 1 1(
& 
& 
&/ / / '3 3 ('3 0 0 0. '/ / ('/(0 0 0, , ,, , ,W* W* W*r .  .  .D, , ,@1 1 1
U 
U 
U
 
 
U U UU U U	- 	- 	-1 1 11 1 1&+ + +& [\D%=99	# 	# :9	#1 1 1$( ( (0 0 0./ / /,0 0 0.0 0 0<, , ,64 4 41 1 1,, , ,\1 1 12. . ., , ,( ( (   [ PQQ[22BFOOH4M4MN /+ /+  RQ/+b, , ,
, 
, 
, [3%LJ		
 	, 	, 	, '. . ('.1 1 1. [UTD62525'$BCC, , DC, [UT25M22, , 32, [VdFBH%=>>, , ?>,0 0 0" [Y#55[UR#qN33	, 	, 43 65	, [UR&#$788, , 98,, , ,
0 
0 
0' ' ' [Yw88[WtY&7880 0 98 980" [UUDM22[Y&(:;;, , <; 32,$ [^rvqkBGQ<-HII, , JI, , ,rH   r   c                       e Zd Zd ZdS )TestDataFrameIndexingUInt64c           
         t          t          j        d          g ddt          j                  }|d                             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	= |	                                }t          j
        t          d
          5  t          j        |j        d<   t          j        |j        d<   d d d            n# 1 swxY w Y   |d         }t          j        t          |          t          g dd                     t          j        |j        t          t          j        d          t          j        d          t          j        d          gg d                     d S )Nr7   )l            l           l   
        r  r3   r\   rZ   r   rn   r   r  r   r  r2   r6   r]   r   uint64Or  r   )r   rK   r   rA  renamer=   r"   r`   r   rJ   r   r[  ro  rp  r   r   r   r4   )r(   rD   rC   r%  rE   s        r.   r   z(TestDataFrameIndexingUInt64.test_setitem2  s   )A,,%C%C%CDD)
 
 
 gnnU## "*$$$$3
r#ws(=(=(=>>>"*$$$$33
r#ws(=(=(=>>>sG ggii'=QRRR 	$ 	$VCHTNVCHTN	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ S
uV}}f5H5H5Hs.S.S.STTT
J(##RXc]]BHSMMB%oo  	
 	
 	
 	
 	
s   9)D..D25D2N)r4  r5  r6  r   r  rH   r.   r>  r>  1  s#         
  
  
  
  
rH   r>  c                    t          ddgt          dd          t          j        dd          d          }|j        d         }t          |j        d         t                    sJ t          |j        d         t          j                  sJ |j	        d         }t          |j        d         t                    sJ t          |j        d         t          j                  sJ |
                    dd          }t          |j        d         t                    sJ t          |j        d         t          j                  sJ | rd S |j        }|                                 |                    d          j        }t          |d         t                    sJ t          |d         t          j                  sJ |j        |j        d                  }|j        d	k    sJ |                    d
          }t          |t                    sJ |j        |j        d                  }|j        dk    sJ |                    d
          }t          |t          j                  sJ d S )Nr2   r6   2000r2  z1 Dayr  r   )axisr  r  r  )r   r   ro  timedelta_rangerp   r)  rR   r   r  r   xs_mgr_rebuild_blknos_and_blklocsfast_xsr   blocksblknosr4   iget)r]  rD   r  mgrr   blkrF  s          r.   /test_object_casting_indexing_wraps_datetimelikerQ  U  s.   	QFA...#GQ777	
 	

 
B &)CcjmY/////cjmR\22222
'!*CcjmY/////cjmR\22222
%%%

CcjmY/////cjmR\22222 
'C##%%%
++a..
Cc!fi(((((c!fbl+++++
*SZ]
#C9    
((6

Cc9%%%%%
*SZ]
#C9    
((6

Cc2<(((((((rH   zFCannot setitem on a Categorical with a new category( \(.*\))?, set thezCCannot set a Categorical with another, without identical categoriesc                   x   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
                            dej        ej        g          d             Zej
                            dej        ej        ej        ej        g          d             Zej
                            dej        ej        g          d	             Zej
                            dej        ej        g          d
             Zej
                            dej        ej        g          d             Zej
                            dej        ej        g          d             Zej
                            dej        ej        ej        g          d             Zd ZdS )TestLocILocDataFrameCategoricalc                     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hrE  rD  r   lmr  r2   r2   r2   r2   r2   r2   r2   catsrR   r   r   r   r   )r(   r]  rC   rR   r  s        r.   r  z$TestLocILocDataFrameCategorical.orig  s^    >>>CQT:VVV77788&&&$&99EEErH   c                     t          g dddg          }t          g d          }g d}t          ||d|          }|S )	Nr   r   r   r   r   r   r   r   r   rU  rW  )r2   r2   r6   r2   r2   r2   r2   r\  r   r^  )r(   cats1r  values1exp_single_rows        r.   rc  z.TestLocILocDataFrameCategorical.exp_single_row  sa     ???SRUJWWW88899'''"EW#E#ETRRRrH   c                     t          g dddg          }t          g d          }g d}t          ||d|          }|S )	Nr   r   r   r   r   r   r   r   r   rU  rW  )r2   r2   r6   r6   r2   r2   r2   r\  r   r^  )r(   cats2r   values2exp_multi_rows        r.   rh  z-TestLocILocDataFrameCategorical.exp_multi_row  sa     ???SRUJWWW88899'''!5G"D"DDQQQrH   c                     t          g dddg          }t          g d          }g d}t          ||d|          }|S )	Nre  r   r   rU  rW  r[  r\  r   r^  )r(   cats3idx3values3exp_parts_cats_cols        r.   rm  z2TestLocILocDataFrameCategorical.exp_parts_cats_col  sc     ???SRUJWWW88899'''&'I'IQUVVV!!rH   c                     t          g dddg          }t          g d          }g d}t          ||d|          }|S )	Nr`  r   r   rU  rW  r[  r\  r   r^  )r(   cats4idx4values4exp_single_cats_values        r.   rr  z5TestLocILocDataFrameCategorical.exp_single_cats_value  sk     ???SRUJWWW88899''' )g..d!
 !
 !
 %$rH   r   c                    |                                 }t          dd          }|t          j        u rt          dd          }ddgddgg ||          |d d f<   t          j        ||           |                                 }t          j        t          t                    5  ddgddgg ||          |d d f<   d d d            d S # 1 swxY w Y   d S )Nr6   r9   rD  r   r   r   rz   )	rJ   rz  r"   rp   rA   r%   r&   r   msg1)r(   r  rh  r   rD   r-   s         r.   #test_loc_iloc_setitem_list_of_listszCTestLocILocDataFrameCategorical.test_loc_iloc_setitem_list_of_lists  s    YY[[AqkkbfS//C #Qx#q2CF
b-000YY[[]9D111 	7 	7$'8c1X"6GGBKKQQQ	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7s   $C

CCc                 n   |                                 }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            d S # 1 swxY w Y   d S )N)r6   r   r6   r   r   r   rz   )rJ   r"   rp   atr    r=   rA   r%   r&   r   rt  )r(   r  rr  r   rD   r-   s         r.   7test_loc_iloc_at_iat_setitem_single_value_in_categorieszWTestLocILocDataFrameCategorical.test_loc_iloc_at_iat_setitem_single_value_in_categories  s    
 YY[[rvruo%%8A;
1.C C
b"7888 ]9D111 	# 	#"GGBKK	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#s   B**B.1B.c                     |                                 }|j        dk    }d}|t          j        u r|j        |         }d ||          ||f<   t          j        ||           d S )NrD  r   r   )rJ   r    r"   rp   r=   rA   )r(   r  rr  r   rD   r   r-   s          r.   5test_loc_iloc_setitem_mask_single_value_in_categorieszUTestLocILocDataFrameCategorical.test_loc_iloc_setitem_mask_single_value_in_categories  si    
 YY[[x3bf*S/C!$D#I
b"788888rH   c                 T   |                                 }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            d S # 1 swxY w Y   d S )Nr6   r   r   rz   )	rJ   r"   rp   r    rA   r%   r&   r   rt  )r(   r  rc  r   rD   r-   s         r.   2test_loc_iloc_setitem_full_row_non_categorical_rhszRTestLocILocDataFrameCategorical.test_loc_iloc_setitem_full_row_non_categorical_rhs  s    
 YY[[bf(1+C  #AhCF
b.111 ]9D111 	+ 	+#&(GGBKKQQQ	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+s   ;BB!$B!c                    |                                 }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            n# 1 swxY w Y   t          t          d          t          d
                    }t          j	        t          t                    5  | ||          |<   d d d            d S # 1 swxY w Y   d S )Nr6   r9   r   rD  r   r   r   rU  bbabcr   cc)rJ   rz  r"   rp   r=   r   rA   r"  r%   r&   r   msg2)	r(   r  rm  r   rD   r-   compatsemi_compatincompats	            r.   1test_loc_iloc_setitem_partial_col_categorical_rhszQTestLocILocDataFrameCategorical.test_loc_iloc_setitem_partial_col_categorical_rhs  s    YY[[Q{{Abfc??BJqM2C c3ZS#J???!C
b"4555 "$t**eEEE]9D111 	+ 	+  +GGBKK	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ tDzzd5kkBBB]9D111 	( 	('GGBKK	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s$   C00C47C4E""E&)E&c                    |                                 }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            d S # 1 swxY w Y   d S )	Nr6   r9   r   rD  r   r   r   rz   )
rJ   rz  r"   rp   r=   rA   r%   r&   r   rt  )r(   r  rm  r   rD   r-   s         r.   )test_loc_iloc_setitem_non_categorical_rhszITestLocILocDataFrameCategorical.test_loc_iloc_setitem_non_categorical_rhs  s   
 YY[[Q{{Abfc??BJqM2C  :C
b"4555 ]9D111 	* 	* #SzGGBKK	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s   B55B9<B9c                 H   t          dd                              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 d S )N2012r7   r2  r   r5   r   )r   r~   r   r   r    r4   r"   getitem)r(   r   rC   rD   r  s        r.   -test_getitem_preserve_object_index_with_dateszMTestLocILocDataFrameCategorical.test_getitem_preserve_object_index_with_dates*  s     +++226::999~S111x~''''bj  '"++a.CC'"++aaad#Cy&((((((rH   c                     t          dgdggt          j        ddgdg                    }t          dggt          j        dgdg                    }|j        d         }t	          j        ||           d S )	Nr   r2   )r   )r   r  r  )rc   r    r   r  )r(   rD   rF   rE   s       r.    test_loc_on_multiindex_one_levelz@TestLocILocDataFrameCategorical.test_loc_on_multiindex_one_level9  s    #s(&&)9'KKK
 
 
 #j4fXgYOOO
 
 
 
fh/////rH   N)r4  r5  r6  r%   fixturer  rc  rh  rm  rr  r7  r8  r"   rp   r   ru  rw  iatrx  rz  r|  r  r  r  r  r  r  rH   r.   rS  rS    sA       ^  ^ ^  ^ ^  ^ ^" " ^" ^% % ^% [Y(9::7 7 ;:7 [Y"%(HII# # JI#$ [Y(9::9 9 ;:9 [Y(9::+ + ;:+$ [Y(9::( ( ;:(: [Y(9::* * ;:*$ [YRVRW(EFF) ) GF)
0 
0 
0 
0 
0rH   rS  c                      e Zd Ze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                            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                            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                            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	d
S )TestDeprecatedIndexersr-   r2   r   c                     t          ddgddggddg          }t          j        t          d	          5  |j        |          d d d            d S # 1 swxY w Y   d S 
Nr2   r6   r7   r9   r   r   r<   as an indexer is not supportedr   r   r%   r&   r   rp   r(   r-   rD   s      r.   $test_getitem_dict_and_set_deprecatedz;TestDeprecatedIndexers.test_getitem_dict_and_set_deprecatedG  s    
 AA'#s<<<]9,LMMM 	 	F3KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AAAr6   r@  c                     t          ddgddggddgt          j        ddg          	          }t          j        t
          d
          5  |j        |          d d d            d S # 1 swxY w Y   d S Nr2   r6   r7   r9   r   r   r@  r  r   r  r   r   r   r  r%   r&   r   rp   r  s      r.   /test_getitem_dict_and_set_deprecated_multiindexzFTestDeprecatedIndexers.test_getitem_dict_and_set_deprecated_multiindexP  s     VaV#J(&&)9::
 
 

 ]9,LMMM 	 	F3KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   
A%%A),A)c                     t          ddgddggddg          }t          j        t          d	          5  d|j        |<   d d d            d S # 1 swxY w Y   d S r  r  r  s      r.   $test_setitem_dict_and_set_disallowedz;TestDeprecatedIndexers.test_setitem_dict_and_set_disallowede  s    
 AA'#s<<<]9,LMMM 	 	BF3K	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AAA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            d S # 1 swxY w Y   d S r  r  r  s      r.   /test_setitem_dict_and_set_disallowed_multiindexzFTestDeprecatedIndexers.test_setitem_dict_and_set_disallowed_multiindexn  s     VaV#J(&&)9::
 
 

 ]9,LMMM 	 	BF3K	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   
A""A&)A&N)
r4  r5  r6  r%   r7  r8  r  r  r  r  r  rH   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 	

 
 
 
  rH   r  returnc                  P   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        | |           d S )Nri  r2   rl   rj  rn  c                     | S )Nr  )ri  s    r.   r  z4test_adding_new_conditional_column.<locals>.<lambda>  s    a rH   )r   rp   r"   rA   )rD   rF   values      r.   "test_adding_new_conditional_columnr    s    	C!:		B #BF2c7a<s#//00H"h'''	C!:		BKE %BF2c7a<s%1122H"h'''''rH   )r4   infer_stringF)string[pyarrow_numpy]Tc                    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            n# 1 swxY w Y   t          ddgddgdt          d          gd                              dd| d          }t          j	        ||           d S )Npyarrowr2   r6   r7   r9   rk  future.infer_stringrl   r   rz   rx   r   r   )
r%   importorskipr   ro  option_contextrp   floatr~   r"   rA   )r4   r  rD   rF   s       r.   .test_adding_new_conditional_column_with_stringr    s    	"""	!Qq!f--	.	.B		0,	?	? ( ($'r#w!|S !( ( ( ( ( ( ( ( ( ( ( ( ( ( (1vQF#uU||9LMMNNUUG%00 H "h'''''s    A##A'*A'c                  x   t          j        d           t          ddgi          } t          j        dd          5  d| j        | d         dk    df<   d d d            n# 1 swxY w Y   t          dgt          dgd	          d
t          ddgt          	                    }t          j
        | |           d S )Nr  ri  r2   r  Trl   rj  r  r3   rn  r<   )r%   r  r   ro  r  rp   r   r   r   r"   rA   )rD   rF   s     r.    test_add_new_column_infer_stringr    s   
	"""	C!:		B		0$	7	7 ( ($'r#w!|S !( ( ( ( ( ( ( ( ( ( ( ( ( ( (cu,CDDDEEsCj///  H "h'''''s   AA#&A#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                            de	dd ej        d           ej        d          gz             ej                            de          d                         Zej                            de	dd ej        d          gz             ej                            de          d                         Zej                            de	dgz             ej                            de          d                         Zd
S )TestSetitemValidationc                    d}t          j        |          }|                                }t          j        ||          5  ||j        |df<   |                                }d d d            n# 1 swxY w Y   t          j        ||          5  ||j        |df<   |                                }d d d            d S # 1 swxY w Y   d S )Nz3Setting an item of incompatible dtype is deprecatedr   r   r   )rN   rO   rJ   r"   r   r   rp   )r(   rD   invalidr   warnrd   orig_dfs          r.   _check_setitem_invalidz,TestSetitemValidation._check_setitem_invalid  sD   Cinn'')) 'C888 	  	 ")BGGQJB	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 
 'C888 	  	 #*BF7C< B	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 s$   !A..A25A2!B==CCy      ?       @Truerl   z1.0rp  r   r2   TFFNr  r   r   c                 j    t          dg did          }|                     |||t                     d S )Nr   r  r   r3   r   r  r[  )r(   r  r   rD   s       r.   #test_setitem_validation_scalar_boolz9TestSetitemValidation.test_setitem_validation_scalar_bool  sB    
 1112&AAA##B-HHHHHrH   Tr   c                     t          dg di|          }t          |          r%|t          j        urt	          j        |          sd }nt          }|                     ||||           d S )Nr   r5   r3   )r   r   ro  rp  rK   isnatr[  r  )r(   r  any_int_numpy_dtyper   rD   r  s         r.   "test_setitem_validation_scalar_intz8TestSetitemValidation.test_setitem_validation_scalar_int  su     YYY'/BCCC== 	!WBF2228G;L;L2DD D##B$?????rH   c                 j    t          dg di|          }|                     |||t                     d S )Nr   )r2   r6   Nr3   r  )r(   r  float_numpy_dtyper   rD   s        r.   $test_setitem_validation_scalar_floatz:TestSetitemValidation.test_setitem_validation_scalar_float  s@     \\\*2CDDD##B-HHHHHrH   )r4  r5  r6  r  ro  rp  rK   rq  r  _invalid_scalarsrz  	_indexersr%   r7  r8  r   r   r  r  r  r  rH   r.   r  r    s            " 	
eu QCq!&:&:&:EE$d<S<STI[#q#xrx{{JBJqMM&JJ  [Y	22I I 32 I [Y(8D#zrzRU;W(WXX[Y	22@ @ 32 YX@ [Y(8D6(ABB[Y	22I I 32 CBI I IrH   r  )r  N)5collectionsr   r   r   decimalr   rN   numpyrK   r%   pandas._libsr   pandas.errorsr	   r
   r   pandas.util._test_decoratorsutil_test_decoratorsr9  pandas.core.dtypes.commonr   pandasro  r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr"   r\  r   r>  rQ  rt  r  rS  r  r  r7  r8  r   r  r  r  r  rH   r.   <module>r     s   " " " " " "              				                    
 * ) ) ) ) ) ) ) ) 0 0 0 0 0 0                                    R
D, D, D, D, D, D, D, D,N0!
 !
 !
 !
 !
 !
 !
 !
H() () ()V QL0 0 0 0 0 0 0 0D; ; ; ; ; ; ; ;|( ( ( ( 	' 
( 
( 
( 
(
( 
( 
(4I 4I 4I 4I 4I 4I 4I 4I 4I 4IrH   