
    d                     F   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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 ZFej                            dGeGjH        eGjH        I                    dH          eGjH        I                    dI          g          dJ             ZJdK ZKdL ZLej                            dMdNdOg          ej                            dPdQdQgg          dR                         ZMe j!        dS             ZNdT ZOej                            dMdUdUgeGjP        eGjP        gg          dV             ZQej                            dMdUeGjP        g          dW             ZRej                            dXeSeTeUjV        g          dY             ZWdZ ZXej                            d[dQgdQg          ej                            d\i d]dOig          d^                         ZYej                            d\i d_dQig          d`             ZZda Z[db Z\dc Z]ej                            d[d6ddg          ej                            dee^dfg          dg                         Z_ej                            dhd7d6g          ej                            d[didigg          dj                         Z`ej                            dkeajb        dOfeajc        dlfg          dm             ZddUS )nTestDataFrameIndexingc                    |d d         }t          |j                  dk    sJ |                                D ]@\  }}t          |j                  dk    sJ t          j        |j        |j                  sJ A|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equalContents_seriespytestraisesKeyError)selffloat_framesl_serieskeys         e/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/frame/indexing/test_indexing.pytest_getitemz"TestDataFrameIndexing.test_getitem+   sL   "28}}""""  	< 	<IAvv|$$****#FL"(;;;;;;!)//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                    |                                 }t          j                            t	          |                    |d<   t          j                            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 )Nz$10z@awesome_domainz'df["$10"]'r   z	df["$10"])copynpr   randnr   r%   r&   r'   reescape__getitem__r"   assert_numpy_array_equalvalues)r(   r)   rD   adress        r.   test_getitem2z#TestDataFrameIndexing.test_getitem2E   s   IOOCGG,,5	Y__SWW%% "]829_+E+EFFF 	( 	(NN;'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( "#
#B
33333s   "CC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   )rV   r6   rV   )rV   r:   rV   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          j                  }ddg|j        dddgf<   |j        |j        d         ddgf         }t          ddg|j        t          j        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ri   )
r   ra   rK   int_locr    r   r=   r"   r_   r(   rD   rE   rF   s       r.   test_setitem_list2z(TestDataFrameIndexing.test_setitem_list2n   s   qa5%.PPP%&Fq5%. !eU^341a&"*BG!DDD
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 )NrV   zItem wrong lengthr   zBoolean array expectedr   c                 r    i | ]3}|t          j        |         d k    |         t           j                  4S )r   )rK   wherenan).0crb   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"   assert_index_equalr%   r&   r`   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bifwrx   rb   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   rZ   int32E1Fint64F1r   float64r9   r6   )r[   r\   CDrZ   r   r   r   r    r7   )
rJ   r|   dtypesr   rK   r4   r"   r_   ro   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reshapero   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                    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 )Nr:   )r[   r\   r   r   rZ   r<   r   r2   )rK   r   rL   r   rJ   r"   assert_almost_equalrQ   )r(   arrrD   s      r.   test_getitem_boolean_iaddz/TestDataFrameIndexing.test_getitem_boolean_iadd   s    iooa##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                 j   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 )	Nr9   r7   )r2   rV   r   rZ   r5   rz   rs   r2   rV   )
r   rK   r   rL   ilocro   r    r"   rA   r   rp   s       r.   test_getitem_ix_mixed_integerz3TestDataFrameIndexing.test_getitem_ix_mixed_integer   s    IOOAq!!):):):III
 
 
 "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	@      @)      $   (   )rV      +   "   )r   rV   r      )rnar     r<   r   r7   r   r2   r   r   r"   rA   rp   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)   rc   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   rV   r   r:   )r   ra   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
                            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}|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   |d         j        t          j        k    sJ |d         ddgk                                    sJ d S )Nr[   r6   col5   r   r    ri   col6Fr]   col9r:   col7gQ	@col0rY   col8zC\nA value is trying to be set on a copy of a slice from a DataFramerk   rl   col10r   )r   rK   ravelcolumn_stackrQ   rv   r   r    r"   r_   r   rL   r   r%   r&   r   r4   object_)r(   r)   using_copy_on_writer,   expr   smallerrc   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 iooc+..//!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 	. #SzGG33??? . .$': . . . . . . . . . . . . . . . w%3333 S#J.335555555s   G##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   rv   r   r"   rA   ro   r(   rD   rF   s      r.   test_setitem2z#TestDataFrameIndexing.test_setitem2O  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   rs   r2   r:   r6   r7   z;Must pass DataFrame or 2-d ndarray with boolean values onlyr   rz   )rJ   rQ   r"   r   r   r    rK   putmaskr%   r&   	TypeErrorabsrv   r   r=   rA   )	r(   r)   rD   rQ   r,   rc   df_origmaskrF   s	            r.   test_setitem_booleanz*TestDataFrameIndexing.test_setitem_booleanZ  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\   barrY         @	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                 r   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	         d         k    sJ t          t          j        d                    }d|d	<   d|d
<   |d
= d|d
<   |d
         j	        t          j
        k    sJ g d|d<   |d         j	        t          j
        k    sJ d S )N)      ?       @      @abrx   )r\   r   r7   r   r\   r6   	beginningr[   rY   rZ   r   r   date      @r2   r   r   r   rk   rl   3	coercible)r   rK   r   r   r=   r   nowr    rQ   r4   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
""""RYq\\***35	uI5	%y"*,,,,)//;+$
222222rH   c                 (   g ddgdz  z   t           j                            d          d}t          |          }||d         dk             j        }d|j        |dgf<   d|j        |d	gf<   |j        d
         dk    sJ |j        d         dk    sJ d S )N)r   r   r   r      r   )titlecruftr  r   r   r  )r2   r  )r2   r  )rK   r   r   r    ro   )r(   rb   rD   ixs       r.   test_setitem_corner2z*TestDataFrameIndexing.test_setitem_corner2  s    000H:?BY%%b))
 

 t__7u$%+ (rG9} !rG9}vj!X----vj!Q&&&&&&rH   c                    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 |d         j        t          j        k    sJ d S )	Nr7   rz   c                 ,    g | ]}t          d           S )r2   r   )rw   r+   s     r.   
<listcomp>z<TestDataFrameIndexing.test_setitem_ambig.<locals>.<listcomp>  s    "@"@"@!71::"@"@"@rH   r   )rY   bzrbazr   r2   r6   )	r   ra   r   rK   onesr   r=   r4   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:!####!u{bj((((((rH   c                 0   |d         |d <   t          j        |j        d d df         |d         d           t          j        |j        d d d f         |d         d           t          j        |d          |d         d           t	          |           d S )Nr[   rs   Fr]   )r"   r_   r   ro   reprr   s     r.   test_setitem_Nonez'TestDataFrameIndexing.test_setitem_None  s    ',D
QQQU#[%55	
 	
 	
 	
 	OAAAtG$k#&6E	
 	
 	
 	
 	{40+c2BPUVVVV[rH   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   ro   r   r   r"   rA   r(   rD   rE   s      r.   &test_loc_setitem_boolean_mask_allfalsez<TestDataFrameIndexing.test_loc_setitem_boolean_mask_allfalse  su    !//(:(:(: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 )NrV   r:      r6   )	r   rK   r   rL   r   rv   r   rQ   r   r  s      r.   &test_getitem_fancy_slice_integers_stepz<TestDataFrameIndexing.test_getitem_fancy_slice_integers_step  sz    ryr1--.. !A1BGDQqDM"")--///////rH   c                    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 )NrV   r:   r   r   r6   r   r9   r7   r   r;   )r9   r;   r  rV   rs   z^3$r   )r   rK   r   rL   ra   rJ   r   rQ   r   ro   r   r"   rA   listr%   r&   r'   )r(   rD   cprE   result2rF   df2s          r.   ,test_getitem_setitem_integer_slice_keyerrorszBTestDataFrameIndexing.test_getitem_setitem_integer_slice_keyerrors  sR   ryr1--U1b!__EEE 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$   F;;F?F?!G;;G?G?c                    |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 d|j        d d df<   |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_valuesro   r   r"   rA   )r(   r)   float_string_framer   slicedoriginals         r.   test_fancy_getitem_slice_mixedz4TestDataFrameIndexing.test_fancy_getitem_slice_mixed/  s    $(BCC0c{ BJ.... ##%%!!!!RSS&)s 3[5E5MNNNNN 
111c6" 	9$)..00000 VC[0+c2B2JKKKKK!+x88888rH   c                    t          j                    }|j        ddg         \  }}|j        ||         }|||         }|dd         }t          j        ||           t          j        ||           |                                }d|j        ||<   |                                }d|||<   |                                }d|dd<   t          j        ||           t          j        ||           d S )Nr:   rV   r   r   )r"   makeTimeDataFramer    ro   rA   rJ   )r(   rD   startendrE   r!  rF   s          r.   "test_getitem_setitem_non_ix_labelsz8TestDataFrameIndexing.test_getitem_setitem_non_ix_labelsF  s    !##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 )Nr7   r6   r   r2   rz   )
r   rK   r   rL   ro   r    r   r"   rA   r=   )r(   rD   rsxps       r.   test_ix_multi_takez(TestDataFrameIndexing.test_ix_multi_takeZ  s    ryq!,,--VBHM111$%ZZ__
b"%%% ryq!,,--VBHM2:?23ZZqcA3Z//
b"%%%%%rH   c                     |}|j         }|j        D ]3}||         }|j        d d d         D ]}|||f         ||         k    sJ 4d S Nr:   )ro   r=   r    )r(   r)   fr  coltsrC   s          r.   test_getitem_fancy_scalarz/TestDataFrameIndexing.test_getitem_fancy_scalarf  st    U 9 	/ 	/C3Bwsss| / /#s(|r#w...../	/ 	/rH   c                 j   |}|                                 }|j        }t          |j                  D ]\  }}||         }|j        d d d         D ]b}|j                            |          }	t          j                                        }
|
|j	        |	|f<   |
|||f<   t          j        ||           cd S r7  )rJ   ro   	enumerater=   r    get_locrK   r   rL   r   r"   rA   )r(   r)   r8  rF   r  jr9  r:  rC   ivals              r.   test_setitem_fancy_scalarz/TestDataFrameIndexing.test_setitem_fancy_scalarp  s    ##%%U  	** 	3 	3FAs3Bwsss| 3 3GOOC((ioo''&)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:   rV   rz      r   r6   r   )ro   r   r"   rA   r    r=   )r(   r)   r8  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           rz   r\   r6   )rJ   rQ   ro   r   r    r=   r"   rA   )r(   r)   framerF   rQ   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   rD  )r6   r   r2   )r   ro   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[   rs   r2   r   )ro   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 )	Nr7   r6   r   FTr   r2   r:   )	r   rK   r   rL   r   ro   r"   rA   rJ   )r(   rD   k1k2rE   rF   s         r.   "test_getitem_setitem_boolean_multiz8TestDataFrameIndexing.test_getitem_setitem_boolean_multi  s    ryq!,,-- X)))**Xudm$$B61a&1#+&
fh///7799IJrx+++,,bht}.E.EEF$%aVaS[!
b(+++++rH   c                 
   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        ||           d|j        dd	<   |dd	         }|dk                                                                    s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:   r:   r   r   r9   )r   r6   r7   r9   F)check_index_typer6   r&  r   r2   r   )r   r         @r   r   zPcannot do positional indexing on Index with these indexers \[1.0\] of type floatr   r   g?)r   rU  r   r   g
ףp=
@)r   r   rK   r   rL   ro   r   r"   rA   r   r   r   r%   r&   r   rJ   
_slice_msgrQ   )r(   using_array_managerr    rD   rE   rF   rc   r   s           r.   !test_getitem_setitem_float_labelsz7TestDataFrameIndexing.test_getitem_setitem_float_labels  s   '''((ryq!,,E:::A::nnn--
fh///6{{a!::q!f%%
fhGGGG6{{a!::sCj))
fh///6{{a !71Q3<
fh///qsAaC!  ""&&((((( ///00ryq!,,E:::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!#'')))))))s6   H!!H%(H%/KKK.LLL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        d<   t          |j        d                   rJ |d         j        t          j        k    sJ |j        d         t          k    sJ t          j        |j        d<   t          |j        d                   sJ t          j        |j        dd d f<   t          |j        dd d f                                                   rJ d S )Nr:   r7   )r   r   rx   r   e)rY   r   r
  rz   20010102	timestampr   datetime64[ns])rY   r   r
  r\  r   )r   r\  )rx   r\  r   rx   )r   rK   r   rL   r   r   r   r4   r"   r_   r   ro   r   r   rv   r   rp   s       r.   )test_setitem_single_column_mixed_datetimez?TestDataFrameIndexing.test_setitem_single_column_mixed_datetime*  s   IOOAq!!+++)))
 
 
 $J//; Xi  !A%2B)C)C(DD444
 
 
 	vx000 $( /011111+$
2222v&'4//// $&6 BF+,----- sAAAvsAAAv''++-------rH   c                 2   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<   d|j        d<   d|j        ddgdf<   t          j        dt          j	        d          gdt          j	        d          gg          }||j        ddgddgf<   t          j        ||           d S )N)r   r   r   r         i  r2   xyi  i  r   r   r   abr;   r   r   r   r   )r2   r   rb  rc  r6   r7   r`  z2013-01-01T00:00:00ra  z2014-01-01T00:00:00r9   r:   r   )r   r   r  ra   pdNaTro   rK   r   
datetime64r"   rA   )r(   rF   rD   r[   s       r.   test_setitem_mixed_datetimez1TestDataFrameIndexing.test_setitem_mixed_datetimeI  s2   )))T1a((T1a((T1a((
 

 
 q$t**E!HH===&3!$1--vv&1vs{HR]#899:R]#899:
 
 &'1vSz!"
b(+++++rH   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\   )ro   r    rQ   r"   r   r(   r)   piecerE   rF   s        r.   test_setitem_frame_floatz.TestDataFrameIndexing.test_setitem_frame_floatf  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\   rz   )rJ   r   r    slicero   r"   r   rQ   r(   r)  r8  rp  r-   s        r.   test_setitem_frame_mixedz.TestDataFrameIndexing.test_setitem_frame_mixedm  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   rY   r   r[   r\   rz   )	rJ   r   r  r    rs  ro   r"   r   rQ   rt  s        r.   'test_setitem_frame_mixed_rows_unalignedz=TestDataFrameIndexing.test_setitem_frame_mixed_rows_unalignedy  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[   rn  r\   )	rJ   ro   r    rs  rK   rv   r"   r   rQ   rt  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 rm  )rJ   ro   r    rs  rQ   r"   r   rt  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          }|                                }|j        d d ddgf         dz   |j        d d ddgf<   |                    ddg          }|dz  }|d         |d<   t	          j        ||           d S )	N)r2   r6   rY   )r7   r9   r   r[   r\   r   r<   r[   r\         ?r   )r   rJ   ro   r   r"   rA   )r(   rD   r"  rF   s       r.   test_setitem_frame_upcastz/TestDataFrameIndexing.test_setitem_frame_upcast  s    }}}5OOOggii!#C:!6!<C:::sCj:11C3
c8,,,,,rH   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 rm  )ro   r    r=   rQ   r"   r   ro  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 )
Nr:   r7   rY   rY   r   r
  r   r   rY   r6   r   r9   r
  )	r   rK   r   rL   ro   r"   rA   r   r_   rp   s       r.   "test_getitem_setitem_ix_duplicatesz8TestDataFrameIndexing.test_getitem_setitem_ix_duplicates  s    ryq!,,4W4W4WXXX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 )
Nr:   r7   r  r   r   r6   r9   r2   r   )r   rK   r   rL   ro   r   r"   rA   )r(   rD   rE   r   s       r.   +test_getitem_ix_boolean_duplicates_multiplezATestDataFrameIndexing.test_getitem_ix_boolean_duplicates_multiple  s    ryq!,,4W4W4WXXX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'   ro   )r(   r  rD   messagerc   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   rZ   r:   r   gGz?i  r   rf  r   rm   )r   r4   r   intrK   r   ro   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                 H   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 )NrV   r9   r   r   r6   r   r2   r  ra  r2   r6   r9   r;   )r   rK   r   rL   ra   r   ro   r"   r_   rs  rA   r   r    r(   rD   rE   r   rF   s        r.   test_iloc_rowz#TestDataFrameIndexing.test_iloc_row  s    ryr1--U1b!__EEE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                                         }d|j	        d d df<   |s=d|j	        d d df<   d|j
        dd<   t          j        |d         |d                   sJ t          j        |d         |           d S )	NrV   r9   r   r   r6   r   r  rH  )r   rK   r   rL   ra   rJ   r   rs  r'  ro   r(  r"   r_   )r(   r   requestrD   r+  subsetexp_cols          r.   test_iloc_row_slice_viewz.TestDataFrameIndexing.test_iloc_row_slice_view   s   ryr1--U1b!__EEE7799 q!%1vay111111+""$$
111a4" 	6"FJqqq!t#&GOAaC  #BqE6!955555
r!ug.....rH   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 )Nr9   rV   r   r   r6   r<   r2   r  ra  r  )r   rK   r   rL   ra   r   ro   r"   r_   rs  rA   r   r=   r  s        r.   test_iloc_colz#TestDataFrameIndexing.test_iloc_col  s9   ryq"--uQAGGGAfQQQTl
vs+++AfQQQTl
vs+++ E!QKK(6!!!QrT'?
fh/// LLL)::bj&>:??
fh/////rH   c                    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 d|j
        d d df<   |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 )	Nr9   rV   r   r   r6   r<   r  rH  )r   rK   r   rL   ra   rJ   r   rs  r'  r(  ro   r   r"   rA   )r(   rW  r   rD   r+  r  s         r.   test_iloc_col_slice_viewz.TestDataFrameIndexing.test_iloc_col_slice_view)  s`   ryq"--uQAGGG7799E!QKK(" 	0+> 	0#BqEM6!93DEEEEE"FJqqq!tqEQJ##%%%%% #BqEM6!93DEEEEEEE" J'1vay7HIIIIIF1I1IN'')))))!"h/////rH   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:   )r/  r0  )ro   itemr   r[   r\   rz   )FFFFFTr;   )r   r   r   r   r;   r;   )r   r   r   r   r   r   )r[   r\   r   )	r   r   insertr   rK   r   ro   r"   rA   )r(   trangerD   bool_idxrF   s        r.   test_loc_duplicatesz)TestDataFrameIndexing.test_loc_duplicatesB  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)periodstzdatesrm   )r2   r   r6   )r   r2   r6   )r   r   r   r"   r_   ro   )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   r  r   m8[ns]r3   r[   r6   r\   r7   r   r   r:   rZ   ri  r   r;   rs   r%  GHztimedelta64[ns]r]  ABCDEFGH)r   r   r   rK   r   ro   r    timedelta64rj  r   r   r4   r  r"   r_   )r(   one_hourrD   rE   rF   s        r.   ,test_loc_setitem_datetimelike_with_inferencezBTestDataFrameIndexing.test_loc_setitem_datetimelike_with_inferencej  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   rc  g333333?)r   r2   )r  r2   )r  r2   )r  r9   testrY   z1not supported between instances|unorderable typesr   )
r   rK   rv   rJ   ro   r"   rA   r%   r&   r   )r(   rD   r"  rF   rc   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 )Nrb  rc  r   r2   rx   names)r2   r2   r6   r6   )r7   r7   r9   r9   r@  rm   r   rs  r   r6   )levelscodesr  r7   r9   )rb  r   r   )r   from_productr   r   r%   r&   r	   ra   ro   rs  r"   rA   r   r_   )r(   midgr    r=   rF   rE   ri   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  rh  IntervalIndexfrom_breaksr   r   r"   r_   ro   )r(   rD   rF   rS   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   rd  r   )r   r}   rK   zerosro   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   rs   )r   rJ   rQ   ro   r"   rA   rh  corearraysPandasArrayr   )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..ryDDbD/ABB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   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   r(  joinr%   r&   r   r   rJ   )r(   r  any_numeric_ea_dtyperD   serr   rc   r"  s           r.   .test_setting_mismatched_na_into_nullable_failszDTestDataFrameIndexing.test_setting_mismatched_na_into_nullable_fails  sM    YYY'/CDDDg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-0A-
B%%B),B)CC!$C!
DD D?EEE<FFF=GGG:HHH(I??JJ%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   rm   r   r2   r   r   )r   r   ro   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   rY   r5   r   r   r   from_tuplesro   r"   rA   r   s      r.   +test_loc_expand_empty_frame_keep_midx_nameszATestDataFrameIndexing.test_loc_expand_empty_frame_keep_midx_names+  s    E!7///!R!R!R
 
 
 "y5'N()OOOLLL
 
 
 	b(+++++rH   rA  rb  r2   idxrr   c                 .   t          dddgi          }t          j        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   r   r   )r   r"   r   ro   rK   rv   rA   )r(   r  rA  rD   rF   s        r.   test_loc_setitem_rhs_framez0TestDataFrameIndexing.test_loc_setitem_rhs_frame7  s     aV}%%'-- 	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                 D   t          ddg          }|                                }|d d          }t          j        d           5  t	          j        ddgt          j                  |j        d d df<   d d d            n# 1 swxY w Y   t          j        ||           d S )Nr   r   r<   r2   r6   r3   r   )	r   rJ   r"   r   rK   r   r   r   rA   )r(   rD   rF   views       r.   $test_iloc_setitem_enlarge_no_warningz:TestDataFrameIndexing.test_iloc_setitem_enlarge_no_warningA  s     Sz***7799!!!u'-- 	? 	?HaV2:>>>BGAAAqDM	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	?
dH-----s   /B  BB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   rx   r   r   r   r   r   )r   r   from_arraysro   r   r"   r_   )r(   rD   rC   rE   rF   s        r.   (test_loc_internals_not_updated_correctlyz>TestDataFrameIndexing.test_loc_internals_not_updated_correctlyK  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   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   stringr3   r   r   rx   r   r   rh  NAr"   rA   r(   rA  rD   rF   s       r.    test_iloc_setitem_string_list_naz6TestDataFrameIndexing.test_iloc_setitem_string_list_nab  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_naj  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_listr  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  ro   r  r"   rA   )r(   rD   indexer_tupler  rE   rF   s         r.   test_loc_named_tuple_for_midxz3TestDataFrameIndexing.test_loc_named_tuple_for_midxz  s    )s___-gx5H  
 
 

 #9bhn==}3Sz:::aaa(Z((0C  
 
 

 	fh/////rH   r   r9  r   c                 >   t          dt          d          t          d          gi|          }|d         t          j        d          z   |j        dg|f<   t          dt          d          t          d          gi|          }t          j        ||           d S )Nr   z
2022-12-29z
2022-12-30r2   )daysz
2022-12-31)r   r   rh  	Timedeltaro   r"   rA   )r(   r9  r   rD   rF   s        r.   test_set_2d_casting_date_to_intz5TestDataFrameIndexing.test_set_2d_casting_date_to_int  s     9\**Il,C,CDLL
 
  "#w1)=)=)==sG|9\**Il,C,CDLL
 
 	b(+++++rH   ri   c                     d}t          i |t          |          t          |          d          }|                                }|ddg         |j        |dgz  ddgf<   t	          j        ||           d S )Nr  rg  rb  rc  T)r   ra   rJ   ro   r"   rA   )r(   r9  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   ro   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;   rD  r  	   r   r2   r  r3   r:   r;   r   )r   r   r   r"   rA   rQ   )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   rh  r  r%   r&   r`   r   rQ   )r(   rD   r   rc   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  rx   )r2   r6   r7   r9   r   r2   r6   TF)ri   r4   )r   r  r   r   r"   maybe_produces_warningr
   
isinstancetuplero   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   ro   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 )Nrk   rl   r   r3   r2   r6   )r   rK   rv   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   )e__name__
__module____qualname__r/   rG   rT   rW   re   rq   r   r   r%   markparametrizer   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r#  tdskip_array_manager_invalid_testr,  r1  r5  r;  rB  rF  rJ  rL  rN  rR  rX  r^  rk  rq  ru  rw  ry  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rh  ri  to_numpyr  r  r  r  r  r  r  r  r  r  r   rK   r   r  r  r  r  r  r  r  r   r  r"  r"   ro   r   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$) ) )& & &,6 ,6 ,6\	, 	, 	,2, 2, 2,h< < <:(3 (3 (3T' ' ') ) )$
 
 
* * *0 0 0  6 '9 9 ('9,1 1 1(
& 
& 
&/ / / '3 3 ('3 0 0 0. '/ / ('/(0 0 0, , ,, , ,U* U* U*n. . .>, , ,: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 02, , ,64 4 41 1 1,, , ,\1 1 12. . ., , ,( ( (   [22BFOOH4M4MN /+ /+ /+b, , ,
, 
, 
, [US!H--[VcC5\22, , 32 .-, '. . ('.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           
         |}|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        |j        d<   t          j        |j        d<   |d         }t          j        t          |          t	          g d	d                     t          j        |j
        t	          t          j        d
          t          j        d          t          j        d          gg d                     d S )Nr[   rY   r   rm   r   r  r2   r6   r\   r   uint64Or}  r   )renamer=   r"   r_   r   rJ   rh  ri  r   r   r   rK   r4   )r(   uint64_framerD   rC   r"  rE   s         r.   r   z(TestDataFrameIndexingUInt64.test_setitem  sn   gnnU## "*$$$$3
r#ws(=(=(=>>>"*$$$$33
r#ws(=(=(=>>>sG ggiiS
uV}}f5H5H5Hs.S.S.STTT
J(##RXc]]BHSMMB%oo  	
 	
 	
 	
 	
rH   N)r%  r&  r'  r   r-  rH   r.   r/  r/    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   2000r  z1 Dayr}  r   )axisr  r  r  )r   r   rh  timedelta_rangero   r  rQ   r   r  r   xs_mgr_rebuild_blknos_and_blklocsfast_xsr   blocksblknosr4   iget)rW  rD   r  mgrr   blkrA  s          r.   /test_object_casting_indexing_wraps_datetimelikerC    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hr@  r?  r   lmr
  r2   r2   r2   r2   r2   r2   r2   catsrQ   r   r   r   r   )r(   rO  rC   rQ   r  s        r.   r  z$TestLocILocDataFrameCategorical.origA  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   rG  rI  )r2   r2   r6   r2   r2   r2   r2   rN  r   rP  )r(   cats1r  values1exp_single_rows        r.   rU  z.TestLocILocDataFrameCategorical.exp_single_rowI  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   rG  rI  )r2   r2   r6   r6   r2   r2   r2   rN  r   rP  )r(   cats2r  values2exp_multi_rows        r.   rZ  z-TestLocILocDataFrameCategorical.exp_multi_rowR  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 )	NrW  r   r   rG  rI  rM  rN  r   rP  )r(   cats3idx3values3exp_parts_cats_cols        r.   r_  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 )	NrR  r   r   rG  rI  rM  rN  r   rP  )r(   cats4idx4values4exp_single_cats_values        r.   rd  z5TestLocILocDataFrameCategorical.exp_single_cats_valuee  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   r?  r   r   r   rx   )	rJ   rs  r"   ro   rA   r%   r&   r   msg1)r(   r  rZ  r   rD   r-   s         r.   #test_loc_iloc_setitem_list_of_listszCTestLocILocDataFrameCategorical.test_loc_iloc_setitem_list_of_listsp  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   rx   )rJ   r"   ro   atr    r=   rA   r%   r&   r   rf  )r(   r  rd  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 )Nr?  r   r   )rJ   r    r"   ro   r=   rA   )r(   r  rd  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   rx   )	rJ   r"   ro   r    rA   r%   r&   r   rf  )r(   r  rU  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   r?  r   r   r   rG  bbabcr   cc)rJ   rs  r"   ro   r=   r   rA   r  r%   r&   r   msg2)	r(   r  r_  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   r?  r   r   r   rx   )
rJ   rs  r"   ro   r=   rA   r%   r&   r   rf  )r(   r  r_  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   r  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  )rb   r    r   r  )r(   rD   rF   rE   s       r.    test_loc_on_multiindex_one_levelz@TestLocILocDataFrameCategorical.test_loc_on_multiindex_one_level  s    #s(&&)9'KKK
 
 
 #j4fXgYOOO
 
 
 
fh/////rH   N)r%  r&  r'  r%   fixturer  rU  rZ  r_  rd  r(  r)  r"   ro   r   rg  ri  iatrj  rl  rn  rw  ry  r|  r}  r  r-  rH   r.   rE  rE  @  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   rE  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   ro   r(   r-   rD   s      r.   $test_getitem_dict_and_set_deprecatedz;TestDeprecatedIndexers.test_getitem_dict_and_set_deprecated  s    
 AA'#s<<<]9,LMMM 	 	F3KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AAAr6   r1  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   r1  r  r   r  r   r   r   r  r%   r&   r   ro   r  s      r.   /test_getitem_dict_and_set_deprecated_multiindexzFTestDeprecatedIndexers.test_getitem_dict_and_set_deprecated_multiindex  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_disallowed!  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_multiindex*  s     VaV#J(&&)9::
 
 

 ]9,LMMM 	 	BF3K	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   
A""A&)A&N)
r%  r&  r'  r%   r(  r)  r  r  r  r  r-  rH   r.   r  r    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  ).collectionsr   r   r   decimalr   rM   numpyrK   r%   pandas._libsr   pandas.errorsr	   r
   r   pandas.util._test_decoratorsutil_test_decoratorsr*  pandas.core.dtypes.commonr   pandasrh  r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr"   rV  r   r/  rC  rf  rs  rE  r  r-  rH   r.   <module>r     sh   " " " " " "              				                    
 * ) ) ) ) ) ) ) ) 0 0 0 0 0 0                                    R
D, D, D, D, D, D, D, D,N.
 
 
 
 
 
 
 
@() () ()V QL0 0 0 0 0 0 0 0D; ; ; ; ; ; ; ; ; ;rH   