
    o[weO
                    n   d dl mZ d dlmZmZ d dlmZ d dlZd dlZd dl	Z	d dl
mZ d dlmZmZmZ d dlmc mZ d dlmZ d dlZd dlmZmZmZmZmZmZmZmZm Z m!Z!m"Z" d dl#m$Z% d	Z& G d
 d          Z' G d d          Z(d Z)dZ*dZ+ G d d          Z, G d d          Z-ddZ.d Z/ G d d          Z0d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                            dMdNdOdPgdQfdRdSdPgeMfg          dT             ZNe j!        dU             ZOdV ZPej                            dWdQdQgeGjQ        eGjQ        gg          dX             ZRej                            dWdQeGjQ        g          dY             ZSej                            dZeTeUeVjW        g          d[             ZXd\ ZYej                            d]dPgdPg          ej                            d^i d_dSig          d`                         ZZej                            d^i dadPig          db             Z[dc Z\dd Z]de Z^ej                            d]d6dfg          ej                            dge_dhg          di                         Z`ej                            djd7d6g          ej                            d]dkdkgg          dl                         Zaej                            dmebjc        dSfebjd        dnfg          do             ZedQS )p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         Ilib/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                 2   |                                 }t          j                            d                              t          |                    |d<   t          j                            d                              t          |                    }||d<   t          j        t          t          j
        d                    5  |                    d           d d d            n# 1 swxY w Y   |d         }t          j        ||j                   d S )Nr6   z$10z@awesome_domainz'df["$10"]'r   z	df["$10"])copynpr   default_rngstandard_normalr   r%   r&   r'   reescape__getitem__r"   assert_numpy_array_equalvalues)r(   r)   rD   adress        r.   test_getitem2z#TestDataFrameIndexing.test_getitem2E   s"   I))!,,<<SWWEE5	Y""1%%55c"gg>> "]829_+E+EFFF 	( 	(NN;'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( "#
#B
33333s   C**C.1C.c                     |}t          g d|          }t          g dg dg|          }d|d<   t          g dg d	g|          }t          j        ||d
           d S )Nr1   r3   r5   r8   r<   
   r2   )rW   r6   rW   )rW   r:   rW   Tr>   r@   )r(   rB   r4   rC   rD   rF   s         r.   6test_setitem_numeric_should_not_fallback_to_positionalzLTestDataFrameIndexing.test_setitem_numeric_should_not_fallback_to_positionalR   s    !IIIU+++			999-s;;;1kkk;;;7EEE
b(======rH   c                 D   d|d<   |ddg         }||ddg<   t          j        |d         |d         d           t          j        |d         |d         d           d}t          j        t          |          5  |ddg         |dg<   d d d            n# 1 swxY w Y   t          t          |j                  d	z
            }d
t          |           dt          |           d}t          j        t          |          5  ||d<   d d d            d S # 1 swxY w Y   d S )NfooEABFcheck_namesz"Columns must be same length as keyr   r2   zLength of values \(z$\) does not match length of index \(z\))r"   assert_series_equalr%   r&   
ValueErrorranger   r    )r(   r)   datamsgnewcolumndatas        r.   test_setitem_listz'TestDataFrameIndexing.test_setitem_list[   s    CC:&"&S#J
{3/cNNNN
{3/cNNNN2]:S111 	2 	2%sCj1D#K	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2c$*oo122?3}#5#5 ? ?14T? ? ? 	 ]:S111 	& 	&%DI	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&s$   :BBBDDDc                    t          dt          d          ddgt                    }ddg|j        dddgf<   |j        |j        d         ddgf         }t          ddg|j        t          d          }t          j        ||           d	x|d<   |d<   d
dg|j        |j        d         ddgf<   |j        |j        d         ddgf         }t          d
dg|j        d          }t          j        ||           d S )Nr   r7   tt1tt2)r    r=   r4   r2   r6   )r4   name012rj   )	r   rb   intlocr    r   r=   r"   r`   r(   rD   rE   rF   s       r.   test_setitem_list2z(TestDataFrameIndexing.test_setitem_list2n   s   qa5%.LLL%&Fq5%. !eU^341a&"*Ca@@@
vx000 ##5	BuI/2Cjrx{UEN*+eU^343*bjq999
vx00000rH   c                    |j         d         }|j         |k    }|                    t                    }|j         |         }||         }t          j        ||j                    t          j        t          d          5  ||d d                   d d d            n# 1 swxY w Y   ||         }	t          j        |	|           t          j        t          d          5  ||          d d d            n# 1 swxY w Y   t          ||j                   }||         }	t          j        |	|           t          j
        t                    5  |                    |j         d d d                   }||         }	t          j        |	|           d d d            n# 1 swxY w Y   |||fD ]}
|
                                |
|
dk             }t          fdj        D             j         j                  }|
j        D ]}||vr|
|         ||<   |                    |
j        	          }t          j        ||d
           |
j        D ]<}||         j        ||         j        k    r||         j        |
|         j        k    sJ =d S )NrW   zItem wrong lengthr   zBoolean array expectedr   c                 r    i | ]3}|t          j        |         d k    |         t           j                  4S )r   )rK   wherenan).0crc   s     r.   
<dictcomp>z>TestDataFrameIndexing.test_getitem_boolean.<locals>.<dictcomp>   s7    QQQqBHT!Wq[$q'26::QQQrH   r    r=   r<   F)check_dtype)r    astypeobjectr"   assert_index_equalr%   r&   ra   rA   r   assert_produces_warningUserWarningreindex_get_numeric_datar   r=   r4   )r(   mixed_float_framemixed_int_framedatetime_framedindexerindexer_objsubindexsubframesubframe_objrD   bifbifwry   rc   s                 @r.   test_getitem_booleanz*TestDataFrameIndexing.test_getitem_boolean|   sc    $ &*nnV,,!'0!'*
h777]:-@AAA 	) 	)73B3<((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) &k2
lH555]:-EFFF 	+ 	+>**	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ [.*>??%k2
lH555 '44 	: 	:%--n.B44R4.HIIK)+6L!,999	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 
 	7 	7B
 ''))DR!V*CQQQQDLQQQj  D Z $ $D== eDG<<
<33D!#t????Z 7 7q6<47=00q6<2a5;66667)	7 	7s7   >BB"B	C33C7:C7	AFFFc                    |                                 }d|d<   |d                             d          |d<   |d                                          |d<   d|d<   |d                             d          |d<   |d                                          |d<   ||dk             }|j        }t          t	          j        d	          gd
z  t	          j        d          gdz  z   t	          j        d          gdz  z   g d          }t          j        ||           d|j        |j	        dd         ddgf<   ||dk             }|j        }t          t	          j        d	          gd
z  t	          j        d          gz   t	          j        d	          gz   t	          j        d          gz   t	          j        d	          gz   g d          }t          j        ||           d S )Nr2   r[   int32E1Fint64F1r   float64r9   r6   )r\   r]   CDr[   r   r   r   r    r7   )
rJ   r}   dtypesr   rK   r4   r"   r`   rp   r    )r(   r   rD   castedrE   rF   s         r.   test_getitem_boolean_castingz2TestDataFrameIndexing.test_getitem_boolean_casting   s     ""3S'..))3c7<<>>43S'..))3c7<<>>4BFXi  !A%x  !A%&x  !A%& =<<	
 
 
 	vx000 /0rx!}tTl*+BFXi  !A%x  !"x	""#$ x  !" x	""#	$
 =<<
 
 
 	vx00000rH   lstTFT)TTT)FFFc                     t          t          j        d                              dd                    }||         }|j        |j        |                  }t          j        ||           d S )N   r7   r9   )r   rK   arangereshaperp   r    r"   rA   )r(   r   rD   rE   rF   s        r.   test_getitem_boolean_listz/TestDataFrameIndexing.test_getitem_boolean_list   s]     ry}},,Q2233C6"(3-(
fh/////rH   c                 8   t           j                            d                              d          }t	          |                                g d          }||dk     xx         dz  cc<   ||dk     xx         dz  cc<   t          j        |j        |           d S )Nr6   r:   r:   )r\   r]   r   r   r[   r<   r   r2   )	rK   r   rL   rM   r   rJ   r"   assert_almost_equalrR   )r(   arrrD   s      r.   test_getitem_boolean_iaddz/TestDataFrameIndexing.test_getitem_boolean_iadd   s    i##A&&66v>>sxxzz+D+D+DEEE
26


a


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

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

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

?

64;	A666V7='/RRR
b(+++++s   
	GG#&G#c                    |d                              d          |d<   |d         j        t          j        k    sJ d|d<   |d         j        t          j        k    sJ t          j        t          |                    |d<   t          |d         j        j        t          j                  sJ d|d<   d|d<   |d         j        t          j        k    sJ d|d<   d|d<   |d         j        t          j	        k    sJ d|d<   |d         j        t          j        k    sJ d	|d<   |d         j        t          j        k    sJ d|d<   |d         j        t          j	        k    sJ d S )
Nr   i8r   r]   barrZ         @	somethingr6   )
r}   r4   rK   r   r   r   
issubclasstypeintegerr   r(   r)   s     r.   test_setitem_castz'TestDataFrameIndexing.test_setitem_cast  su   &s+22488C3%1111
 C3%1111 9S%5%566C+c*05rzBBBBB"EE5!'283333"E E5!'2:5555#$K ;'-9999#$K ;'-9999#&K ;'-;;;;;;rH   c                 |   t          g dg ddt          j        d                    }|d= g d|d<   d|v sJ t          |j                  dk    sJ d|d	<   d
|d<   d|d<   d|t          j                    <   d|t          j                    <   t          |j                  }d
|d	<   d|d<   t          |j                  dk    sJ |j        j	        t          j
        k    sJ d|d<   |d         j	        t          j        k    sJ d|d<   |d         j	        t          j        k    sJ d|d	<   d|d	         j        d         k    sJ t          t          j        d                    }d|d	<   d|d
<   |d
= d|d
<   |d
         j	        t          j
        k    sJ g d|d<   |d         j	        t          j
        k    sJ d S )N)      ?       @      @abry   )r]   r   r7   r   r]   r6   	beginningr\   rZ   r[   r   r   date      @r2   r   r   r   rl   rm   3	coercible)r   rK   r   r   r=   r   nowr    rR   r4   r   r   r   r   )r(   r)   rD   dms       r.   test_setitem_cornerz)TestDataFrameIndexing.test_setitem_corner  s   ___???CC29UV<<XXXsG!//3byyyy2:!####333#8<>> 8<>> [.///332:!####y"*,,,, 3#w}((((3#w}
**** 33Q''''RYq\\***35	uI5	%y"*,,,,)//;+$
222222rH   c                 N   g ddgdz  z   t           j                            d                              d          d}t          |          }||d         dk             j        }d|j        |dgf<   d	|j        |d
gf<   |j        d         dk    sJ |j        d         d	k    sJ d S )N)r   r   r   r      r6   r   )titlecruftr  r   r   r  )r2   r  )r2   r  )rK   r   rL   r   r    rp   )r(   rc   rD   ixs       r.   test_setitem_corner2z*TestDataFrameIndexing.test_setitem_corner2  s    000H:?BY**1--44R88
 

 t__7u$%+ (rG9} !rG9}vj!X----vj!Q&&&&&&rH   c                    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   r{   c                 ,    g | ]}t          d           S )r2   r   )rx   r+   s     r.   
<listcomp>z<TestDataFrameIndexing.test_setitem_ambig.<locals>.<listcomp>  s    "@"@"@!71::"@"@"@rH   r   )rZ   bzrbazr   r2   r6   )	r   rb   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\   rt   Fr^   )r"   r`   r   rp   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   rp   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 )Nr6   rW   r:      )
r   rK   r   rL   rM   r   rw   r   rR   r   r   s     r.   &test_getitem_fancy_slice_integers_stepz<TestDataFrameIndexing.test_getitem_fancy_slice_integers_step  s    ry,,Q//??HHII 	11BGDQqDM"")--///////rH   c                 4   t          t          j                            d                              d          t          ddd                    }|                                }d|j        dd<   |j        dd         dk    j        	                                sJ |                                }d|j        dd	<   |j        dd	         dk    j        	                                sJ |j        dd
         }|j
        dd	         }|                    g d          }t          j        ||           t          j        ||           |j        t          t          d                    t          t          dd                    d d d         z            }t          j        t"          d          5  |j
        dd	          d d d            n# 1 swxY w Y   t          j        t"          d          5  d|j
        dd	<   d d d            d S # 1 swxY w Y   d S )Nr6   r  r   r   r   r9   rW   r7   r   r;   )r9   r;   r  rW   r:   rt   z^3$r   )r   rK   r   rL   rM   rb   rJ   r   rR   r   rp   r   r"   rA   listr%   r&   r'   )r(   rD   cprE   result2rF   df2s          r.   ,test_getitem_setitem_integer_slice_keyerrorszBTestDataFrameIndexing.test_getitem_setitem_integer_slice_keyerrors  sh   I!!!$$44W==U1bRS__
 
 

 WWYY"""*..00000 WWYY"""*..000001&2,::mmm,,
fh///
gx000 gd588nntE!RLL'9'9$$B$'??@]86222 	 	GAbDMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]86222 	 	CGAbDM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   1GGG3HHHc                    |j         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_valuesrp   r   r"   rA   )r(   r)   float_string_framer   slicedoriginals         r.   test_fancy_getitem_slice_mixedz4TestDataFrameIndexing.test_fancy_getitem_slice_mixed3  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:   rW   r   r   )r"   makeTimeDataFramer    rp   rA   rJ   )r(   rD   startendrE   r#  rF   s          r.   "test_getitem_setitem_non_ix_labelsz8TestDataFrameIndexing.test_getitem_setitem_non_ix_labelsJ  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 )Nr6   r7   r6   r   r2   r{   )r   rK   r   rL   rM   rp   r    r   r"   rA   r=   )r(   rD   rsxps       r.   test_ix_multi_takez(TestDataFrameIndexing.test_ix_multi_take^  s    ry,,Q//??GGHHVBHM111$%ZZ__
b"%%% ry,,Q//??GGHHVBHM2:?23ZZqcA3Z//
b"%%%%%rH   c                     |}|j         }|j        D ]3}||         }|j        d d d         D ]}|||f         ||         k    sJ 4d S )Nr:   )rp   r=   r    )r(   r)   fr  coltsrC   s          r.   test_getitem_fancy_scalarz/TestDataFrameIndexing.test_getitem_fancy_scalarj  st    U 9 	/ 	/C3Bwsss| / /#s(|r#w...../	/ 	/rH   c                    |}|                                 }|j        }t          |j                  D ]\  }}||          |j        d d d         D ]u}|j                            |          }t          j                            d          	                                }	|	|j
        ||f<   |	|||f<   t          j        ||           vd S )Nr:   r6   )rJ   rp   	enumerater=   r    get_locrK   r   rL   rM   r   r"   rA   )
r(   r)   r:  rF   r  jr;  rC   ivals
             r.   test_setitem_fancy_scalarz/TestDataFrameIndexing.test_setitem_fancy_scalart  s    ##%%U  	** 	3 	3FAscFFwsss| 3 3GOOC((i++A..>>@@&)ad#"38%a22223	3 	3rH   c                    |}|j         }|                    ddg          }|d d g df         }t          j        ||           |                    |j        dd         ddg          }||j        dd         g df         }t          j        ||           |j        |j        d         k    }|                    |j        |         	          }||         }t          j        ||           ||d d f         }t          j        ||           |||j        d
d          f         }|                    |j        |         ddg          }t          j        ||           d S )Nr]   r   r<   )FTFTr:   rW   r{      r   r6   r   )rp   r   r"   rA   r    r=   )r(   r)   r:  r  rF   rE   boolvecs          r.   test_getitem_fancy_booleanz0TestDataFrameIndexing.test_getitem_fancy_boolean  sf   U99c3Z900AAA11112
fh///99171R4=3*9EEAGAbDM#=#=#==>
fh///'AGAJ&99177#3944G
fh///GQQQJ
fh///GQYqrr]*+99177#3c3Z9HH
fh/////rH   c                 F   |                                 }|                                 }|j                                         }|d         dk    }d|j        |<   d||j        <   t          ||j        |j                  }t          j        ||           |                                 }|                                 }|j                                         }d|j        |ddgf<   d||j        d df<   t          ||j        |j                  }t          j        ||           d S )Nr\   r           r{   r]   r6   )rJ   rR   rp   r   r    r=   r"   rA   )r(   r)   framerF   rR   r   s         r.   test_setitem_fancy_booleanz0TestDataFrameIndexing.test_setitem_fancy_boolean  s      ""##%%%%''SzA~	$!t{V8>8CSTTT
eX...  ""##%%%%''&)	$c
"#"%t{BQBV8>8CSTTT
eX.....rH   c                    |j         g d         }|j        |j        g d                  }t          j        ||           |j         d d g df         }|j        d d |j        g d         f         }t          j        ||           d S )N)r2   r9   rF  )r6   r   r2   )r   rp   r    r"   rA   r=   )r(   r)   rE   rF   s       r.   test_getitem_fancy_intsz-TestDataFrameIndexing.test_getitem_fancy_ints  s    !))),?;#4YYY#?@
fh///!!!!YYY,/?111k&9)))&D#DE
fh/////rH   c                 B   |d         d d d         dk    }|j         |         }|j         |d d d                  }t          j        ||           |                                }|                                }d|j         |<   d|j         |<   t          j        ||           d S )Nr\   rt   r2   r   )rp   r"   rA   rJ   )r(   r)   r   rE   rF   r"  s         r.   'test_getitem_setitem_boolean_misalignedz=TestDataFrameIndexing.test_getitem_setitem_boolean_misaligned  s    3"%)&?4":.
fh///##%%tT
b(+++++rH   c                     t          t          j                            d                              d                    }t          j        g d          }t          j        ddg          }|j        ||f         }|j        ddgdgf         }t          j        ||           |	                                }d|j        t          j        g d          t          j        ddg          f<   d|j        ddgdgf<   t          j        ||           d S )	Nr6   r5  r   FTr   r2   r:   )
r   rK   r   rL   rM   r   rp   r"   rA   rJ   )r(   rD   k1k2rE   rF   s         r.   "test_getitem_setitem_boolean_multiz8TestDataFrameIndexing.test_getitem_setitem_boolean_multi  s    ry,,Q//??GGHH X)))**Xudm$$B61a&1#+&
fh///7799IJrx+++,,bht}.E.EEF$%aVaS[!
b(+++++rH   c                    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}t          j        t          |          5  |dd         }d d d            n# 1 swxY w Y   |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:   r6   r   r   r   r9   )r   r6   r7   r9   r:   F)check_index_typer(  r   r2   r   z3The behavior of obj\[i:j\] with a float-dtype indexr   )r   r         @r   r   zPcannot do positional indexing on Index with these indexers \[1.0\] of type floatr   g?)r   rW  r   r   g
ףp=
@)r   r   rK   r   rL   rM   rp   r   r"   rA   r   r   r   FutureWarningr   r%   r&   r   rJ   
_slice_msgrR   )r(   using_array_managerr    rD   rE   rF   rd   r"  s           r.   !test_getitem_setitem_float_labelsz7TestDataFrameIndexing.test_getitem_setitem_float_labels  s   '''((ry,,Q//??GGuUUUA::nnn--
fh///6{{a!::q!f%%
fhGGGG6{{a!::sCj))
fh///6{{a !71Q3<
fh///qsD'SAAA 	 	!WF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	!  ""&&((((( ///00ry,,Q//??GGuUUU4 	 ]9C000 	 	GCENN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 1::se$$
fh///6{{aWWYY]9J777 	 	BGCEN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	) 	)WSU^q(F	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) }  """""!!,488:::::WWYY!!!)--/////!!,488::::: A
fh///6{{aA::22233
fh///6{{aQ::se$$
fh///6{{aC::77788
fh///6{{aWWYYs3wC!#'')))))))sH   !F88F<?F<I::I>I>L!!L%(L%M''M+.M+c                    t          t          j                            d                              d          g dg d          }t          d          |d<   |j        }t          t          j        d          gd	z  t          j        d
          gz   g d          }t          j
        ||           t          j        t          d          5  t          |j        d<   d d d            n# 1 swxY w Y   t          |j        d                   rJ |d         j        t          j        k    sJ |j        d         t          k    sJ t          j        |j        d<   t          |j        d                   sJ t          j        |j        dd d f<   t          |j        dd d f                                                   rJ d S )Nr6   r:   r7   )r   r   ry   r   e)rZ   r   r  r{   20010102	timestampr   r7   zdatetime64[s])rZ   r   r  r`  r   %Setting an item of incompatible dtyper   )r   r`  )ry   r`  r   ry   )r   rK   r   rL   rM   r   r   r   r4   r"   r`   r   rX  r   rp   r   r   rw   r   rq   s       r.   )test_setitem_single_column_mixed_datetimez?TestDataFrameIndexing.test_setitem_single_column_mixed_datetime0  s   I!!!$$44V<<+++)))
 
 
 $J//; Xi  !A%/)B)B(CC444
 
 
 	vx000 '!H
 
 
 	, 	, (,BF#$	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, /011111+$
2222v&'4//// $&6 BF+,----- sAAAvsAAAv''++-------s   C++C/2C/c                    t          g dt          ddd          dddt          ddd          t          ddd          gd          }t          d	t          d
          t          d                    }t          j        |d<   t          ddd          |j        d<   t          j        t          d          5  d|j        d<   d d d            n# 1 swxY w Y   d|j        ddgdf<   t          j        dt          j        d          gdt          j        d          gg          }||j        ddgddgf<   t          j        ||           d S )N)r   r   r   r         i  r2   xyi  i  r   r   r   abr;   r   r   r   r   ra  r   )r2   r   rf  rg  r6   r7   rd  z2013-01-01T00:00:00re  z2014-01-01T00:00:00r9   r:   r   )r   r   r!  rb   pdNaTrp   r"   r   rX  rK   r   
datetime64rA   )r(   rF   rD   r\   s       r.   test_setitem_mixed_datetimez1TestDataFrameIndexing.test_setitem_mixed_datetimeR  s   )))T1a((T1a((T1a((
 

 
 q$t**E!HH===&3!$1--v'!H
 
 
 	 	 BF6N	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 '1vs{HR]#899:R]#899:
 
 &'1vSz!"
b(+++++s   7CCCc                     |j         |j        d d         ddgf         }|j        |j         |j        d         d ddgf<   |j         |j        dd          ddgf         j        }|j        }t          j        ||           d S Nr6   r\   r]   )rp   r    rR   r"   r   r(   r)   piecerE   rF   s        r.   test_setitem_frame_floatz.TestDataFrameIndexing.test_setitem_frame_floatr  s     1"1" 5Sz AB?D|)"-//#s;<!2233!7#s!CDK<
vx00000rH   c                 D   |                                 }t          ddgddgg|j        dd         ddg	          }|j        t          d d                   ddgf}||j        |<   t          j        |j        |j        dd         ddgf         j        |j                   d S )
Nr   r   r   r(  r   r6   r\   r]   r{   )rJ   r   r    slicerp   r"   r   rR   r(   r+  r:  rt  r-   s        r.   test_setitem_frame_mixedz.TestDataFrameIndexing.test_setitem_frame_mixedy  s     ##%%3Z#s$AGAaCL3*
 
 
 wuT1~~&c
3c

quQWQqS\C:%=>Eu|TTTTTrH   c                    |                                 }t          ddgddgddgddggt          |j        d	d
                   ddgz   ddg          }|j        t	          d d
                   ddgf}||j        |<   t          j        |j        |j        d	d
         ddgf         j        |j        d	d
                    d S )Nr   r   r   r(  r   g      @g      @g       @r   r6   rZ   r   r\   r]   r{   )	rJ   r   r!  r    rw  rp   r"   r   rR   rx  s        r.   'test_setitem_frame_mixed_rows_unalignedz=TestDataFrameIndexing.test_setitem_frame_mixed_rows_unaligned  s    ##%%3Z#sc3Z#s<qwqs|$$u~5#J
 
 

 wuT1~~&c
3c

E!'!A$-#s+,3U\!A#5F	
 	
 	
 	
 	
rH   c                 v   |                                 }|j        |j        d d         dgf         }|j        dd          |_        |j        t          dd                    ddgf}||j        |<   t          j        |d<   t          j        |j        |j        dd          ddgf         j        |j                   d S )Nr6   r\   rr  r]   )	rJ   rp   r    rw  rK   rw   r"   r   rR   rx  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 rq  )rJ   rp   r    rw  rR   r"   r   rx  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   rZ   )r7   r9   r   r\   r]   r   r<   r\   r]         ?r   )r   rJ   rp   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 rq  )rp   r    r=   rR   r"   r   rs  s        r.   test_setitem_frame_alignz.TestDataFrameIndexing.test_setitem_frame_align  s     1"1" 5Sz AB!',c
>C)"##.c
:;!2233!7#s!CDK<
vx00000rH   c                    t          t          j                            d                              d          g d          }|j        d         }|d d         }t          j        ||           |j        d         }|j        ddg         }t          j        ||           |j        d         }|j        d	         }t          j	        ||           d S )
Nr6   r]  rZ   rZ   r   r  r   r   rZ   r   r9   r  r7   )
r   rK   r   rL   rM   rp   r"   rA   r   r`   rq   s       r.   "test_getitem_setitem_ix_duplicatesz8TestDataFrameIndexing.test_getitem_setitem_ix_duplicates  s    I!!!$$44V<<555
 
 

 bqb6
fh///7Aq6?
fh///71:
vx00000rH   c                    t          t          j                            d                              d          g d          }|j        dg         }|j        ddg         }t          j        ||           |j        |d         dk             }||d         dk             }t          j        ||           |j        |d         dk             }||d         dk             }t          j        ||           d S )	Nr6   r]  r  r   r   r9   r2   r   )	r   rK   r   rL   rM   rp   r   r"   rA   )r(   rD   rE   r   s       r.   +test_getitem_ix_boolean_duplicates_multiplezATestDataFrameIndexing.test_getitem_ix_boolean_duplicates_multiple  s    I!!!$$44V<<555
 
 

 gq!fo
fc***1	"Am
fc***1	"Am
fc*****rH   
bool_valueTFc                 6   t          dg di          }| d}t          j        t          |          5  |j        |          d d d            n# 1 swxY w Y   d}t          j        t          |          5  d|j        |<   d d d            d S # 1 swxY w Y   d S )Nr   r5   z7: boolean label can not be used without a boolean indexr   z.cannot use a single bool to index into setitemr   )r   r%   r&   r'   rp   )r(   r  rD   messagerd   s        r.   %test_getitem_setitem_ix_bool_keyerrorz;TestDataFrameIndexing.test_getitem_setitem_ix_bool_keyerror  s+    YYY'((XXX]87333 	 	F:	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ?]83/// 	# 	#!"BF:	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#s#   AAA6BBBc                    d|d<   t          |d         j        j        t          t          j        f          sJ |j        |j        d         df         }t          |          sJ t          ddgi          }d|d<   |j        d         }t          |          sJ t          dgd	gd
          }|j        d	gdf         }t          j        ||           d S )Nr2   r[   r:   r   gGz?i  r   rj  r   rn   )r   r4   r   ro   rK   r   rp   r    r   r   r   r"   r`   )r(   r)   rE   rD   rF   s        r.   "test_single_element_ix_dont_upcastz8TestDataFrameIndexing.test_single_element_ix_dont_upcast  s    C+c*05RZ7HIIIII!21!5s!:;&!!!!! dV}%%3&!!!!!3%!3///S!
vx00000rH   c                 l   t          t          j                            d                              d          t          ddd                    }|j        d         }|j        d         }t          j	        ||           |j        d         }|j        d         }t          j	        ||           |j        t          dd                   }|j        dd	         }t          j        ||           |j        g d
         }|                    |j        g d
                   }t          j        ||           d S )Nr6   rW   r9   r   r   r   r2   r9   r  re  r2   r6   r9   r;   )r   rK   r   rL   rM   rb   r   rp   r"   r`   rw  rA   r   r    r(   rD   rE   r   rF   s        r.   test_iloc_rowz#TestDataFrameIndexing.test_iloc_row  s   I!!!$$44W==U1bRS__
 
 
 fQi
vs+++fQi
vs+++ q!%6!B$<
fh/// &::bh|||455
fh/////rH   c                 N   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 )	Nr6   r  r   r   r   r9   r  rJ  )r   rK   r   rL   rM   rb   rJ   r   rw  r)  rp   r*  r"   r`   )r(   r   requestrD   r-  subsetexp_cols          r.   test_iloc_row_slice_viewz.TestDataFrameIndexing.test_iloc_row_slice_view  s   I!!!$$44W==U1bRS__
 
 
 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 )Nr6   r9   rW   r   r   r<   r2   r9   r  re  r  )r   rK   r   rL   rM   rb   r   rp   r"   r`   rw  rA   r   r=   r  s        r.   test_iloc_colz#TestDataFrameIndexing.test_iloc_col*  sR   I!!!$$44W==uQPRTU
 
 
 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 )	Nr6   r  r   r   r<   r9   r  rJ  )r   rK   r   rL   rM   rb   rJ   r   rw  r)  r*  rp   r   r"   rA   )r(   rZ  r   rD   r-  r  s         r.   test_iloc_col_slice_viewz.TestDataFrameIndexing.test_iloc_col_slice_viewA  sy   I!!!$$44W==uQPRTU
 
 
 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:   )r1  r2  )rp   itemr   r\   r]   r{   )FFFFFTr;   )r   r   r   r   r;   r;   )r   r   r   r   r   r   )r\   r]   r   )	r   r   insertr   rK   r   rp   r"   rA   )r(   trangerD   bool_idxrF   s        r.   test_loc_duplicatesz)TestDataFrameIndexing.test_loc_duplicates\  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datesrn   )r2   r   r6   )r   r2   r6   )r   r   r   r"   r`   rp   )r(   columnrD   s      r.   4test_setitem_with_unaligned_tz_aware_datetime_columnzJTestDataFrameIndexing.test_setitem_with_unaligned_tz_aware_datetime_columnw  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:   r[   rm  r   r;   rt   r'  GHztimedelta64[ns]zdatetime64[ns]ABCDEFGH)r   r   r   rK   r   rp   r    timedelta64rn  r   r   r4   r!  r"   r`   )r(   one_hourrD   rE   rF   s        r.   ,test_loc_setitem_datetimelike_with_inferencezBTestDataFrameIndexing.test_loc_setitem_datetimelike_with_inference  s
    1%%%Z
A>>>???(AL>A-X>>>31x<.1"4HEEEqqq#v$&Ha(l^a-?x$P$P$Prx|S !1x<.1"4HEEEqqq#v$&Ha(l^a-?x$P$P$Prx|S !.''3%'Xq8|nq.@%Q%Q%Qrx}c!"&0Q&G&G&Grx|~~s"#-&&3X'(()A-:J1K1K0Lq0PPz""
 
 
 	vx00000rH   c                 n   t          t          j        t          j        t          j        t          j        t          j        dt          j        dt          j        dddt          j        t          j        dt          j        t          j        dt          j        t          j        t          j        t          j        t          j        ddt          j        t          j        t          j        t          j        dddddddd          }|                                }d||d	k    <   |                                }d|j        d
<   d|j        d<   d|j        d<   d|j        d<   t          j        ||           d|d<   d}t          j        t          |          5  d||d	k    <   d d d            d S # 1 swxY w Y   d S )N)#   r   r   1   2   gjBz?g% t?gk?g?r   r2   )r   r2   r6   r7   r9   rg  g333333?)r   r2   )r  r2   )r  r2   )r  r9   testrZ   z1not supported between instances|unorderable typesr   )
r   rK   rw   rJ   rp   r"   rA   r%   r&   r   )r(   rD   r$  rF   rd   s        r.   #test_getitem_boolean_indexing_mixedz9TestDataFrameIndexing.test_getitem_boolean_indexing_mixed  s   BFBFOO+++  +  BFBFOO+  qa881 
 
< ggiiC#I7799UUUU
c8,,,5	A]9C000 	 	BrCxL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   
F**F.1F.c                    t          j        ddgddggd dg          }t          g dg dg|t          ddgd	
                    }t	          j        t          d          5  |d d df          d d d            n# 1 swxY w Y   t          t          d          d	
          }t          ddgddggddgddggd dg          }t          ddgddgg||          }|j        d d t          d           dff         }t          j        ||           d}t          t          d          d	
          }t          ddg||          }|d         }t          j        ||           d S )Nrf  rg  r   r2   ry   names)r2   r2   r6   r6   )r7   r7   r9   r9   rB  rn   r   rw  r   r6   )levelscodesr  r7   r9   )rf  r   r   )r   from_productr   r   r%   r&   r	   rb   rp   rw  r"   rA   r   r`   )r(   midgr    r=   rF   rE   rj   s           r.   test_type_error_multiindexz0TestDataFrameIndexing.test_type_error_multiindex  s   $sCj1a&%9$MMM\\<<<("E1a&s<S<S<S
 
 
 ],G<<< 	 	qqq!tHH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 eAhhS)))#JA'AA/?c{
 
 
 q!fq!f-weLLLE$KK++,
fh///eAhhS)))1a&D999F
vx00000s   #A<<B B c                 R   t          t          j        d          t          j                            t          j        d                              }|j        d d df         }|d         }t          j	        ||           |j
        d d df         }t          j	        ||           d S )Nr7   r9   r:   r<   r   r  )r   rK   r  rl  IntervalIndexfrom_breaksr   r   r"   r`   rp   )r(   rD   rF   rT   s       r.   ,test_getitem_interval_index_partial_indexingzBTestDataFrameIndexing.test_getitem_interval_index_partial_indexing  s    GFOOR%5%A%A")A,,%O%O
 
 
 7111a4=g
sH---fQQQVn
sH-----rH   c                 2   t          ddgt                    }t          j        d          t          j        d          d|j        d<   t          t          j        d          gt          j        d          gd          }t          j        ||           d S )Nr   r   )r=   r4   )r6   )r6   r6   rh  r   )r   r~   rK   zerosrp   r"   rA   r   s      r.    test_setitem_array_as_cell_valuez6TestDataFrameIndexing.test_setitem_array_as_cell_value  s    Sz888(4..rx/?/?@@q	BHTNN#328F;K;K:LMMNN
b(+++++rH   c                    t          dg did          }|                                }|j        d d d d df         |j        d d <   t	          j        ||           t          j        j        	                    |j        d d d d df                   |j        d d <   t	          j        ||           |j
        d d d d f         |j
        d d <   t	          j        ||           d S )Nr\   r5   Int64r3   rt   )r   rJ   rR   rp   r"   rA   rl  corearraysNumpyExtensionArrayr   )r(   rD   origs      r.   $test_iloc_setitem_nullable_2d_valuesz:TestDataFrameIndexing.test_iloc_setitem_nullable_2d_values  s    YYY'w777wwyyIaaa2g&qqq	
b$'''GN66ryDDbD7IJJqqq	
b$'''WQQQT]

b$'''''rH   c                     t          t          j        dt                              }t          j        |d                   |d<   |dg          d S )Nr2   r2   r3   r   )r   rK   r   r~   
empty_liker   s     r.   ,test_getitem_segfault_with_empty_like_objectzBTestDataFrameIndexing.test_getitem_segfault_with_empty_like_object  sD    rxf55566be$$1
A3rH   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   rd   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   rn   r   r2   r   r   )r   r   rp   r"   rA   r   s      r.   +test_loc_expand_empty_frame_keep_index_namezATestDataFrameIndexing.test_loc_expand_empty_frame_keep_index_name>  sn    uE"3,?,?,?@@@q	cA3ZuaSs/C/C/CDDD
b(+++++rH   c                     t          dgt          j        g g d                    }d|j        d<   t          ddgit          j        dgg d                    }t	          j        ||           d S )Nr   r   r  r   rZ   r5   r   r   r   from_tuplesrp   r"   rA   r   s      r.   +test_loc_expand_empty_frame_keep_midx_nameszATestDataFrameIndexing.test_loc_expand_empty_frame_keep_midx_namesE  s    E!7///!R!R!R
 
 
 "y5'N()OOOLLL
 
 
 	b(+++++rH   zval, idxr, warn)rf  r   Nrf  r   N)r2   r   Nr2   c                 2   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   ra  r   r   r   )r   r"   r   rp   rK   rw   rA   )r(   idxrrC  warnrD   rF   s         r.   test_loc_setitem_rhs_framez0TestDataFrameIndexing.test_loc_setitem_rhs_frameQ  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_warninge  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   ry   r   r   r   r   r   )r   r   from_arraysrp   r   r"   r`   )r(   rD   rC   rE   rF   s        r.   (test_loc_internals_not_updated_correctlyz>TestDataFrameIndexing.test_loc_internals_not_updated_correctlyo  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   rC  c                     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   ry   r   r   rl  NAr"   rA   r(   rC  rD   rF   s       r.    test_iloc_setitem_string_list_naz6TestDataFrameIndexing.test_iloc_setitem_string_list_na  sm     ___-X>>>QQQcBE3#45XFFF
b(+++++rH   c                     t          dg did          }||j        dd d f<   t          dt          j        ddgid          }t	          j        ||           d S r  r  r  s       r.   test_iloc_setitem_string_naz1TestDataFrameIndexing.test_iloc_setitem_string_na  sk     ___-X>>>111cBE3#45XFFF
b(+++++rH   funcc                     t          dg did          }d|j        d d  |dg          f<   t          dg did          }t          j        ||           d S )Nr   r5   r  r3   r:   r   )r:   r:   r:   r   )r(   r  rD   rF   s       r.   /test_iloc_setitem_ea_null_slice_length_one_listzETestDataFrameIndexing.test_iloc_setitem_ea_null_slice_length_one_list  sq     YYY'w777 !4499c999-W===
b(+++++rH   c                 L   t          t          j        ddgg dgddg                    }t          d|j        j                  } |dd	d
g          }|j        |d d f         }t          t          j        ddgddg                    }t          j	        ||           d S )Nr\   r]   r   firstsecondr  r   Indexerr   r   )r  r  )r\   r   )r\   r   )
r   r   r  r   r    r  rp   r  r"   rA   )r(   rD   indexer_tupler  rE   rF   s         r.   test_loc_named_tuple_for_midxz3TestDataFrameIndexing.test_loc_named_tuple_for_midx  s    )s___-gx5H  
 
 

 #9bhn==}3Sz:::aaa(Z((0C  
 
 

 	fh/////rH   r   r;  r   c                 >   t          dt          d          t          d          gi|          }|d         t          j        d          z   |j        dg|f<   t          dt          d          t          d          gi|          }t          j        ||           d S )Nr   z
2022-12-29z
2022-12-30r2   )daysz
2022-12-31)r   r   rl  	Timedeltarp   r"   rA   )r(   r;  r   rD   rF   s        r.   test_set_2d_casting_date_to_intz5TestDataFrameIndexing.test_set_2d_casting_date_to_int  s     9\**Il,C,CDLL
 
  "#w1)=)=)==sG|9\**Il,C,CDLL
 
 	b(+++++rH   rj   c                     d}t          i |t          |          t          |          d          }|                                }|ddg         |j        |dgz  ddgf<   t	          j        ||           d S )Nr  rk  rf  rg  T)r   rb   rJ   rp   r"   rA   )r(   r;  nrD   rF   s        r.   1test_loc_setitem_reordering_with_all_true_indexerzGTestDataFrameIndexing.test_loc_setitem_reordering_with_all_true_indexer  s~     <#<E!HH588<<<==7799)+S#JqD6zC:%&
b(+++++rH   c                    t          ddg          }|                                }t          dg          }t          j        d           5  ||j        d d df<   d d d            n# 1 swxY w Y   t          j        ||           d S )Nr   r   r<   )r   rJ   r"   r   rp   rA   )r(   rD   rF   rhss       r.   test_loc_rhs_empty_warningz0TestDataFrameIndexing.test_loc_rhs_empty_warning  s    Sz***7799&&&'-- 	! 	! BF111c6N	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!
b(+++++s   A''A+.A+c                 H   t          g dg dg          }t          ddgd          }t          dgd          }|j        ||f         }t          ddggdg	          }t          j        ||           |j        |j        |j        f         }t          j        ||           d S )
Nr   r2   r6   r7   r9   r:   r;   rF  r  	   r   r2   r  r3   r:   r;   r   )r   r   r   r"   rA   rR   )r(   rD   r   row_indexerrE   rF   s         r.   test_iloc_ea_series_indexerz1TestDataFrameIndexing.test_iloc_ea_series_indexer  s    9::!Qw///aS000g-.q!fXaS111
fh///+W^;<
fh/////rH   c                    t          g dg dg          }t          dt          j        gd          }d}t	          j        t          |          5  |j        d d |f          d d d            n# 1 swxY w Y   t	          j        t          |          5  |j        d d |j        f          d d d            d S # 1 swxY w Y   d S )Nr  r  r   r  r3   zcannot convertr   )	r   r   rl  r  r%   r&   ra   r   rR   )r(   rD   r   rd   s       r.   #test_iloc_ea_series_indexer_with_naz9TestDataFrameIndexing.test_iloc_ea_series_indexer_with_na  sI   9::!RU7333]:S111 	  	 GAAAwJ	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 ]:S111 	' 	'GAAAw~%&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	's$   A..A25A2B88B<?B<)Tr4   booleanc                    t          j        t          g d|          t          g d|          gddg          }t          dg di|	          }t	          j        t          t          |t                              5  |j	        |         }d d d            n# 1 swxY w Y   t          dd
dgit          ddgd|          	          }t	          j        ||           d S )N)TTFFr3   )TFTFr   r   r  ry   )r2   r6   r7   r9   r   r2   r6   TF)rj   r4   )r   r  r   r   r"   maybe_produces_warningr
   
isinstancetuplerp   r   rA   )r(   r4   r   midxrD   rE   rF   s          r.   test_loc_bool_multiindexz.TestDataFrameIndexing.test_loc_bool_multiindex  sA    %111???111??? *
 
 
 \\\*$777&'9:gu;U;UVV 	% 	%VG_F	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%1a&Me}3e!L!L!L
 
 
 	fh/////s   ?BB Br  r   c           
      .   t          t          t          ddd          t          ddd          g|          ddgd          }|                    d	          }||d
                  }|d         |j        |d
         |f<   t          j        ||           d S )Ni  r2   r   r   )r  TF)r   update)deepr%  r   )r   r   r   rJ   rp   r"   rA   )r(   r  r   rD   rF   	update_dfs         r.   2test_loc_datetime_assignment_dtype_does_not_changezHTestDataFrameIndexing.test_loc_datetime_assignment_dtype_does_not_change  s     #dAr**HT1b,A,AB    -	 
 
 777%%r(|$	(1&(9r(|W$%
b(+++++rH   zindexer, idxr6   c                    t          dt          j        gdt          j        gdt          j        ggt                    }t          dt          j        gdt          j        gg          }| ||          d |d d f<   t          dt          j        gdt          j        gdt          j        ggt                    }t	          j        ||           d S )Nrl   rm   r   r3   r2   r6   )r   rK   rw   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   )f__name__
__module____qualname__r/   rG   rU   rX   rf   rr   r   r   r%   markparametrizer   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r%  tdskip_array_manager_invalid_testr.  r3  r8  r=  rD  rH  rL  rN  rP  rT  r[  rb  ro  ru  ry  r{  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rl  rm  to_numpyr  r  r  rX  r  r  r  r  r  r  r!  r   rK   r   r  r
  r  r  r  r  r  r   r#  r(  r"   rp   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  : '9 9 ('9,1 1 1(
& 
& 
&/ / / '3 3 ('3 0 0 0. '/ / ('/(0 0 0, , ,, , ,W* W* W*r .  .  .D, , ,@1 1 1
U 
U 
U
 
 
U U UU U U- - -1 1 11 1 1&+ + +& [\D%=99	# 	# :9	#1 1 1$0 0 0./ / /,0 0 0.0 0 06, , ,64 4 41 1 1,, , ,\1 1 12. . ., , ,( ( (   [22BFOOH4M4MN /+ /+ /+b, , ,
, 
, 
, [3%}%		
 	, 	, 	, '. . ('.1 1 1. [UTD62525'$BCC, , DC, [UT25M22, , 32, [VdFBH%=>>, , ?>,0 0 0" [Y#55[UR#qN33	, 	, 43 65	, [UR&#$788, , 98,, , ,
0 
0 
0' ' ' [Yw88[WtY&7880 0 98 980" [UUDM22[Y&(:;;, , <; 32,$ [^rvqkBGQ<-HII, , JI, , ,rH   r   c                       e Zd Zd ZdS )TestDataFrameIndexingUInt64c           
      T   |}|d                              d          }d|j        vsJ ||d<   t          j        |d         t	          |d                     d|j        vsJ d|d<   ||d<   t          j        |d         t	          |d                     |d= |                                }t          j        t          d          5  t          j	        |j
        d<   t          j	        |j
        d	<   d d d            n# 1 swxY w Y   |d
         }t          j        t          |          t	          g dd
                     t          j        |j        t	          t          j        d          t          j        d          t          j        d          gg d                     d S )Nr\   rZ   r   rn   r   zincompatible dtyper   r  r2   r6   r]   r   uint64Or  r   )renamer=   r"   r`   r   rJ   r   rX  rl  rm  r   r   r   rK   r4   )r(   uint64_framerD   rC   r$  rE   s         r.   r   z(TestDataFrameIndexingUInt64.test_setitem  s   gnnU## "*$$$$3
r#ws(=(=(=>>>"*$$$$33
r#ws(=(=(=>>>sG ggii'=QRRR 	$ 	$VCHTNVCHTN	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ S
uV}}f5H5H5Hs.S.S.STTT
J(##RXc]]BHSMMB%oo  	
 	
 	
 	
 	
s   	)C>>DDN)r+  r,  r-  r   r3  rH   r.   r5  r5    s#        
 
 
 
 
rH   r5  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   rl  timedelta_rangerp   r   rR   r   r  r   xs_mgr_rebuild_blknos_and_blklocsfast_xsr   blocksblknosr4   iget)rZ  rD   r  mgrr   blkrC  s          r.   /test_object_casting_indexing_wraps_datetimelikerI  6  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hrB  rA  r   lmr  r2   r2   r2   r2   r2   r2   r2   catsrR   r   r   r   r   )r(   rU  rC   rR   r  s        r.   r  z$TestLocILocDataFrameCategorical.origf  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   rM  rO  )r2   r2   r6   r2   r2   r2   r2   rT  r   rV  )r(   cats1r  values1exp_single_rows        r.   r[  z.TestLocILocDataFrameCategorical.exp_single_rown  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   rM  rO  )r2   r2   r6   r6   r2   r2   r2   rT  r   rV  )r(   cats2r  values2exp_multi_rows        r.   r`  z-TestLocILocDataFrameCategorical.exp_multi_roww  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 )	Nr]  r   r   rM  rO  rS  rT  r   rV  )r(   cats3idx3values3exp_parts_cats_cols        r.   re  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 )	NrX  r   r   rM  rO  rS  rT  r   rV  )r(   cats4idx4values4exp_single_cats_values        r.   rj  z5TestLocILocDataFrameCategorical.exp_single_cats_value  sk     ???SRUJWWW88899''' )g..d!
 !
 !
 %$rH   r   c                    |                                 }t          dd          }|t          j        u rt          dd          }ddgddgg ||          |d d f<   t          j        ||           |                                 }t          j        t          t                    5  ddgddgg ||          |d d f<   d d d            d S # 1 swxY w Y   d S )Nr6   r9   rA  r   r   r   ry   )	rJ   rw  r"   rp   rA   r%   r&   r   msg1)r(   r  r`  r   rD   r-   s         r.   #test_loc_iloc_setitem_list_of_listszCTestLocILocDataFrameCategorical.test_loc_iloc_setitem_list_of_lists  s    YY[[AqkkbfS//C #Qx#q2CF
b-000YY[[]9D111 	7 	7$'8c1X"6GGBKKQQQ	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7s   $C

CCc                 n   |                                 }d}|t          j        t          j        fv r|j        d         |j        d         f}d ||          |<   t          j        ||           t          j        t          t                    5  d ||          |<   d d d            d S # 1 swxY w Y   d S )N)r6   r   r6   r   r   r   ry   )rJ   r"   rp   atr    r=   rA   r%   r&   r   rl  )r(   r  rj  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 )NrA  r   r   )rJ   r    r"   rp   r=   rA   )r(   r  rj  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   ry   )	rJ   r"   rp   r    rA   r%   r&   r   rl  )r(   r  r[  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   rA  r   r   r   rM  bbabcr   cc)rJ   rw  r"   rp   r=   r   rA   r!  r%   r&   r   msg2)	r(   r  re  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   rA  r   r   r   ry   )
rJ   rw  r"   rp   r=   rA   r%   r&   r   rl  )r(   r  re  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  )rc   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  r[  r`  re  rj  r.  r/  r"   rp   r   rm  ro  iatrp  rr  rt  r}  r  r  r  r  r3  rH   r.   rK  rK  e  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   rK  c                      e Zd Zej                            ddhddidhdfddidfddhfdddifg          d             Zej                            ddhddidhdfdfddidfdfddhfdddifg          d             Zej                            ddhddidhdfddidfddhfdddifg          d             Zej                            ddhddidhdfdfddidfdfddhfdddifg          d	             Z	d
S )TestDeprecatedIndexersr-   r2   r   c                     t          ddgddggddg          }t          j        t          d	          5  |j        |          d d d            d S # 1 swxY w Y   d S 
Nr2   r6   r7   r9   r   r   r<   as an indexer is not supportedr   r   r%   r&   r   rp   r(   r-   rD   s      r.   $test_getitem_dict_and_set_deprecatedz;TestDeprecatedIndexers.test_getitem_dict_and_set_deprecated(  s    
 AA'#s<<<]9,LMMM 	 	F3KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AAAr6   r7  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   r7  r  r   r  r   r   r   r  r%   r&   r   rp   r  s      r.   /test_getitem_dict_and_set_deprecated_multiindexzFTestDeprecatedIndexers.test_getitem_dict_and_set_deprecated_multiindex1  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_disallowedF  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_multiindexO  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  r3  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  returnc                  P   t          ddgi          } d| j        | d         dk    df<   t          dgdgd          }t          j        | |           t          ddgi          } d }|| j        | d         dk    df<   t          dg|gd          }t          j        | |           d S )Nrf  r2   rl   rg  rk  c                     | S )Nr3  )rf  s    r.   <lambda>z4test_adding_new_conditional_column.<locals>.<lambda>n  s    a rH   )r   rp   r"   rA   )rD   rF   values      r.   "test_adding_new_conditional_columnr  e  s    	C!:		B #BF2c7a<s#//00H"h'''	C!:		BKE %BF2c7a<s%1122H"h'''''rH   c                  x   t          j        d           t          ddgi          } t          j        dd          5  d| j        | d         dk    df<   d d d            n# 1 swxY w Y   t          dgt          dgd	          d
t          ddgt          	                    }t          j
        | |           d S )Npyarrowrf  r2   zfuture.infer_stringTrl   rg  zstring[pyarrow_numpy]r3   rk  r<   )r%   importorskipr   rl  option_contextrp   r   r   r~   r"   rA   )rD   rF   s     r.    test_add_new_column_infer_stringr  t  s   
	"""	C!:		B		0$	7	7 ( ($'r#w!|S !( ( ( ( ( ( ( ( ( ( ( ( ( ( (cu,CDDDEEsCj///  H "h'''''s   AA#&A#c            
          e Zd Zd Zddddej         ej        d           ej        d          gZ	ddg e
dd          g d	gZej                            d
e	dd ej        d           ej        d          gz             ej                            de          d                         Zej                            d
e	dd ej        d          gz             ej                            de          d                         Zej                            d
e	dgz             ej                            de          d                         ZdS )TestSetitemValidationc                    d}t          j        |          }|                                }t          j        ||          5  ||j        |df<   |                                }d d d            n# 1 swxY w Y   t          j        ||          5  ||j        |df<   |                                }d d d            d S # 1 swxY w Y   d S )Nz3Setting an item of incompatible dtype is deprecatedr   r   r   )rN   rO   rJ   r"   r   r   rp   )r(   rD   invalidr   r  rd   orig_dfs          r.   _check_setitem_invalidz,TestSetitemValidation._check_setitem_invalid  sD   Cinn'')) 'C888 	  	 ")BGGQJB	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 
 'C888 	  	 #*BF7C< B	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 s$   !A..A25A2!B==CCy      ?       @Truerl   z1.0rm  r   r2   TFFr  r   r   c                 j    t          dg did          }|                     |||t                     d S )Nr   r  r   r3   r   r  rX  )r(   r  r   rD   s       r.   #test_setitem_validation_scalar_boolz9TestSetitemValidation.test_setitem_validation_scalar_bool  sB    
 1112&AAA##B-HHHHHrH   Tr   c                     t          dg di|          }t          |          r|t          j        urd }nt          }|                     ||||           d S )Nr   r5   r3   )r   r   rl  rm  rX  r  )r(   r  any_int_numpy_dtyper   rD   r  s         r.   "test_setitem_validation_scalar_intz8TestSetitemValidation.test_setitem_validation_scalar_int  sf     YYY'/BCCC== 	!WBF22DD D##B$?????rH   c                 j    t          dg di|          }|                     |||t                     d S )Nr   )r2   r6   Nr3   r  )r(   r  float_numpy_dtyper   rD   s        r.   $test_setitem_validation_scalar_floatz:TestSetitemValidation.test_setitem_validation_scalar_float  s@     \\\*2CDDD##B-HHHHHrH   N)r+  r,  r-  r  rl  rm  rK   rn  r  _invalid_scalarsrw  	_indexersr%   r.  r/  r   r   r  r  r  r3  rH   r.   r  r    s            " 	
eu QCq!&:&:&:;I[#q#xrx{{JBJqMM&JJ  [Y	22I I 32 I [Y(8D#zrzRU;W(WXX[Y	22@ @ 32 YX@ [Y(8D6(ABB[Y	22I I 32 CBI I IrH   r  )r  N)1collectionsr   r   r   decimalr   rN   numpyrK   r%   pandas._libsr   pandas.errorsr	   r
   r   pandas.util._test_decoratorsutil_test_decoratorsr0  pandas.core.dtypes.commonr   pandasrl  r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr"   rY  r   r5  rI  rl  ry  rK  r  r  r  r  r3  rH   r.   <module>r     s   " " " " " "              				                    
 * ) ) ) ) ) ) ) ) 0 0 0 0 0 0                                    R
h, h, h, h, h, h, h, h,V/
 
 
 
 
 
 
 
B() () ()V QL0 0 0 0 0 0 0 0D; ; ; ; ; ; ; ;|( ( ( (
( 
( 
(4I 4I 4I 4I 4I 4I 4I 4I 4I 4IrH   