
    bMh*                       d dl mZ d dlmZmZ d dlmZ d dlZd dlZd dl	Z	d dl
mZ d dlmZ d dlmZmZmZ d dlmc mZ d dlmZ d dlZd d	lmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$ d dl%m&Z' d
Z( G d d          Z) G d d          Z*d Z+dZ,dZ- G d d          Z. G d d          Z/d dZ0e	j1        2                    de3df ej4        ej5                  dfg          d d            Z6d Z7 G d d          Z8dS )!    )
namedtuple)datetime	timedeltaDecimalN)using_string_dtype)iNaT)InvalidIndexErrorPerformanceWarningSettingWithCopyError)
is_integer)Categorical	DataFrameDatetimeIndexIndex
MultiIndexSeries	Timestamp
date_rangeisnanotnato_datetimezBslice indices must be integers or None or have an __index__ methodc            	          e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
ej                            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/ej        0                     e1            d-.          d/             Z2ej        0                     e1            d-.          d0             Z3ej        0                     e1            d-.          d1             Z4d2 Z5d3 Z6d4 Z7d5 Z8d6 Z9ej                            d7d8d9g          d:             Z:d; Z;d< Z<d= Z=d> Z>d? Z?d@ Z@dA ZAdB ZBdC ZCdD ZDdE ZEdF ZFdG ZGdH ZHdI ZIej        J                    dJ          ej                            dKeKjL        eKjL        M                    dL          eKjL        M                    dM          g          dN                         ZNdO ZOdP ZPej                            dQdRdSdTgfdUdVdTgfg          dW             ZQe j!        dX             ZRdY ZSej                            dZd[d[geKjT        eKjT        gg          d\             ZUej                            dZd[eKjT        g          d]             ZVej                            d^eWeXeYjZ        g          d_             Z[d` Z\ej                            dadTgdTg          ej                            dbi dcdVig          dd                         Z]ej                            dbi dedTig          df             Z^dg Z_dh Z`di Zaej                            dad8djg          ej                            dkebdlg          dm                         Zcej                            dnd9d8g          ej                            dadodogg          dp                         Zdej                            dqeejf        dVfeejg        drfg          ds             Zhd[S )tTestDataFrameIndexingc                    |d d         }t          |j                  dk    sJ |                                D ]>\  }}t          |j                  dk    sJ t          j        |j        |j                   ?|j                                        D ]\  }}||         J d|vsJ t          j        t          d          5  |d          d d d            d S # 1 swxY w Y   d S )N   randommatch)	lenindexitemstmassert_index_equal_seriespytestraisesKeyError)selffloat_framesl_serieskeys         i/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/frame/indexing/test_indexing.pytest_getitemz"TestDataFrameIndexing.test_getitem-   sF   "28}}""""  	: 	:IAvv|$$****!&,9999!)//11 	0 	0FCs#////{****]88444 	" 	"!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"s   	CCCc                     |}t          g d|          }t          g dg dg|          }|d         }t          ddgdd	ggt          ddg|                    }t          j        ||d
           d S )N   r   r3   dtyper3                  columnsr3   r8   r:   r<   Tcheck_exactr   r   r#   assert_frame_equal)r)   any_numeric_dtyper5   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 )Nr7   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*   rE   adress        r/   test_getitem2z#TestDataFrameIndexing.test_getitem2G   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 )Nr2   r4   r6   r9   r=   
   r3   )rX   r7   rX   )rX   r;   rX   Tr?   rA   )r)   rC   r5   rD   rE   rG   s         r/   6test_setitem_numeric_should_not_fallback_to_positionalzLTestDataFrameIndexing.test_setitem_numeric_should_not_fallback_to_positionalT   s    !IIIU+++			999-s;;;1kkk;;;7EEE
b(======rI   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   r3   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   r8   tt1tt2)r!   r>   r5   r3   r7   )r5   name012rk   )	r   rc   intlocr!   r   r>   r#   ra   r)   rE   rF   rG   s       r/   test_setitem_list2z(TestDataFrameIndexing.test_setitem_list2p   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0rI   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 )NrX   zItem wrong lengthr   zBoolean array expectedr   c                 r    i | ]3}|t          j        |         d k    |         t           j                  4S r   )rL   wherenan).0crd   s     r/   
<dictcomp>z>TestDataFrameIndexing.test_getitem_boolean.<locals>.<dictcomp>   s7    QQQqBHT!Wq[$q'26::QQQrI   r!   r>   r=   F)check_dtype)r!   astypeobjectr#   r$   r&   r'   rb   rB   r   assert_produces_warningUserWarningreindex_get_numeric_datar   r>   r5   )r)   mixed_float_framemixed_int_framedatetime_framedindexerindexer_objsubindexsubframesubframe_objrE   bifbifwr{   rd   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 )Nr3   r\   int32E1Fint64F1r   float64r:   r7   )r]   r^   CDr\   r   r   r   r!   r8   )
rK   r   dtypesr   rL   r5   r#   ra   rq   r!   )r)   r   rE   castedrF   rG   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0rI   lstTFT)TTT)FFFc                     t          t          j        d                              dd                    }||         }|j        |j        |                  }t          j        ||           d S )N   r8   r:   )r   rL   arangereshaperq   r!   r#   rB   )r)   r   rE   rF   rG   s        r/   test_getitem_boolean_listz/TestDataFrameIndexing.test_getitem_boolean_list   s]     ry}},,Q2233C6"(3-(
fh/////rI   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 )Nr7   r;   r;   )r]   r^   r   r   r\   r=   r   r3   )	rL   r   rM   rN   r   rK   r#   assert_almost_equalrS   )r)   arrrE   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#.....rI   c                     t          t          j        ddg          dgt          g                     }t          j        g t
                    }||          d||<   d S )Nr   r3   r]   r>   r!   )r   rL   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rI   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 )	Nr7   )r:   r8   )r3   rX   r   r\   r6   r}   ru   r3   rX   )r   rL   r   rM   rN   ilocrq   r!   r#   rB   r   rr   s       r/   test_getitem_ix_mixed_integerz3TestDataFrameIndexing.test_getitem_ix_mixed_integer   s    I!!!$$44V<<###II
 
 
 "6"(3B3-(
fh///B6%B..)
fh/////rI   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	@      @)      $   (   )rX      +   "   )r   rX   r      )rnar     r=   r   r8   r   r3   r   r   r#   rB   rr   s       r/   test_getitem_ix_mixed_integer2z4TestDataFrameIndexing.test_getitem_ix_mixed_integer2  s    +'''###%oo	  ,++
 
 
 TF7111qc6?
fh///UG7111qc6?
fh/////rI   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#   ra   r]   r&   r'   AttributeErrorNONEXISTENT_NAME)r)   r*   re   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foobarr3   rX   r   r;   )r   rc   r   allr)   rE   s     r/   test_setattr_columnz)TestDataFrameIndexing.test_setattr_column  sI    !}E"II666		Q##%%%%%%%rI   c                    |d         d d d         }||d<   d|v sJ t          |          dk    sJ t          |          dk    sJ t          j        t          j        |j        t          j        gdz  f                    }t          ||j        d          }t          j	        |d         |           |d         }||d<   t          j	        ||d         d	           t          j
                            d                              t          |                    }||d
<   |d
         |k                                    sJ d|d<   |d         dk                                    sJ d|d<   |d         dk                                    sJ d|d<   |d         dk                                    sJ |d d         }d}	|s|rddg|d<   n:t          j        t           |	          5  ddg|d<   d d d            n# 1 swxY w Y   |r|d         j        dk    sJ n|d         j        t          j        k    sJ |d         ddgk                                    sJ d S )Nr]   r7   col5   r   r!   rk   col6Fr_   col9r;   col7gQ	@col0r[   col8zC\nA value is trying to be set on a copy of a slice from a DataFramerm   rn   col10r   str)r    rL   ravelcolumn_stackrS   ry   r   r!   r#   ra   r   rM   rN   r   r&   r'   r   r5   object_)
r)   r*   using_copy_on_writewarn_copy_on_writeusing_infer_stringr-   expr   smallerre   s
             r/   test_setitemz"TestDataFrameIndexing.test_setitem%  s    S!##A#&$F$$$$6{{b    ;2%%%%hrx"}'EFFGGS 1???
{62C888S!$F
v{6':NNNN i##A&&66s;7G7GHH!FF#s*//11111FF#q(--/////"FF#t+0022222#FF#u,1133333 bqb/T 	."4 	. #SzGG33??? . .$': . . . . . . . . . . . . . . .  	87#)U222227#)RZ7777 S#J.335555555s   $G88G<?G<c                 >   t          ddgg          }t          j        |j        d<   t          t          j        t          j        gg          }t	          j        ||           t          ddgg          }t          j        |j        d<   t	          j        ||           d S )Nr   )r   rL   ry   r   r#   rB   rq   r)   rE   rG   s      r/   test_setitem2z#TestDataFrameIndexing.test_setitem2X  s    Ax  V
rvrv./00
b(+++Ax  Fq	
b(+++++rI   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 )Nr:   r]   r   ru   r3   r;   r7   r8   z;Must pass DataFrame or 2-d ndarray with boolean values onlyr   r}   )rK   rS   r#   r   r   r!   rL   putmaskr&   r'   	TypeErrorabsry   r   r>   rB   )	r)   r*   rE   rS   r-   re   df_origmaskrG   s	            r/   test_setitem_booleanz*TestDataFrameIndexing.test_setitem_booleanc  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^   barr[         @	somethingr7   )
r   r5   rL   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 ;'-;;;;;;rI   c                    t          g dg ddt          j        d                    }|d= g d|d<   d|v sJ t          |j                  dk    sJ d|d	<   d
|d<   d|d<   d|t          j                    <   d|t          j                    <   t          |j                  }d
|d	<   d|d<   t          |j                  dk    sJ |j        j	        t          j
        k    sJ d|d<   |d         j	        t          j        k    sJ d|d<   |d         j	        t          j        k    sJ d|d	<   d|d	         j        d         k    sJ t          t          j        d                    }d|d	<   d|d
<   |d
= d|d
<   |r|d
         j	        dk    sJ n|d
         j	        t          j
        k    sJ g d|d<   |r|d         j	        dk    sJ d S |d         j	        t          j
        k    sJ d S )N)      ?       @      @abr{   )r^   r   r8   r   r^   r7   	beginningr]   r[   r\   r   r   date      @r3   r   r   r   r   rm   rn   3	coercible)r   rL   r   r    r>   r   nowr!   rS   r5   r   r   r   r   )r)   r*   r   rE   dms        r/   test_setitem_cornerz)TestDataFrameIndexing.test_setitem_corner  s-   ___???CC29UV<<XXXsG!//3byyyy2:!####333#8<>> 8<>> [.///332:!####y"*,,,, 3#w}((((3#w}
**** 33Q''''RYq\\***35	uI5	 	1e9?e+++++e9?bj0000)//; 	7k?(E111111k?(BJ666666rI   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      r7   r   )titlecruftr  r   r   r	  )r3   r  )r3   r	  )rL   r   rM   r   r!   rq   )r)   rd   rE   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&&&&&&rI   c                 L   t          t          d          t          d                    }t          d t          d          D             t          d                    }t          g dt          d                    }t          j        d          |d<   t          |j                  dk    sJ ||d<   t          |j                  dk    sJ ||d<   t          |j                  dk    sJ |r|d         j        d	k    sJ d S |d         j        t          j        k    sJ d S )
Nr8   r}   c                 ,    g | ]}t          d           S )r3   r   )rz   r,   s     r/   
<listcomp>z<TestDataFrameIndexing.test_setitem_ambig.<locals>.<listcomp>  s    "@"@"@!71::"@"@"@rI   r   )r[   bzrbazr   r3   r7   r   )	r   rc   r   rL   onesr    r>   r5   r   )r)   r   r  coercable_seriesuncoercable_seriess        r/   test_setitem_ambigz(TestDataFrameIndexing.test_setitem_ambig  s"    U1XXuQxx888!"@"@uQxx"@"@"@aQQQ#$9$9$9qJJJ

12:!#### 12:!####"12:!#### 	-a5;%''''''a5;"*,,,,,,rI   c                    |d         |d <   t          j        |j        d d df         |d         d           t          j        |j        d d d f         |d         d           t          j        |d          |d         d           d S )Nr]   ru   Fr_   )r#   ra   r   rq   r   s     r/   test_setitem_Nonez'TestDataFrameIndexing.test_setitem_None  s    ',D
QQQU#[%55	
 	
 	
 	
 	OAAAtG$k#&6E	
 	
 	
 	
 	{40+c2BPUVVVVVVrI   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   rK   r   rq   r   r   r#   rB   )r)   rE   rF   s      r/   &test_loc_setitem_boolean_mask_allfalsez<TestDataFrameIndexing.test_loc_setitem_boolean_mask_allfalse  s}    !//(:(:(:AVAVAVWW
 
 +18==??
68==??C'(
fb)))))rI   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 )Nr7   rX   r;      )
r   rL   r   rM   rN   r   ry   r   rS   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"")--///////rI   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 )Nr7   r   r   r   r   r:   rX   r8   r   r<   )r:   r<   r!  rX   r;   ru   z^3$r   )r   rL   r   rM   rN   rc   rK   r   rS   r   rq   r   r#   rB   listr&   r'   r(   )r)   rE   cprF   result2rG   df2s          r/   ,test_getitem_setitem_integer_slice_keyerrorszBTestDataFrameIndexing.test_getitem_setitem_integer_slice_keyerrors%  sh   I!!!$$44W==U1bRS__
 
 

 WWYY"""*..00000 WWYY"""*..000001&2,::mmm,,
fh///
gx000 gd588nntE!RLL'9'9$$B$'??@]86222 	 	GAbDMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]86222 	 	CGAbDM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   1GGG3HHHc                 J   |j         d d dd f         }|d         j        t          j        k    sJ |                                }|j         d d dd f         }t          j        |d         j        |d         j                  sJ t          j        |          5  d|j	        d d df<   d d d            n# 1 swxY w Y   |sM|d         dk    
                                sJ t          j        |d         j        |d         j                   d S t          j        ||           d S )Nr   r         @r:   )r   r5   rL   r   rK   shares_memory_valuesr#   assert_cow_warningrq   r   rB   )r)   r*   float_string_framer   r   slicedoriginals          r/   test_fancy_getitem_slice_mixedz4TestDataFrameIndexing.test_fancy_getitem_slice_mixedB  ss    $(BCC0c{ BJ.... ##%%!!!!RSS&)s 3[5E5MNNNNN"#566 	% 	%!$FJqqq#v	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%" 	9$)..00000 VC[0+c2B2JKKKKK!+x88888s   B44B8;B8c                    t          t          d          t          dd                    }|j        ddg         \  }}|j        ||         }|||         }|dd         }t          j        ||           t          j        ||           |                                }d|j        ||<   |                                }d|||<   |                                }d|dd<   t          j        ||           t          j        ||           d S )	Nr   z
2020-01-01periodsr   r;   rX   r   r   )r   rc   r   r!   rq   r#   rB   rK   )r)   rE   startendrF   r&  rG   s          r/   "test_getitem_setitem_non_ix_labelsz8TestDataFrameIndexing.test_getitem_setitem_non_ix_labelsZ  s	   uRyy
<(L(L(LMMMXq"g&
sc	"U3Y-ad8
fh///
gx000 !
59''))c	77992
fh///
gx00000rI   c                 *   t          t          j                            d                              d                    }|j        |j        dk    d d f         }|                    dg          }t          j	        ||           t          t          j                            d                              d                    }|j        |j        dk    |j
        dk    f         }|                    dgdg          }t          j	        ||           d S )Nr7   r8   r7   r   r3   r}   )r   rL   r   rM   rN   rq   r!   r   r#   rB   r>   )r)   rE   rsxps       r/   test_ix_multi_takez(TestDataFrameIndexing.test_ix_multi_taken  s    ry,,Q//??GGHHVBHM111$%ZZ__
b"%%% ry,,Q//??GGHHVBHM2:?23ZZqcA3Z//
b"%%%%%rI   c                     |}|j         }|j        D ]3}||         }|j        d d d         D ]}|||f         ||         k    sJ 4d S )Nr;   )rq   r>   r!   )r)   r*   fr
  coltsrD   s          r/   test_getitem_fancy_scalarz/TestDataFrameIndexing.test_getitem_fancy_scalarz  st    U 9 	/ 	/C3Bwsss| / /#s(|r#w...../	/ 	/rI   c                    |}|                                 }|j        }t          |j                  D ]\  }}||          |j        d d d         D ]u}|j                            |          }t          j                            d          	                                }	|	|j
        ||f<   |	|||f<   t          j        ||           vd S )Nr;   r7   )rK   rq   	enumerater>   r!   get_locrL   r   rM   rN   r   r#   rB   )
r)   r*   r?  rG   r
  jr@  rD   ivals
             r/   test_setitem_fancy_scalarz/TestDataFrameIndexing.test_setitem_fancy_scalar  s    ##%%U  	** 	3 	3FAscFFwsss| 3 3GOOC((i++A..>>@@&)ad#"38%a22223	3 	3rI   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;   rX   r}      r   r7   r   )rq   r   r#   rB   r!   r>   )r)   r*   r?  r
  rG   rF   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/////rI   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^   r7   )rK   rS   rq   r   r!   r>   r#   rB   )r)   r*   framerG   rS   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.....rI   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)r3   r:   rK  )r7   r   r3   )r   rq   r!   r#   rB   r>   )r)   r*   rF   rG   s       r/   test_getitem_fancy_intsz-TestDataFrameIndexing.test_getitem_fancy_ints  s    !))),?;#4YYY#?@
fh///!!!!YYY,/?111k&9)))&D#DE
fh/////rI   c                 B   |d         d d d         dk    }|j         |         }|j         |d d d                  }t          j        ||           |                                }|                                }d|j         |<   d|j         |<   t          j        ||           d S )Nr]   ru   r3   r   )rq   r#   rB   rK   )r)   r*   r   rF   rG   r%  s         r/   'test_getitem_setitem_boolean_misalignedz=TestDataFrameIndexing.test_getitem_setitem_boolean_misaligned  s    3"%)&?4":.
fh///##%%tT
b(+++++rI   c                     t          t          j                            d                              d                    }t          j        g d          }t          j        ddg          }|j        ||f         }|j        ddgdgf         }t          j        ||           |	                                }d|j        t          j        g d          t          j        ddg          f<   d|j        ddgdgf<   t          j        ||           d S )	Nr7   r:  r   FTr   r3   r;   )
r   rL   r   rM   rN   r   rq   r#   rB   rK   )r)   rE   k1k2rF   rG   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(+++++rI   c                 b   t          g d          }t          t          j                            d                              d          |          }|j        dd         }|                    g d          }t          j	        ||           t          |          dk    sJ |j        dd         }|                    ddg          }t          j	        ||d	
           t          |          dk    sJ |j        dd         }|                    ddg          }t          j	        ||           t          |          dk    sJ |j        dd         }|j        dd         }t          j	        ||           |j        dd         }d}t          j        t          |          5  |dd         }d d d            n# 1 swxY w Y   t          j	        ||           t          g d          }t          t          j                            d                              d          |          }d}t          j        t           |          5  |j        dd          d d d            n# 1 swxY w Y   |j        dd         }|                    dg          }t          j	        ||           t          |          dk    sJ |                                }t          j        t           t$                    5  d|j        dd<   d d d            n# 1 swxY w Y   t          j        t           |          5  |j        dd         dk    }d d d            n# 1 swxY w Y   |j                                        sJ |j        dd         |j        dd         k    j                                        sJ |                                }d|j        dd<   |j        dd         dk    j                                        sJ |j        dd         |j        dd         k    j                                        sJ |j        dd         }|}t          j	        ||           t          |          dk    sJ |j        dd         }|                    g d          }t          j	        ||           t          |          dk    sJ |j        dd         }|                    dg          }t          j	        ||           t          |          dk    sJ |j        dd         }|                    g d          }t          j	        ||           t          |          dk    sJ |                                }d|j        dd<   |j        dd         }|dk    j                                        sJ d S )N)r   r7   r8   r:   r;   r7   r   r   r   r:   )r   r7   r8   r:   r;   F)check_index_typer+  r   r3   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   r\  r   r   g
ףp=
@)r   r   rL   r   rM   rN   rq   r   r#   rB   r    r   r   FutureWarningr&   r'   r   rK   
_slice_msgrS   r   )r)   using_array_managerr!   rE   rF   rG   re   r%  s           r/   !test_getitem_setitem_float_labelsz7TestDataFrameIndexing.test_getitem_setitem_float_labels  sn   '''((ry,,Q//??GGuUUUA::nnn--
fh///6{{a!::q!f%%
fhGGGG6{{a!::sCj))
fh///6{{a !71Q3<
fh///71Q3<D'SAAA 	 	!WF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
fh/// ///00ry,,Q//??GGuUUU4 	 ]9C000 	 	GCENN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 1::se$$
fh///6{{aWWYY]9J777 	 	BGCEN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	) 	)WSU^q(F	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) }  """""!!,488:::::WWYY!!!)--/////!!,488::::: A
fh///6{{aA::22233
fh///6{{aQ::se$$
fh///6{{aC::77788
fh///6{{aWWYYs3wC!#'')))))))sH   $F;;F?F?
I&&I*-I*4LLL3MMMc                    t          t          j                            d                              d          g dg d          }t          d          |d<   |j        }t          t          j        d          gd	z  t          j        d
          gz   g d          }t          j
        ||           t          j        t          d          5  t          |j        d<   d d d            n# 1 swxY w Y   t          |j        d                   rJ |d         j        t          j        k    sJ |j        d         t          k    sJ t          j        |j        d<   t          |j        d                   sJ t          j        |j        dd d f<   t          |j        dd d f                                                   rJ d S )Nr7   r;   r8   )r   r   r{   r   e)r[   r   r  r}   20010102	timestampr   r8   zdatetime64[s])r[   r   r  re  r   %Setting an item of incompatible dtyper   )r   re  )r{   re  r   r{   )r   rL   r   rM   rN   r   r   r   r5   r#   ra   r   r]  r	   rq   r   r   ry   r   rr   s       r/   )test_setitem_single_column_mixed_datetimez?TestDataFrameIndexing.test_setitem_single_column_mixed_datetime@  s   I!!!$$44V<<+++)))
 
 
 $J//; Xi  !A%/)B)B(CC444
 
 
 	vx000 '!H
 
 
 	, 	, (,BF#$	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, /011111+$
2222v&'4//// $&6 BF+,----- sAAAvsAAAv''++-------s   C++C/2C/c                    t          g dt          ddd          dddt          ddd          t          ddd          gd          }t          d	t          d
          t          d                    }t          j        |d<   t          ddd          |j        d<   t          j        t          d          5  d|j        d<   d d d            n# 1 swxY w Y   d|j        ddgdf<   t          j        dt          j        d          gdt          j        d          gg          }||j        ddgddgf<   t          j        ||           d S )N)r   r   r   r         i  r3   xyi  i  r   r   r   abr<   r   r   r   r   rf  r   )r3   r   rk  rl  r7   r8   ri  z2013-01-01T00:00:00rj  z2014-01-01T00:00:00r:   r;   r   )r   r   r$  rc   pdNaTrq   r#   r   r]  rL   r   
datetime64rB   )r)   rG   rE   r]   s       r/   test_setitem_mixed_datetimez1TestDataFrameIndexing.test_setitem_mixed_datetimeb  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 Nr7   r]   r^   )rq   r!   rS   r#   r   r)   r*   piecerF   rG   s        r/   test_setitem_frame_floatz.TestDataFrameIndexing.test_setitem_frame_float  s     1"1" 5Sz AB?D|)"-//#s;<!2233!7#s!CDK<
vx00000rI   zTODO(infer_string))reasonc                 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   r7   r]   r^   r}   )rK   r   r!   slicerq   r#   r   rS   r)   r/  r?  ry  r.   s        r/   test_setitem_frame_mixedz.TestDataFrameIndexing.test_setitem_frame_mixed  s    
 ##%%3Z#s$AGAaCL3*
 
 
 wuT1~~&c
3c

quQWQqS\C:%=>Eu|TTTTTrI   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   r7   r[   r   r]   r^   r}   )	rK   r   r$  r!   r}  rq   r#   r   rS   r~  s        r/   'test_setitem_frame_mixed_rows_unalignedz=TestDataFrameIndexing.test_setitem_frame_mixed_rows_unaligned  s     ##%%3Z#sc3Z#s<qwqs|$$u~5#J
 
 

 wuT1~~&c
3c

E!'!A$-#s+,3U\!A#5F	
 	
 	
 	
 	
rI   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 )Nr7   r]   rw  r^   )	rK   rq   r!   r}  rL   ry   r#   r   rS   r~  s        r/   &test_setitem_frame_mixed_key_unalignedz<TestDataFrameIndexing.test_setitem_frame_mixed_key_unaligned  s     ##%%agbqbkC5()gbcclwuR'#s4c
Vc

quQWRSS\C:%=>Eu|TTTTTrI   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 rv  )rK   rq   r!   r}  rS   r#   r   r~  s        r/    test_setitem_frame_mixed_ndarrayz6TestDataFrameIndexing.test_setitem_frame_mixed_ndarray  s    ##%%"&qwrr{S#J'>?wuR'#s4\c

quQWRSS\C:%=>Eu|TTTTTrI   c                    t          g dg dgg d          }|                                }t          j        t          d          5  |j        d d ddgf         d	z   |j        d d ddgf<   d d d            n# 1 swxY w Y   |                    ddg          }|d	z  }|d
         |d
<   t          j        ||           d S )N)r3   r7   r[   )r8   r:   r   r]   r^   r   r=   incompatible dtyper   r]   r^         ?r   )r   rK   r#   r   r]  rq   r   rB   )r)   rE   r'  rG   s       r/   test_setitem_frame_upcastz/TestDataFrameIndexing.test_setitem_frame_upcast  s%   }}}5OOOggii'=QRRR 	A 	A%'VAAASzM%:S%@CGAAASzM"	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A::sCj:11C3
c8,,,,,s   	%A::A>A>c                 0   |j         |j        d d         ddgf         }|j        dd          |_        ddg|_        ||j         |j        dd          ddgf<   |j         |j        dd          ddgf         j        }|j        }t	          j        ||           d S rv  )rq   r!   r>   rS   r#   r   rx  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0rI   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 )
Nr7   rb  r[   r[   r   r  r   r   r[   r   r:   r  r8   )
r   rL   r   rM   rN   rq   r#   rB   r   ra   rr   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0rI   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 )	Nr7   rb  r  r   r   r:   r3   r   )	r   rL   r   rM   rN   rq   r   r#   rB   )r)   rE   rF   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*****rI   
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   r6   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(   rq   )r)   r  rE   messagere   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 )Nr3   r\   r;   r   gGz?i  r   ro  r   ro   )r   r5   r   rp   rL   r   rq   r!   r   r   r   r#   ra   )r)   r*   rF   rE   rG   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0rI   c                    t          t          j        d                              dd          t	          ddd                    }d}t          j        t          |	          5  |j        d
           d d d            n# 1 swxY w Y   t          j        t          |	          5  d|j        d <   d d d            d S # 1 swxY w Y   d S )Nr   rX   r:   r   r   r7   r   zcallable with ilocr   c                     dS Nrw    r,   s    r/   <lambda>zMTestDataFrameIndexing.test_iloc_callable_tuple_return_value.<locals>.<lambda>      d rI   r3   c                     dS r  r  r  s    r/   r  zMTestDataFrameIndexing.test_iloc_callable_tuple_return_value.<locals>.<lambda>  r  rI   )	r   rL   r   r   rc   r#   r   r]  r   )r)   rE   re   s      r/   %test_iloc_callable_tuple_return_valuez;TestDataFrameIndexing.test_iloc_callable_tuple_return_value  s=   ry}},,R335B??KKK"'SAAA 	$ 	$GNN##	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$'SAAA 	( 	(&'BGNN#	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s$   $A??BB%B>>CCc                 l   t          t          j                            d                              d          t          ddd                    }|j        d         }|j        d         }t          j	        ||           |j        d         }|j        d         }t          j	        ||           |j        t          dd                   }|j        dd	         }t          j        ||           |j        g d
         }|                    |j        g d
                   }t          j        ||           d S )Nr7   rX   r:   r   r   r   r3   r:   r!  rj  r3   r7   r:   r<   )r   rL   r   rM   rN   rc   r   rq   r#   ra   r}  rB   r   r!   r)   rE   rF   r   rG   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/////rI   c                    t          t          j                            d                              d          t          ddd                    }|                                }|j        t          dd                   }t          j	        |d         |d                   sJ |d                                         }t          j        |          5  d|j        d d df<   d d d            n# 1 swxY w Y   |s/d|j        dd<   t          j	        |d         |d                   sJ t          j        |d         |           d S )	Nr7   r  r   r   r   r:   r!  rO  )r   rL   r   rM   rN   rc   rK   r   r}  r,  r#   r.  rq   r-  ra   )r)   r   r   rE   r1  subsetexp_cols          r/   test_iloc_row_slice_viewz.TestDataFrameIndexing.test_iloc_row_slice_view4  sr   I!!!$$44W==U1bRS__
 
 
 7799 q!%1vay111111+""$$"#566 	# 	#"FJqqq!t	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#" 	6#&GOAaC  #BqE6!955555
r!ug.....s   C,,C03C0c                    t          t          j                            d                              d          t          ddd                    }|j        d d df         }|j        d d df         }t          j	        ||           |j        d d df         }|j        d d df         }t          j	        ||           |j        d d t          dd          f         }|j        d d dd	f         }t          j        ||           |j        d d g d
f         }|                    |j        g d
                   }t          j        ||           d S )Nr7   r:   rX   r   r   r=   r3   r:   r!  rj  r  )r   rL   r   rM   rN   rc   r   rq   r#   ra   r}  rB   r   r>   r  s        r/   test_iloc_colz#TestDataFrameIndexing.test_iloc_colJ  sR   I!!!$$44W==uQPRTU
 
 
 AfQQQTl
vs+++AfQQQTl
vs+++ E!QKK(6!!!QrT'?
fh/// LLL)::bj&>:??
fh/////rI   c                 R   t          t          j                            d                              d          t          ddd                    }|                                }|j        d d t          dd          f         }|s|st          j	        |d         j
        |d         j
                  sJ t          j        |          5  d|j        d d df<   d d d            n# 1 swxY w Y   |d         dk                                    sJ t          j	        |d         j
        |d         j
                  sJ d S |r-t          j	        |d         j
        |d         j
                  sJ d|d<   |d         dk                                    sJ t          j        ||           d S )	Nr7   r  r   r   r=   r:   r!  rO  )r   rL   r   rM   rN   rc   rK   r   r}  r,  r-  r#   r.  rq   r   rB   )r)   r_  r   r   rE   r1  r  s          r/   test_iloc_col_slice_viewz.TestDataFrameIndexing.test_iloc_col_slice_viewa  s    I!!!$$44W==uQPRTU
 
 
 7799E!QKK(" 	0+> 	0#BqEM6!93DEEEEE&'9:: ' '#&
111a4 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' qEQJ##%%%%% #BqEM6!93DEEEEEEE" J'1vay7HIIIIIF1I1IN'')))))!"h/////s   	C$$C(+C(c                    t          t          ddd          t          ddd                    }|                    dt          ddd                    }t          d|dd	g
          }t	          j        g d          }d|j        ||         df<   t          g dg dd|          }t          j        ||           t          d|dd	g
          }|j        ||         dfxx         dz  cc<   t          j        ||           d S )Ni  r3   )yearmonthdayr;   )r6  r7  )rq   itemr   r]   r^   r}   )FFFFFTr<   )r   r   r   r   r<   r<   )r   r   r   r   r   r   r]   r^   r   )	r   r   insertr   rL   r   rq   r#   rB   )r)   trangerE   bool_idxrG   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(+++++rI   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-01r8   utc)r5  tzdatesro   )r3   r   r7   )r   r3   r7   )r   r   r   r#   ra   rq   )r)   columnrE   s      r/   4test_setitem_with_unaligned_tz_aware_datetime_columnzJTestDataFrameIndexing.test_setitem_with_unaligned_tz_aware_datetime_column  s     
<uEEEGTTT())YYY'7
r'{F333())%+III%6yyy'!"
r'{F33333rI   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          t          d          t                              }t          j        ||           d S )Nr3   )hours20130101r:   r4  r   m8[ns]r4   r]   r7   r^   r8   r   r   r;   r\   rr  r   r<   ru   r*  GHztimedelta64[ns]zdatetime64[ns]ABCDEFGH)r   r   r   rL   r   rq   r!   timedelta64rs  r   r   r5   r   r$  r   r#   ra   )r)   one_hourrE   rF   rG   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((777
 
 
 	vx00000rI   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   r3   )r   r3   r7   r8   r:   rl  g333333?)r   r3   )r  r3   )r  r3   )r  r:   testr[   zDnot supported between instances|unorderable types|Invalid comparisonr   )
r   rL   ry   rK   rq   r#   rB   r&   r'   r   )r)   rE   r'  rG   re   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	T]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 )Nrk  rl  r   r3   r{   names)r3   r3   r7   r7   )r8   r8   r:   r:   rG  ro   r   r}  r   r7   )levelscodesr  r8   r:   )rk  r   r   )r   from_productr   r   r&   r'   r
   rc   rq   r}  r#   rB   r   ra   )r)   midgr!   r>   rG   rF   rk   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r8   r:   r;   r=   r   r  )r   rL   r  rq  IntervalIndexfrom_breaksr   r   r#   ra   rq   )r)   rE   rG   rU   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-----rI   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>   r5   )r7   )r7   r7   rm  r   )r   r   rL   zerosrq   r#   rB   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(+++++rI   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]   r6   Int64r4   ru   )r   rK   rS   rq   r#   rB   rq  corearraysNumpyExtensionArrayr   )r)   rE   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$'''''rI   c                     t          t          j        dt                              }t          j        |d                   |d<   |dg          d S )Nr3   r3   r4   r   )r   rL   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rI   z.ignore:Setting a value on a view:FutureWarningnullM8[ns]r  c                    t          dg di|          }|d                                         }|j        }d                    g d          }t	          j        t          |          5  ||d<   d d d            n# 1 swxY w Y   t	          j        t          |          5  ||g|d d<   d d d            n# 1 swxY w Y   t	          j        t          |          5  ||d<   d d d            n# 1 swxY w Y   t	          j        t          |          5  ||g|d d<   d d d            n# 1 swxY w Y   t	          j        t          |          5  ||j        d<   d d d            n# 1 swxY w Y   t	          j        t          |          5  ||g|j        d d<   d d d            n# 1 swxY w Y   t	          j        t          |          5  ||j        d	<   d d d            n# 1 swxY w Y   t	          j        t          |          5  ||g|j        d ddf<   d d d            n# 1 swxY w Y   |                                }|                                |d
<   t	          j        t          |          5  ||j        d	<   d d d            n# 1 swxY w Y   t	          j        t          |          5  ||g|j        d ddf<   d d d            d S # 1 swxY w Y   d S )Nr]   r6   r4   |)z@timedelta64\[ns\] cannot be converted to (Floating|Integer)Dtypez?datetime64\[ns\] cannot be converted to (Floating|Integer)Dtypez 'values' contains non-numeric NAz3Invalid value '.*' for dtype '(U?Int|Float)\d{1,2}'r   r   r7   r   r   r^   )r   rK   r-  joinr&   r'   r   r   )r)   r  any_numeric_ea_dtyperE   serr   re   r'  s           r/   .test_setting_mismatched_na_into_nullable_failszDTestDataFrameIndexing.test_setting_mismatched_na_into_nullable_fails-  sU    YYY'/CDDDgllnnkhh  
 
 ]9C000 	 	CF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	# 	#TlCG	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# ]9C000 	 	CF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	# 	#TlCG	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# ]9C000 	 	CHQK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	( 	( $<CHRaRL	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( ]9C000 	! 	! BGDM	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! ]9C000 	* 	*"D\BGBQBEN	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* ggii88::C]9C000 	" 	"!CHTN	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" ]9C000 	+ 	+#TlCHRaRUO	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+s   )A;;A?A?!
B77B;>B;C//C36C3
D++D/2D/E((E,/E,F))F-0F-G&&G*-G*H))H-0H-:JJJ7KKKc                     t          dgt          g d                    }d|j        d<   t          ddgit          dgd                    }t          j        ||           d S )Nr   r   ro   r   r3   r   r   )r   r   rq   r#   rB   r   s      r/   +test_loc_expand_empty_frame_keep_index_namezATestDataFrameIndexing.test_loc_expand_empty_frame_keep_index_nameb  sn    uE"3,?,?,?@@@q	cA3ZuaSs/C/C/CDDD
b(+++++rI   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   r[   r6   r   r   r   from_tuplesrq   r#   rB   r   s      r/   +test_loc_expand_empty_frame_keep_midx_nameszATestDataFrameIndexing.test_loc_expand_empty_frame_keep_midx_namesi  s    E!7///!R!R!R
 
 
 "y5'N()OOOLLL
 
 
 	b(+++++rI   z	val, idxr)rk  r   rk  r   )r3   r   r3   c                 <   t          dddgi          }t          j        t          d          5  t          d|dgiddg          |j        d d |f<   d d d            n# 1 swxY w Y   t          dt
          j        |gi          }t          j        ||           d S )Nr   r3   r7   rf  r   r   r   )r   r#   r   r]  rq   rL   ry   rB   )r)   idxrrH  rE   rG   s        r/   test_loc_setitem_rhs_framez0TestDataFrameIndexing.test_loc_setitem_rhs_frameu  s     aV}%%'!H
 
 
 	H 	H (sBi(8AGGGBF111d7O	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H cBFC=122
b(+++++s   $AA#&A#c                     t          ddg          }|                                }|d d          }t          j        ddgt          j                  |j        d d df<   t          j        ||           d S )Nr   r   r=   r3   r7   r4   r   )r   rK   rL   r   r   r   r#   rB   )r)   r   rE   rG   views        r/   $test_iloc_setitem_enlarge_no_warningz:TestDataFrameIndexing.test_iloc_setitem_enlarge_no_warning  ss     Sz***7799!!!u!Qrz:::1
dH-----rI   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 )NTr3   r   )bool_colr   r   r7   idx1idx2r  r   r  r8   r{   r   r   r   r   r   )r   r   from_arraysrq   r   r#   ra   )r)   rE   rD   rF   rG   s        r/   (test_loc_internals_not_updated_correctlyz>TestDataFrameIndexing.test_loc_internals_not_updated_correctly  s   AC00(1a&1a&)9&&AQRRR
 
 
 h3sCx
sCx
sS#JsCxS!(1#sFF;KLLL
 
 
 	
2
 	vx00000rI   rH  Nc                     t          dg did          }||j        dgd d f<   t          dt          j        ddgid          }t	          j        ||           d S Nr   r   stringr4   r   r   r{   r   r   rq  NAr#   rB   r)   rH  rE   rG   s       r/    test_iloc_setitem_string_list_naz6TestDataFrameIndexing.test_iloc_setitem_string_list_na  sm     ___-X>>>QQQcBE3#45XFFF
b(+++++rI   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(+++++rI   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   r6   r  r4   r;   r   )r;   r;   r;   r   )r)   r  rE   rG   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(+++++rI   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  rq   r  r#   rB   )r)   rE   indexer_tupler  rF   rG   s         r/   test_loc_named_tuple_for_midxz3TestDataFrameIndexing.test_loc_named_tuple_for_midx  s    )s___-gx5H  
 
 

 #9bhn==}3Sz:::aaa(Z((0C  
 
 

 	fh/////rI   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-30r3   )daysz
2022-12-31)r   r   rq  	Timedeltarq   r#   rB   )r)   r@  r   rE   rG   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(+++++rI   rk   c                     d}t          i |t          |          t          |          d          }|                                }|ddg         |j        |dgz  ddgf<   t	          j        ||           d S )Nr  rp  rk  rl  T)r   rc   rK   rq   r#   rB   )r)   r@  nrE   rG   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(+++++rI   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   rK   r#   r   rq   rB   )r)   rE   rG   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   r3   r7   r8   r:   r;   r<   rK  r!  	   r   r3   r  r4   r;   r<   r   )r   r   r   r#   rB   rS   )r)   rE   r   row_indexerrF   rG   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/////rI   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  r4   zcannot convertr   )	r   r   rq  r
  r&   r'   rb   r   rS   )r)   rE   r   re   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<)Tr5   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)TTFFr4   )TFTFr   r   r  r{   )r3   r7   r8   r:   r   r3   r7   TF)rk   r5   )r   r  r   r   r#   maybe_produces_warningr   
isinstancetuplerq   r   rB   )r)   r5   r   midxrE   rF   rG   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  r3   r   r   )r  TF)r   update)deepr2  r   )r   r   r   rK   rq   r#   rB   )r)   r  r   rE   rG   	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(+++++rI   zindexer, idxr7   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 )Nrm   rn   r  r4   r3   r7   )r   rL   ry   r   r#   rB   )r)   r   rD   rE   r   rG   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(+++++rI   )i__name__
__module____qualname__r0   rH   rV   rY   rg   rs   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_testr2  r8  r=  rB  rI  rM  rQ  rS  rU  rY  r`  rg  rt  rz  xfailr   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  filterwarningsrq  rr  to_numpyr  r  r  r  r  r  r
  r  r  r$  r   rL   r   r  r  r  r  r!  r'  r)  r   r0  r5  r#   rq   r   r7  r  rI   r/   r   r   ,   s       " " ""B B B4 4 4> > >& & &&1 1 197 97 97v 1  1  1D [###%7%7%79N9N9NO 0 0 0/ / /  0 0 00 0 0$) ) )& & &16 16 16f	, 	, 	,2, 2, 2,h< < <:.7 .7 .7`' ' '- - -*	W 	W 	W* * *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 [))++4HII
U 
U JI
U [))++4HII
 
 JI
 [))++4HIIU U JIUU U U	- 	- 	-1 1 11 1 1&+ + +& [\D%=99	# 	# :9	#1 1 1$( ( (0 0 0./ / /,0 0 0.0 0 0<, , ,64 4 41 1 1,, , ,\1 1 12. . ., , ,( ( (   [ PQQ[22BFOOH4M4MN /+ /+  RQ/+b, , ,
, 
, 
, [3%LJ		
 	, 	, 	, '. . ('.1 1 1. [UTD62525'$BCC, , DC, [UT25M22, , 32, [VdFBH%=>>, , ?>,0 0 0" [Y#55[UR#qN33	, 	, 43 65	, [UR&#$788, , 98,, , ,
0 
0 
0' ' ' [Yw88[WtY&7880 0 98 980" [UUDM22[Y&(:;;, , <; 32,$ [^rvqkBGQ<-HII, , JI, , ,rI   r   c                       e Zd Zd ZdS )TestDataFrameIndexingUInt64c           
         t          t          j        d          g ddt          j                  }|d                             d          }d|j        vsJ ||d<   t          j        |d         t          |d                     d	|j        vsJ d|d	<   ||d	<   t          j        |d	         t          |d	                     |d	= |	                                }t          j
        t          d
          5  t          j        |j        d<   t          j        |j        d<   d d d            n# 1 swxY w Y   |d         }t          j        t          |          t          g dd                     t          j        |j        t          t          j        d          t          j        d          t          j        d          gg d                     d S )Nr8   )l            l           l   
        r  r4   r]   r[   r   ro   r   r  r   r  r3   r7   r^   r   uint64Or  r   )r   rL   r   rF  renamer>   r#   ra   r   rK   r   r]  rq  rr  r   r   r   r5   )r)   rE   rD   r'  rF   s        r/   r   z(TestDataFrameIndexingUInt64.test_setitem9  s   )A,,%C%C%CDD)
 
 
 gnnU## "*$$$$3
r#ws(=(=(=>>>"*$$$$33
r#ws(=(=(=>>>sG ggii'=QRRR 	$ 	$VCHTNVCHTN	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ S
uV}}f5H5H5Hs.S.S.STTT
J(##RXc]]BHSMMB%oo  	
 	
 	
 	
 	
s   9)D..D25D2N)r8  r9  r:  r   r  rI   r/   rC  rC  8  s#         
  
  
  
  
rI   rC  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 )Nr3   r7   2000r4  z1 Dayr  r   )axisr  r  r  )r   r   rq  timedelta_rangerq   r-  rS   r   r  r   xs_mgr_rebuild_blknos_and_blklocsfast_xsr   blocksblknosr5   iget)r_  rE   r  mgrr   blkrH  s          r/   /test_object_casting_indexing_wraps_datetimelikerV  \  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<(((((((rI   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hrG  rF  r   lmr  r3   r3   r3   r3   r3   r3   r3   catsrS   r   r   r   r   )r)   rb  rD   rS   r  s        r/   r  z$TestLocILocDataFrameCategorical.orig  s^    >>>CQT:VVV77788&&&$&99EEErI   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   rZ  r\  )r3   r3   r7   r3   r3   r3   r3   ra  r   rc  )r)   cats1r  values1exp_single_rows        r/   rh  z.TestLocILocDataFrameCategorical.exp_single_row  sa     ???SRUJWWW88899'''"EW#E#ETRRRrI   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   rZ  r\  )r3   r3   r7   r7   r3   r3   r3   ra  r   rc  )r)   cats2r  values2exp_multi_rows        r/   rm  z-TestLocILocDataFrameCategorical.exp_multi_row  sa     ???SRUJWWW88899'''!5G"D"DDQQQrI   c                     t          g dddg          }t          g d          }g d}t          ||d|          }|S )	Nrj  r   r   rZ  r\  r`  ra  r   rc  )r)   cats3idx3values3exp_parts_cats_cols        r/   rr  z2TestLocILocDataFrameCategorical.exp_parts_cats_col  sc     ???SRUJWWW88899'''&'I'IQUVVV!!rI   c                     t          g dddg          }t          g d          }g d}t          ||d|          }|S )	Nre  r   r   rZ  r\  r`  ra  r   rc  )r)   cats4idx4values4exp_single_cats_values        r/   rw  z5TestLocILocDataFrameCategorical.exp_single_cats_value  sk     ???SRUJWWW88899''' )g..d!
 !
 !
 %$rI   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 )Nr7   r:   rF  r   r   r   r{   )	rK   r}  r#   rq   rB   r&   r'   r   msg1)r)   r  rm  r   rE   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)r7   r   r7   r   r   r   r{   )rK   r#   rq   atr!   r>   rB   r&   r'   r   ry  )r)   r  rw  r   rE   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 )NrF  r   r   )rK   r!   r#   rq   r>   rB   )r)   r  rw  r   rE   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8rI   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 )Nr7   r   r   r{   )	rK   r#   rq   r!   rB   r&   r'   r   ry  )r)   r  rh  r   rE   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 )Nr7   r:   r   rF  r   r   r   rZ  bbabcr   cc)rK   r}  r#   rq   r>   r   rB   r$  r&   r'   r   msg2)	r)   r  rr  r   rE   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 )	Nr7   r:   r   rF  r   r   r   r{   )
rK   r}  r#   rq   r>   rB   r&   r'   r   ry  )r)   r  rr  r   rE   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2012r8   r4  r   r6   r   )r   r   r   r   r!   r5   r#   getitem)r)   r   rD   rE   r  s        r/   -test_getitem_preserve_object_index_with_dateszMTestLocILocDataFrameCategorical.test_getitem_preserve_object_index_with_dates1  s     +++226::999~S111x~''''bj  '"++a.CC'"++aaad#Cy&((((((rI   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   r3   )r   )r   r  r  )rd   r!   r   r  )r)   rE   rG   rF   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/////rI   N)r8  r9  r:  r&   fixturer  rh  rm  rr  rw  r;  r<  r#   rq   r   rz  r|  iatr}  r  r  r  r  r  r  r  r  rI   r/   rX  rX    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 
0rI   rX  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.   r3   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 
Nr3   r7   r8   r:   r   r   r=   as an indexer is not supportedr   r   r&   r'   r   rq   r)   r.   rE   s      r/   $test_getitem_dict_and_set_deprecatedz;TestDeprecatedIndexers.test_getitem_dict_and_set_deprecatedN  s    
 AA'#s<<<]9,LMMM 	 	F3KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AAAr7   rE  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 Nr3   r7   r8   r:   r   r   rE  r  r   r  r   r   r   r  r&   r'   r   rq   r  s      r/   /test_getitem_dict_and_set_deprecated_multiindexzFTestDeprecatedIndexers.test_getitem_dict_and_set_deprecated_multiindexW  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_disallowedl  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_multiindexu  s     VaV#J(&&)9::
 
 

 ]9,LMMM 	 	BF3K	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   
A""A&)A&N)
r8  r9  r:  r&   r;  r<  r  r  r  r  r  rI   r/   r  r  M  s       [aVqc3Z1a&#SE
Qc
OT    [CFc1XsO!fa[#cUOc3Z 	

 
 
 
 [aVqc3Z1a&#SE
Qc
OT    [CFc1XsO!fa[#cUOc3Z 	

 
 
 
  rI   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 )Nrk  r3   rm   rl  rp  c                     | S )Nr  )rk  s    r/   r  z4test_adding_new_conditional_column.<locals>.<lambda>  s    a rI   )r   rq   r#   rB   )rE   rG   values      r/   "test_adding_new_conditional_columnr    s    	C!:		B #BF2c7a<s#//00H"h'''	C!:		BKE %BF2c7a<s%1122H"h'''''rI   )r5   infer_stringFna_valueTc                 \   t          ddgddgd          }t          j        d|          5  d|j        |d         dk    d	f<   d d d            n# 1 swxY w Y   t          ddgddgdt	          d
          gd                              dd| d          }t          j        ||           d S )Nr3   r7   r8   r:   rm  future.infer_stringrm   r   r{   ry   r   r   )r   rq  option_contextrq   floatr   r#   rB   )r5   r  rE   rG   s       r/   .test_adding_new_conditional_column_with_stringr    s    
!Qq!f--	.	.B		0,	?	? ( ($'r#w!|S !( ( ( ( ( ( ( ( ( ( ( ( ( ( (1vQF#uU||9LMMNNUUG%00 H "h'''''s   AAAc            	         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t          j        t          j                            d	t          ddgd
                    }t          j
        | |           d S )Nrk  r3   r  Trm   rl  r  r4   rp  r   r=   )r   rq  r  rq   r   StringDtyperL   ry   r   r#   rB   )rE   rG   s     r/    test_add_new_column_infer_stringr    s   	C!:		B		0$	7	7 ( ($'r#w!|S !( ( ( ( ( ( ( ( ( ( ( ( ( ( (cuBNBF,K,K,KLLLMMsCj...  H "h'''''s   AAAc            
          e Zd Zd Zddddej         ej        d           ej        d          gZ	ddg e
dd          g d	 e
d
d
d
          gZej                            de	dd ej        d           ej        d          gz             ej                            de          d                         Zej                            de	dd ej        d          gz             ej                            de          d                         Zej                            de	dgz             ej                            de          d                         Zd
S )TestSetitemValidationc                    d}t          j        |          }|                                }t          j        ||          5  ||j        |df<   |                                }d d d            n# 1 swxY w Y   t          j        ||          5  ||j        |df<   |                                }d d d            d S # 1 swxY w Y   d S )Nz3Setting an item of incompatible dtype is deprecatedr   r   r   )rO   rP   rK   r#   r   r   rq   )r)   rE   invalidr   warnre   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      ?       @Truerm   z1.0rr  r   r3   TFFNr  r   r   c                 j    t          dg did          }|                     |||t                     d S )Nr   r  r   r4   r   r  r]  )r)   r  r   rE   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HrI   Tr   c                     t          dg di|          }t          |          r%|t          j        urt	          j        |          sd }nt          }|                     ||||           d S )Nr   r6   r4   )r   r   rq  rr  rL   isnatr]  r  )r)   r  any_int_numpy_dtyper   rE   r  s         r/   "test_setitem_validation_scalar_intz8TestSetitemValidation.test_setitem_validation_scalar_int  su     YYY'/BCCC== 	!WBF2228G;L;L2DD D##B$?????rI   c                 j    t          dg di|          }|                     |||t                     d S )Nr   )r3   r7   Nr4   r  )r)   r  float_numpy_dtyper   rE   s        r/   $test_setitem_validation_scalar_floatz:TestSetitemValidation.test_setitem_validation_scalar_float  s@     \\\*2CDDD##B-HHHHHrI   )r8  r9  r:  r  rq  rr  rL   rs  r  _invalid_scalarsr}  	_indexersr&   r;  r<  r   r   r  r  r  r  rI   r/   r  r    s            " 	
eu QCq!&:&:&:EE$d<S<STI[#q#xrx{{JBJqMM&JJ  [Y	22I I 32 I [Y(8D#zrzRU;W(WXX[Y	22@ @ 32 YX@ [Y(8D6(ABB[Y	22I I 32 CBI I IrI   r  )r  N)9collectionsr   r   r   decimalr   rO   numpyrL   r&   pandas._configr   pandas._libsr	   pandas.errorsr
   r   r   pandas.util._test_decoratorsutil_test_decoratorsr=  pandas.core.dtypes.commonr   pandasrq  r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr#   r^  r   rC  rV  ry  r  rX  r  r  r;  r<  r   r  ry   r  r  r  r  rI   r/   <module>r     s-   " " " " " "              				      - - - - - -               
 * ) ) ) ) ) ) ) ) 0 0 0 0 0 0                                    R
I, I, I, I, I, I, I, I,X0!
 !
 !
 !
 !
 !
 !
 !
H() () ()V QL0 0 0 0 0 0 0 0D; ; ; ; ; ; ; ;|( ( ( ( 			(	(	($/ ( ( ( (	( 	( 	(4I 4I 4I 4I 4I 4I 4I 4I 4I 4IrI   