
    Pic                       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 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 d dlmZ d	Z G d
 d          Z  G d d          Z!d Z"dZ#dZ$ G d d          Z% G d d          Z&ddZ'e	j(        )                    de*df ej+        ej,                  dfg          dd            Z-d Z. G d d          Z/dS )     )
namedtuple)datetime	timedeltaDecimalN)iNaT)InvalidIndexError)
is_integer)
Categorical	DataFrameDatetimeIndexIndex
MultiIndexSeries	Timestamp
date_rangeisna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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/ Z0d0 Z1d1 Z2d2 Z3d3 Z4d4 Z5d5 Z6d6 Z7ej                            d7d8d9g          d:             Z8d; Z9d< Z:d= Z;d> Z<d? Z=d@ Z>dA Z?dB Z@dC ZAdD ZBdE ZCdF ZDdG ZEdH ZFdI ZGej        H                    dJ          ej                            dKeIjJ        eIjJ        K                    dL          eIjJ        K                    dM          g          dN                         ZLdO ZMdP ZNej                            dQdRdSdTgfdUdVdTgfg          dW             ZOdX ZPdY ZQej                            dZd[d[geIjR        eIjR        gg          d\             ZSej                            dZd[eIjR        g          d]             ZTej                            d^eUeVeWjX        g          d_             ZYd` ZZej                            dadTgdTg          ej                            dbi dcdVig          dd                         Z[ej                            ded8d9g          ej                            dbi dfdTig          dg                         Z\dh Z]di Z^dj Z_ej                            dad8dkg          ej                            dle`dmg          dn                         Zaej                            dod9d8g          ej                            dadpdpgg          dq                         Zbej                            drecjd        dVfecje        dsfg          dt             Zfdu Zgd[S )v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         }/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/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   r/   dtyper/                  columnsr/   r4   r6   r8   Tcheck_exactr   r   r   assert_frame_equal)r%   any_numeric_dtyper1   idxdfresultexpecteds          r+   6test_getitem_numeric_should_not_fallback_to_positionalzLTestDataFrameIndexing.test_getitem_numeric_should_not_fallback_to_positional6   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 )Nr3   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&   rA   adress        r+   test_getitem2z#TestDataFrameIndexing.test_getitem2?   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 )Nr.   r0   r2   r5   r9   
   r/   )rT   r3   rT   )rT   r7   rT   Tr;   r=   )r%   r?   r1   r@   rA   rC   s         r+   6test_setitem_numeric_should_not_fallback_to_positionalzLTestDataFrameIndexing.test_setitem_numeric_should_not_fallback_to_positionalL   s    !IIIU+++			999-s;;;1kkk;;;7EEE
b(======rE   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   r/   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_listU   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   r4   tt1tt2)r   r:   r1   r/   r3   )r1   name012rg   )	r   r_   intlocr   r   r:   r   r]   r%   rA   rB   rC   s       r+   test_setitem_list2z(TestDataFrameIndexing.test_setitem_list2h   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0rE   c                 2   |j         t          |          dz           }|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          d          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 )Nr3   zItem wrong lengthr   zBoolean array expectedzwill be reindexedr   c                 r    i | ]3}|t          j        |         d k    |         t           j                  4S r   )rH   wherenan).0cr`   s     r+   
<dictcomp>z>TestDataFrameIndexing.test_getitem_boolean.<locals>.<dictcomp>   s7    QQQqBHT!Wq[$q'26::QQQrE   r   r:   r9   F)check_dtype)r   r   astypeobjectr   r    r"   r#   r^   r>   	TypeErrorr   assert_produces_warningUserWarningreindex_get_numeric_datar   r:   r1   )r%   mixed_float_framemixed_int_framedatetime_framedindexerindexer_objsubindexsubframesubframe_objrA   bifbifwrw   r`   s                 @r+   test_getitem_booleanz*TestDataFrameIndexing.test_getitem_booleanv   sv    ^!4!4!9: &*nnV,,!'0!'*
h777]:-@AAA 	) 	)73B3<((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) &k2
lH555]9,DEEE 	+ 	+>**	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ [.*>??%k2
lH555 ';NOOO 	: 	:%--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/2B/.	DD
D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 )Nr/   rX   int32E1Fint64F1r   float64r6   r3   )rY   rZ   CDrX   r   r   r   r   r4   )
rG   r{   dtypesr   rH   r1   r   r]   rm   r   )r%   r   rA   castedrB   rC   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0rE   lstTFT)TTT)FFFc                     t          t          j        d                              dd                    }||         }|j        |j        |                  }t          j        ||           d S )N   r4   r6   )r   rH   arangereshaperm   r   r   r>   )r%   r   rA   rB   rC   s        r+   test_getitem_boolean_listz/TestDataFrameIndexing.test_getitem_boolean_list   s]     ry}},,Q2233C6"(3-(
fh/////rE   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 )Nr3   r7   r7   )rY   rZ   r   r   rX   r9   r   r/   )	rH   r   rI   rJ   r   rG   r   assert_almost_equalrO   )r%   arrrA   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#.....rE   c                     t          t          j        ddg          dgt          g                     }t          j        g t
                    }||          d||<   d S )Nr   r/   rY   r:   r   )r   rH   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rE   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 )	Nr3   )r6   r4   )r/   rT   r   rX   r2   ry   rq   r/   rT   )r   rH   r   rI   rJ   ilocrm   r   r   r>   r   rn   s       r+   test_getitem_ix_mixed_integerz3TestDataFrameIndexing.test_getitem_ix_mixed_integer   s    I!!!$$44V<<###II
 
 
 "6"(3B3-(
fh///B6%B..)
fh/////rE   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	@      @)      $   (   )rT      +   "   )r   rT   r      )rnar     r9   r   r4   r   r/   r   r   r   r>   rn   s       r+   test_getitem_ix_mixed_integer2z4TestDataFrameIndexing.test_getitem_ix_mixed_integer2   s    +'''###%oo	  ,++
 
 
 TF7111qc6?
fh///UG7111qc6?
fh/////rE   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 )NrY   z6'DataFrame' object has no attribute 'NONEXISTENT_NAME'r   )r   r]   rY   r"   r#   AttributeErrorNONEXISTENT_NAME)r%   r&   ra   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foobarr/   rT   r   r7   )r   r_   r   allr%   rA   s     r+   test_setattr_columnz)TestDataFrameIndexing.test_setattr_column  sI    !}E"II666		Q##%%%%%%%rE   c                 2   |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dg|d<   |r|d         j        dk    sJ n|d         j        t          j        k    sJ |d         ddgk                                    sJ d S )NrY   r3   col5   r   r   rg   col6Fr[   col9r7   col7gQ	@col0rW   col8ri   rj   col10str)r   rH   ravelcolumn_stackrO   ru   r   r   r   r]   r   rI   rJ   r   r1   object_)r%   r&   using_infer_stringr)   expr   smallers          r+   test_setitemz"TestDataFrameIndexing.test_setitem  sO   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/: 	87#)U222227#)RZ7777 S#J.335555555rE   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   rH   ru   r   r   r>   rm   r%   rA   rC   s      r+   test_setitem2z#TestDataFrameIndexing.test_setitem2H  s    Ax  V
rvrv./00
b(+++Ax  Fq	
b(+++++rE   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 )Nr6   rY   r   rq   r/   r7   r3   r4   z;Must pass DataFrame or 2-d ndarray with boolean values onlyr   ry   )rG   rO   r   r   r   r   rH   putmaskr"   r#   r}   absru   r   r:   r>   )	r%   r&   rA   rO   r)   ra   df_origmaskrC   s	            r+   test_setitem_booleanz*TestDataFrameIndexing.test_setitem_booleanS  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   rZ   barrW         @	somethingr3   )
r{   r1   rH   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 ;'-;;;;;;rE   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brw   )rZ   r   r4   r   rZ   r3   	beginningrY   rW   rX   r   r   date      @r/   r   r   r   r   ri   rj   3	coercible)r   rH   r   r   r:   r   nowr   rO   r1   r   r   r   r   )r%   r&   r   rA   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6rE   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      r3   r   )titlecruftr  r   r   r  )r/   r  )r/   r  )rH   r   rI   r   r   rm   )r%   r`   rA   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&&&&&&rE   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 )
Nr4   ry   c                 ,    g | ]}t          d           S )r/   r   )rv   r(   s     r+   
<listcomp>z<TestDataFrameIndexing.test_setitem_ambig.<locals>.<listcomp>  s    "@"@"@!71::"@"@"@rE   r   )rW   bzrbazr   r/   r3   r   )	r   r_   r   rH   onesr   r:   r1   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;"*,,,,,,rE   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 )NrY   rq   Fr[   )r   r]   r   rm   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VrE   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   rG   r   rm   r   r   r   r>   )r%   rA   rB   s      r+   &test_loc_setitem_boolean_mask_allfalsez<TestDataFrameIndexing.test_loc_setitem_boolean_mask_allfalse  s}    !//(:(:(:AVAVAVWW
 
 +18==??
68==??C'(
fb)))))rE   c                     t          dggt          j        dgdgg                    }|d d          }t          dggt          j        dgdgg                    }t          j        ||           ||usJ d S )Nr/   rY   r   r9   )r   r   from_productr   r>   rn   s       r+   test_getitem_slice_emptyz.TestDataFrameIndexing.test_getitem_slice_empty  s    uj&=usen&M&MNNNAAAqcUJ,CcUSEN,S,STTT
fh///RrE   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 )Nr3   rT   r7      )
r   rH   r   rI   rJ   r   ru   r   rO   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"")--///////rE   c                 8   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            }d}t          j        t"          |          5  |j
        dd	          d d d            n# 1 swxY w Y   t          j        t"          |          5  d|j
        dd	<   d d d            d S # 1 swxY w Y   d S )Nr3   r  r   r   r   r6   rT   r4   r   r8   )r6   r8   r  rT   r7   rq   z*non-monotonic index with a missing label 3r   )r   rH   r   rI   rJ   r_   rG   r   rO   r   rm   r   r   r>   listr"   r#   r$   )r%   rA   cprB   result2rC   df2ra   s           r+   ,test_getitem_setitem_integer_slice_keyerrorszBTestDataFrameIndexing.test_getitem_setitem_integer_slice_keyerrors  sm   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$'??@:]83/// 	 	GAbDMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]83/// 	 	CGAbDM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   3GGG5HHHc                 T   |j         d d dd f         }|d         j        t          j        k    sJ |                                }|j         d d dd f         }t          j        |d         j        |d         j                  sJ d|j        d d df<   t          j	        ||           d S )Nr   r         @)
r   r1   rH   r   rG   shares_memory_valuesrm   r   r>   )r%   r&   float_string_frameslicedoriginals        r+   test_fancy_getitem_slice_mixedz4TestDataFrameIndexing.test_fancy_getitem_slice_mixed=  s    #(BCC0c{ BJ.... ##%%!!!!RSS&)s 3[5E5MNNNNN 
111c6
k844444rE   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   r7   rT   r   r   )r   r_   r   r   rm   r   r>   rG   )r%   rA   startendrB   r#  rC   s          r+   "test_getitem_setitem_non_ix_labelsz8TestDataFrameIndexing.test_getitem_setitem_non_ix_labelsK  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0rE   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 )Nr3   r4   r3   r   r/   ry   )r   rH   r   rI   rJ   rm   r   r   r   r>   r:   )r%   rA   rsxps       r+   test_ix_multi_takez(TestDataFrameIndexing.test_ix_multi_take_  s    ry,,Q//??GGHHVBHM111$%ZZ__
b"%%% ry,,Q//??GGHHVBHM2:?23ZZqcA3Z//
b"%%%%%rE   c                     |}|j         }|j        D ]3}||         }|j        d d d         D ]}|||f         ||         k    sJ 4d S )Nr7   )rm   r:   r   )r%   r&   fr  coltsr@   s          r+   test_getitem_fancy_scalarz/TestDataFrameIndexing.test_getitem_fancy_scalark  st    U 9 	/ 	/C3Bwsss| / /#s(|r#w...../	/ 	/rE   c                    |}|                                 }|j        }t          |j                  D ]\  }}||          |j        d d d         D ]u}|j                            |          }t          j                            d          	                                }	|	|j
        ||f<   |	|||f<   t          j        ||           vd S )Nr7   r3   )rG   rm   	enumerater:   r   get_locrH   r   rI   rJ   r   r   r>   )
r%   r&   r;  rC   r  jr<  r@   ivals
             r+   test_setitem_fancy_scalarz/TestDataFrameIndexing.test_setitem_fancy_scalaru  s    ##%%U  	** 	3 	3FAscFFwsss| 3 3GOOC((i++A..>>@@&)ad#"38%a22223	3 	3rE   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 )NrZ   r   r9   )FTFTr7   rT   ry      r   r3   r   )rm   r   r   r>   r   r:   )r%   r&   r;  r  rC   rB   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/////rE   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 )NrY   r           ry   rZ   r3   )rG   rO   rm   r   r   r:   r   r>   )r%   r&   framerC   rO   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.....rE   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)r/   r6   rG  )r3   r   r/   )r   rm   r   r   r>   r:   )r%   r&   rB   rC   s       r+   test_getitem_fancy_intsz-TestDataFrameIndexing.test_getitem_fancy_ints  s    !))),?;#4YYY#?@
fh///!!!!YYY,/?111k&9)))&D#DE
fh/////rE   c                 B   |d         d d d         dk    }|j         |         }|j         |d d d                  }t          j        ||           |                                }|                                }d|j         |<   d|j         |<   t          j        ||           d S )NrY   rq   r/   r   )rm   r   r>   rG   )r%   r&   r   rB   rC   r"  s         r+   'test_getitem_setitem_boolean_misalignedz=TestDataFrameIndexing.test_getitem_setitem_boolean_misaligned  s    3"%)&?4":.
fh///##%%tT
b(+++++rE   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 )	Nr3   r6  r   FTr   r/   r7   )
r   rH   r   rI   rJ   r   rm   r   r>   rG   )r%   rA   k1k2rB   rC   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(+++++rE   c                     t          ddg          }t          t          d          |          }|dd         }t          dgdg          }t          j        ||           d S )Nr   r3   r   r/   r   )r   r   r_   r   r>   )r%   r   rA   rB   rC   s        r+   #test_getitem_float_label_positionalz9TestDataFrameIndexing.test_getitem_float_label_positional  se    sAhuQxxu---AaCaS...
fh/////rE   c                 
   t          g d          }t          t          j                            d                              d          |          }|j        dd         }|                    g d          }t          j	        ||           t          |          dk    sJ |j        dd         }|                    ddg          }t          j	        ||d	
           t          |          dk    sJ |j        dd         }|                    ddg          }t          j	        ||           t          |          dk    sJ |j        dd         }|j        dd         }t          j	        ||           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   r3   r4   r6   r7   r3   r   r   r   r6   )r   r3   r4   r6   r7   F)check_index_typer(  r   r/   r   )r   r         @r   r   zPcannot do positional indexing on Index with these indexers \[1.0\] of type floatr   r   g?)r   rZ  r   r   g
ףp=
@)r   r   rH   r   rI   rJ   rm   r   r   r>   r   r   r"   r#   r}   rG   
_slice_msgrO   r   )r%   r   rA   rB   rC   ra   r"  s          r+   !test_getitem_setitem_float_labelsz7TestDataFrameIndexing.test_getitem_setitem_float_labels  s   '''((ry,,Q//??GGuUUUA::nnn--
fh///6{{a!::q!f%%
fhGGGG6{{a!::sCj))
fh///6{{a !71Q3<
fh/// ///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!#'')))))))s6   'HH
HJ**J.1J.K00K47K4c                 
   t          t          j                            d                              d          g dg d          }t          d                              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        |j        d<   t%          |j        d                   sJ t          j        |j        dd d f<   t%          |j        dd d f                                                   rJ d S )Nr3   r7   r4   )r   r   rw   r   e)rW   r   r
  ry   20010102s	timestampr   r4   zdatetime64[s])rW   r   r
  rb  r   Invalid valuer   )r   rb  )rw   rb  r   rw   )r   rH   r   rI   rJ   r   as_unitr   r   r1   r   r]   r"   r#   r}   r   rm   ru   r   r   rn   s       r+   )test_setitem_single_column_mixed_datetimez?TestDataFrameIndexing.test_setitem_single_column_mixed_datetime1  s   I!!!$$44V<<+++)))
 
 
 $J//77<<; Xi  !A%/)B)B(CC444
 
 
 	vx000 ]9O<<< 	, 	,'+BF#$	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, $&6 BF+,----- sAAAvsAAAv''++-------s   "C>>DDc                 *   t          dt          d          t          d                    }t          j        |d<   t          ddd          |j        d<   t          j        t          d	
          5  d|j        d<   d d d            d S # 1 swxY w Y   d S )Nr   abr8   r   r   i  r/   r   r   rc  r   )r/   r   )
r   r!  r_   pdNaTr   rm   r"   r#   r}   r   s     r+   test_setitem_mixed_datetimez1TestDataFrameIndexing.test_setitem_mixed_datetimeN  s    q$t**E!HH===&3!$1--v]9O<<< 	 	BF6N	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   0BBB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 Nr3   rY   rZ   )rm   r   rO   r   r   r%   r&   piecerB   rC   s        r+   test_setitem_frame_floatz.TestDataFrameIndexing.test_setitem_frame_floatV  s     1"1" 5Sz AB?D|)"-//#s;<!2233!7#s!CDK<
vx00000rE   c                 D   |                                 }t          ddgddgg|j        dd         ddg	          }|j        t          d d                   ddgf}||j        |<   t          j        |j        |j        dd         ddgf         j        |j                   d S )
Nr   r   r   r(  r   r3   rY   rZ   ry   )rG   r   r   slicerm   r   r   rO   r%   r+  r;  rp  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TrE   c           	         |                                 }t          ddgddgddgddggg t          |j        d	d
                   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	d
                    d S )Nr   r   r   r(  r   g      @g      @g       @r   r3   rW   r   rY   rZ   ry   )	rG   r   r!  r   rs  rm   r   r   rO   rt  s        r+   'test_setitem_frame_mixed_rows_unalignedz=TestDataFrameIndexing.test_setitem_frame_mixed_rows_unalignedi  s    ##%%3Z#sc3Z#s<5D1&&55u5#J
 
 

 wuT1~~&c
3c

E!'!A$-#s+,3U\!A#5F	
 	
 	
 	
 	
rE   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 )Nr3   rY   rn  rZ   )	rG   rm   r   rs  rH   ru   r   r   rO   rt  s        r+   &test_setitem_frame_mixed_key_unalignedz<TestDataFrameIndexing.test_setitem_frame_mixed_key_unalignedw  s    ##%%agbqbkC5()gbcclwuR'#s4c
Vc

quQWRSS\C:%=>Eu|TTTTTrE   c                 <   |                                 }|j        |j        d d         ddgf         }|j        t          dd                    ddgf}|j        |j        |<   t          j        |j        |j        dd          ddgf         j        |j                   d S rm  )rG   rm   r   rs  rO   r   r   rt  s        r+    test_setitem_frame_mixed_ndarrayz6TestDataFrameIndexing.test_setitem_frame_mixed_ndarray  s    ##%%"&qwrr{S#J'>?wuR'#s4\c

quQWRSS\C:%=>Eu|TTTTTrE   c                 0   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
d          }|                    d
d
d          }|j        d d ddgf         d	z   |j        d d ddgf<   |                    ddg          }|d	z  }|d         |d<   t          j	        ||           d S )N)r/   r3   rW   )r4   r6   r   rY   rZ   r   r9   rc  r   rY   rZ         ?r   rY   rZ   r   )
r   rG   r"   r#   r}   rm   r{   r   r   r>   )r%   rA   r$  rC   s       r+   test_setitem_frame_upcastz/TestDataFrameIndexing.test_setitem_frame_upcast  s   }}}5OOOggii]9O<<< 	A 	A%'VAAASzM%:S%@CGAAASzM"	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A YYYY7788jjyy99::!#C:!6!<C:::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 rm  )rm   r   r:   rO   r   r   ro  s        r+   test_setitem_frame_alignz.TestDataFrameIndexing.test_setitem_frame_align  s     1"1" 5Sz AB!',c
>C)"##.c
:;!2233!7#s!CDK<
vx00000rE   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 )
Nr3   r^  rW   rW   r   r
  r   r   rW   r   r6   r
  r4   )
r   rH   r   rI   rJ   rm   r   r>   r   r]   rn   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0rE   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 )	Nr3   r^  r  r   r   r6   r/   r   )	r   rH   r   rI   rJ   rm   r   r   r>   )r%   rA   rB   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*****rE   
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   r2   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$   rm   )r%   r  rA   messagera   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t          d          d	          }|j        d
gdf         }t          j        ||           d S )Nr/   rX   r7   r   gGz?i  r   rh  r   r   )r   r1   r   rl   rH   r   rm   r   r
   r   r   r_   r   r]   )r%   r&   rB   rA   rC   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%uQxxc:::S!
vx00000rE   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   rT   r6   r   r   r3   r   zReturning a tuple fromr   c                     dS Nrs    r(   s    r+   <lambda>zTTestDataFrameIndexing.test_iloc_callable_tuple_return_value_raises.<locals>.<lambda>      d rE   r/   c                     dS r  r  r  s    r+   r  zTTestDataFrameIndexing.test_iloc_callable_tuple_return_value_raises.<locals>.<lambda>  r  rE   )	r   rH   r   r   r_   r"   r#   r^   r   )r%   rA   ra   s      r+   ,test_iloc_callable_tuple_return_value_raiseszBTestDataFrameIndexing.test_iloc_callable_tuple_return_value_raises  s;   ry}},,R335B??KKK&]:S111 	$ 	$GNN##	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$]:S111 	( 	(&'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 )Nr3   rT   r6   r   r   r   r/   r6   r     r/   r3   r6   r8   )r   rH   r   rI   rJ   r_   r   rm   r   r]   rs  r>   r   r   r%   rA   rB   r   rC   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/////rE   c                    t          t          j                            d                              d          t          ddd                    }|                                }|j        t          dd                   }t          j	        |d         |d                   sJ |d                                         }d|j
        d d df<   t          j        |d         |           d S )	Nr3   r  r   r   r   r6   r  rK  )r   rH   r   rI   rJ   r_   rG   r   rs  r)  rm   r   r]   )r%   rA   r-  subsetexp_cols        r+   test_iloc_row_slice_viewz.TestDataFrameIndexing.test_iloc_row_slice_view  s    I!!!$$44W==U1bRS__
 
 
 7799 q!%1vay111111+""$$
111a4
r!ug.....rE   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 )Nr3   r6   rT   r   r   r9   r/   r6   r  r  r  )r   rH   r   rI   rJ   r_   r   rm   r   r]   rs  r>   r   r:   r  s        r+   test_iloc_colz#TestDataFrameIndexing.test_iloc_col  sR   I!!!$$44W==uQPRTU
 
 
 AfQQQTl
vs+++AfQQQTl
vs+++ E!QKK(6!!!QrT'?
fh/// LLL)::bj&>:??
fh/////rE   c                    t          t          j                            d                              d          t          ddd                    }|                                }|j        d d t          dd          f         }t          j	        |d         j
        |d         j
                  sJ d|d<   |d         dk                                    sJ t          j        ||           d S )	Nr3   r  r   r   r9   r6   r  rK  )r   rH   r   rI   rJ   r_   rG   r   rs  r)  r*  r   r   r>   )r%   rA   r-  r  s       r+   test_iloc_col_slice_viewz.TestDataFrameIndexing.test_iloc_col_slice_view-  s    I!!!$$44W==uQPRTU
 
 
 7799E!QKK( 1vay/@AAAAAq	q	Q##%%%%%
b(+++++rE   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  r/   )yearmonthdayr7   )r2  r3  )rm   itemr   rY   rZ   ry   )FFFFFTr8   )r   r   r   r   r8   r8   )r   r   r   r   r   r   r  r   )	r   r   insertr   rH   r   rm   r   r>   )r%   trangerA   bool_idxrC   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(+++++rE   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-01r4   utc)r1  tzdatesrk   )r/   r   r3   )r   r/   r3   )r   r   r   r   r]   rm   )r%   columnrA   s      r+   4test_setitem_with_unaligned_tz_aware_datetime_columnzJTestDataFrameIndexing.test_setitem_with_unaligned_tz_aware_datetime_columnW  s     
<uEEEGTTT())YYY'7
r'{F333())%+III%6yyy'!"
r'{F33333rE   c                    t          d          }t          t          d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d          |j        |j        d         d df<   t          j        d          |d<   |j	        }t          t          j        d          gdz  t          j        d          gdz  z   t          d                    }t          j        ||           d S )Nr/   )hours20130101r6   nsr1  unitr   m8[ns]r0   rY   r3   rZ   r4   r   r   r7   rX   rj  r   r8   rq   r'  GHztimedelta64[ns]zdatetime64[ns]ABCDEFGH)r   r   r   rH   r   rm   r   timedelta64
datetime64r   r   r1   r!  r   r]   )r%   one_hourrA   rB   rC   s        r+   ,test_loc_setitem_datetimelike_with_inferencezBTestDataFrameIndexing.test_loc_setitem_datetimelike_with_inferenced  s    1%%%Z
ADIIIJJJ(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QT&R&R&Rrx|~~s"#-&&3X'(()A-:J1K1K0Lq0PPz""
 
 
 	vx00000rE   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   r/   )r   r/   r3   r4   r6   yg333333?)r   r/   )r  r/   )r  r/   )r  r6   testrW   zDnot supported between instances|unorderable types|Invalid comparisonr   )
r   rH   ru   rG   rm   r   r>   r"   r#   r}   )r%   rA   r$  rC   ra   s        r+   #test_getitem_boolean_indexing_mixedz9TestDataFrameIndexing.test_getitem_boolean_indexing_mixedz  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          t	          d	          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 )Nxr  r   r/   rw   names)r/   r/   r3   r3   )r4   r4   r6   r6   r3   rC  rk   r   rs  r   )levelscodesr  r4   r6   )r  r   r   )r   r  r   r   r_   r"   r#   r	   rm   rs  r   r>   r   r]   )r%   midgr   r:   rC   rB   rg   s           r+   test_type_error_multiindexz0TestDataFrameIndexing.test_type_error_multiindex  s   $sCj1a&%9$MMM\\<<<("E%((QT<U<U<U
 
 
 ],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   .B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r4   r6   r7   r9   r   r~  )r   rH   r  ri  IntervalIndexfrom_breaksr   r   r   r]   rm   )r%   rA   rC   rQ   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-----rE   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:   r1   )r3   )r3   r3   r   r   r   )r   r|   rH   zerosrm   r   r>   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(+++++rE   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 )NrY   r2   Int64r0   rq   )r   rG   rO   rm   r   r>   ri  corearraysNumpyExtensionArrayr   )r%   rA   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$'''''rE   c                     t          t          j        dt                              }t          j        |d                   |d<   |dg          d S )Nr/   r/   r0   r   )r   rH   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rE   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 )NrY   r2   r0   |)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   r3   r   r   rZ   )r   rG   r*  joinr"   r#   r}   r   )r%   r  any_numeric_ea_dtyperA   serr   ra   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   rk   r   r/   r   r   )r   r   rm   r   r>   r   s      r+   +test_loc_expand_empty_frame_keep_index_namezATestDataFrameIndexing.test_loc_expand_empty_frame_keep_index_name  sn    uE"3,?,?,?@@@q	cA3ZuaSs/C/C/CDDD
b(+++++rE   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   rW   r2   r   r   r   from_tuplesrm   r   r>   r   s      r+   +test_loc_expand_empty_frame_keep_midx_nameszATestDataFrameIndexing.test_loc_expand_empty_frame_keep_midx_names&  s    E!7///!R!R!R
 
 
 "y5'N()OOOLLL
 
 
 	b(+++++rE   z	val, idxr)r  r   r  r   )r/   r   r/   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            d S # 1 swxY w Y   d S )Nr   r/   r3   rc  r   r   r   r   r"   r#   r}   rm   )r%   idxrrD  rA   s       r+   test_loc_setitem_rhs_framez0TestDataFrameIndexing.test_loc_setitem_rhs_frame2  s     aV}%%]9O<<< 	H 	H'sBi(8AGGGBF111d7O	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H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   r9   r/   r3   r0   r   )r   rG   rH   r   r   r   r   r>   )r%   rA   rC   views       r+   $test_iloc_setitem_enlarge_no_warningz:TestDataFrameIndexing.test_iloc_setitem_enlarge_no_warningB  sq    Sz***7799!!!u!Qrz:::1
dH-----rE   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 )NTr/   r   )bool_colr   r   r3   idx1idx2r  r   r  r4   rw   r   r   r   r   r   )r   r   from_arraysrm   r   r   r]   )r%   rA   r@   rB   rC   s        r+   (test_loc_internals_not_updated_correctlyz>TestDataFrameIndexing.test_loc_internals_not_updated_correctlyJ  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0rE   rD  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   stringr0   r   r   rw   r   r   ri  NAr   r>   r%   rD  rA   rC   s       r+    test_iloc_setitem_string_list_naz6TestDataFrameIndexing.test_iloc_setitem_string_list_naa  sm     ___-X>>>QQQcBE3#45XFFF
b(+++++rE   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_nai  sk     ___-X>>>111cBE3#45XFFF
b(+++++rE   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   r2   r  r0   r7   r   )r7   r7   r7   r   )r%   r  rA   rC   s       r+   /test_iloc_setitem_ea_null_slice_length_one_listzETestDataFrameIndexing.test_iloc_setitem_ea_null_slice_length_one_listq  sq     YYY'w777 !4499c999-W===
b(+++++rE   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 )NrY   rZ   r   firstsecondr  r   Indexerr   r   )r  r  )rY   r   )rY   r   )
r   r   r  r   r   r  rm   r  r   r>   )r%   rA   indexer_tupler  rB   rC   s         r+   test_loc_named_tuple_for_midxz3TestDataFrameIndexing.test_loc_named_tuple_for_midxy  s    )s___-gx5H  
 
 

 #9bhn==}3Sz:::aaa(Z((0C  
 
 

 	fh/////rE   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-30r/   )daysz
2022-12-31)r   r   ri  	Timedeltarm   r   r>   )r%   r<  r   rA   rC   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(+++++rE   has_refrg   c                 0   d}t          i |t          |          t          |          d          }|ddg                                         }|                                }|r
|d d          }||j        |dgz  ddgf<   t	          j        ||           d S )Nr  r  r  r  r  T)r   r_   rG   rm   r   r>   )r%   r<  r  nrA   valuerC   r  s           r+   1test_loc_setitem_reordering_with_all_true_indexerzGTestDataFrameIndexing.test_loc_setitem_reordering_with_all_true_indexer  s     <#<E!HH588<<<==C:##%%7799 	aaa5D).qD6zC:%&
b(+++++rE   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   r9   )r   rG   r   r~   rm   r>   )r%   rA   rC   rhss       r+   test_loc_rhs_empty_warningz0TestDataFrameIndexing.test_loc_rhs_empty_warning  s    Sz***7799&&&'-- 	! 	! BF111c6N	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!
b(+++++s   A''A+.A+c                 b   t          g dg dg          }t          ddgd          }t          dgd          }|j        ||f         }t          ddggt          dd	          
          }t	          j        ||           |j        |j        |j        f         }t	          j        ||           d S )Nr   r/   r3   r4   r6   r7   r8   rG  r  	   r   r/   r  r0   r7   r8   r3   r   )r   r   r   r_   r   r>   rO   )r%   rA   r   row_indexerrB   rC   s         r+   test_iloc_ea_series_indexerz1TestDataFrameIndexing.test_iloc_ea_series_indexer  s    9::!Qw///aS000g-.q!fXU1a[[999
fh///+W^;<
fh/////rE   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  r0   zcannot convertr   )	r   r   ri  r  r"   r#   r^   r   rO   )r%   rA   r   ra   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<)Tr1   booleanc                    t          j        t          g d|          t          g d|          gddg          }t          dg di|	          }t	          j        |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)TTFFr0   )TFTFr   r   r  rw   )r/   r3   r4   r6   r   r/   r3   TF)rg   r1   )r   r  r   r   r   maybe_produces_warning
isinstancetuplerm   r   r>   )r%   performance_warningr1   r   midxrA   rB   rC   s           r+   test_loc_bool_multiindexz.TestDataFrameIndexing.test_loc_bool_multiindex  sB    %111???111??? *
 
 
 \\\*$777&':JwPU<V<VWW 	% 	%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  r/   r   r   )r  TF)r   update)deepr3  r   )r   r   r   rG   rm   r   r>   )r%   r  r   rA   rC   	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(+++++rE   zindexer, idxr3   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 )Nri   rj   r   r0   r/   r3   )r   rH   ru   r|   r   r>   )r%   r   r@   rA   r   rC   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(+++++rE   c                    dg}t          j        ddgd          g}t          t          t	          ||                              }||j                 }t          dddgid          }||j                 }t          j        ||           d S )Nr   r/   r3   z>f8r0   )rH   r   r   dictzipr:   r   r>   )r%   r:   r`   rA   rB   dfexprC   s          r+   )test_big_endian_support_selecting_columnsz?TestDataFrameIndexing.test_big_endian_support_selecting_columns  s    %!Qu---.tC..//00BJ3A-u555'
fh/////rE   )h__name__
__module____qualname__r,   rD   rR   rU   rc   ro   r   r   r"   markparametrizer   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r%  r.  r4  r9  r>  rE  rI  rM  rO  rQ  rU  rW  r\  re  rk  rq  ru  rw  ry  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  filterwarningsri  rj  to_numpyr  r  r  r  r  r  r  r	  r  r!  r   rH   r   r  r  r  r  r!  r'  r)  r   r1  r6  r   rm   r   r8  r=  r  rE   r+   r   r   $   s       " " ""B B B4 4 4> > >& & &&1 1 197 97 97v 1  1  1D [###%7%7%79N9N9NO 0 0 0/ / /  0 0 00 0 0$) ) )& & &)6 )6 )6V	, 	, 	,2, 2, 2,h< < <:.7 .7 .7`' ' '- - -*	W 	W 	W* * *     0 0 0  <5 5 51 1 1(
& 
& 
&/ / /3 3 3 0 0 0./ / /(0 0 0, , ,, , ,0 0 0Q* Q* Q*f. . .:  1 1 1
U 
U 
U
 
 
U U UU U U- - -1 1 11 1 1&+ + +& [\D%=99	# 	# :9	#1 1 1$( ( (0 0 0./ / / 0 0 0., , ,, , ,64 4 41 1 1,, , ,\1 1 12. . ., , ,( ( (   [ PQQ[22BFOOH4M4MN /+ /+  RQ/+b, , ,
, 
, 
, [3%LJ		
 H H H. . .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	, [Yu66[UR&#$788	, 	, 98 76	,, , ,
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,0 0 0 0 0rE   r   c                       e Zd Zd ZdS )TestDataFrameIndexingUInt64c                 x   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            d S # 1 swxY w Y   d S )Nr4   )l            l           l   
        r  r0   rY   rW   r   rk   r   rc  r   r  r/   r3   )r   rH   r   uint64renamer:   r   r]   r   rG   r"   r#   r}   ri  rj  r   )r%   rA   r@   r$  s       r+   r   z(TestDataFrameIndexingUInt64.test_setitem  s   )A,,%C%C%CDD)
 
 
 gnnU## "*$$$$3
r#ws(=(=(=>>>"*$$$$33
r#ws(=(=(=>>>sG ggii]9O<<< 	$ 	$VCHTNVCHTN	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$s   9)D//D36D3N)r>  r?  r@  r   r  rE   r+   rF  rF    s#        $ $ $ $ $rE   rF  c                     t          ddgt          d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 | 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 )Nr/   r3   2000r  r  z1 Dayr0  r}  r   )axisr  r  zm8[us])r   r   ri  timedelta_rangerm   r-  rO   r   r  r   xs_mgr_rebuild_blknos_and_blklocsfast_xsr   blocksblknosr1   iget)rA   r  mgrr   blkrD  s         r+   /test_object_casting_indexing_wraps_datetimelikerX    s#   	QFAD999#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<(((((((rE   zFCannot setitem on a Categorical with a new category( \(.*\))?, set thezCCannot set a Categorical with another, without identical categoriesc                   v   e Zd Zej        d             Zej        d             Zej        d             Zd Zej	        
                    dej        ej        ej        ej        g          d             Zd Zd Zd	 Z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hrC  rB  r   lmr  r/   r/   r/   r/   r/   r/   r/   catsrO   r   r   r   r   )r%   rd  r@   rO   r  s        r+   r  z$TestLocILocDataFrameCategorical.origE  s^    >>>CQT:VVV77788&&&$&99EEErE   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   r\  r^  rb  rc  r   re  )r%   cats3idx3values3exp_parts_cats_cols        r+   rk  z2TestLocILocDataFrameCategorical.exp_parts_cats_colM  sc     ???SRUJWWW88899'''&'I'IQUVVV!!rE   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   r\  r^  rb  rc  r   re  )r%   cats4idx4values4exp_single_cats_values        r+   rq  z5TestLocILocDataFrameCategorical.exp_single_cats_valueV  sk     ???SRUJWWW88899''' )g..d!
 !
 !
 %$rE   c                 *   |                                 }t          dd          }|t          j        u rt          dd          }ddgddgg ||          |d d f<   t	          g dddg          }t          g d	          }g d
}t          ||d|          }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 )Nr3   r6   rB  r   r   rg  r   r\  r^  )r/   r/   r3   r3   r/   r/   r/   rc  r   r   rw   )rG   rs  r   rm   r   r   r   r>   r"   r#   r}   msg1)	r%   r  
indexer_lirA   r*   cats2r   values2exp_multi_rows	            r+   #test_loc_iloc_setitem_list_of_listszCTestLocILocDataFrameCategorical.test_loc_iloc_setitem_list_of_listsa  st   YY[[AqkkS//C#&(S!H!5

2sAAAv???SRUJWWW88899'''!5G"D"DDQQQ
b-000YY[[]9D111 	: 	:'*Aha%9JJrNN36"	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	:s   "DDDr   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)r3   r   r3   r   r   r   rw   )rG   r   rm   atr   r:   r>   r"   r#   r}   rs  )r%   r  rq  r   rA   r*   s         r+   7test_loc_iloc_at_iat_setitem_single_value_in_categorieszWTestLocILocDataFrameCategorical.test_loc_iloc_at_iat_setitem_single_value_in_categoriesu  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 )NrB  r   r   )rG   r   r   rm   r:   r>   )r%   r  rq  rt  rA   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*S/C$'

2tSy!
b"788888rE   c                    |                                 }d}|t          j        u r|j        d         }ddg ||          |d d f<   t	          g dddg          }t          g d          }g d}t          ||d|	          }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 )Nr3   r   rm  r   r\  r^  )r/   r/   r3   r/   r/   r/   r/   rc  r   r   rw   )rG   r   rm   r   r   r   r   r>   r"   r#   r}   rs  )	r%   r  rt  rA   r*   cats1r  values1exp_single_rows	            r+   2test_loc_iloc_setitem_full_row_non_categorical_rhszRTestLocILocDataFrameCategorical.test_loc_iloc_setitem_full_row_non_categorical_rhs  sO   YY[[(1+C #&q

2sAAAv???SRUJWWW88899'''"EW#E#ETRRR
b.111 ]9D111 	. 	.&)1XJJrNN36"	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.s   9CC"C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 )Nr3   r6   r   rB  r   r   r   r\  bbabcr   cc)rG   rs  r   rm   r:   r   r>   r!  r"   r#   r}   msg2)	r%   r  rk  rt  rA   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c??BJqM2C c3ZS#J???$

2s
b"4555 "$t**eEEE]9D111 	. 	. #.JJrNN3	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. tDzzd5kkBBB]9D111 	+ 	+"*JJrNN3	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+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 )	Nr3   r6   r   rB  r   r   r   rw   )
rG   rs  r   rm   r:   r>   r"   r#   r}   rs  )r%   r  rk  rt  rA   r*   s         r+   )test_loc_iloc_setitem_non_categorical_rhszITestLocILocDataFrameCategorical.test_loc_iloc_setitem_non_categorical_rhs  s    YY[[Q{{Ac??BJqM2C  #Cj

2s
b"4555 ]9D111 	- 	-#&*JJrNN3	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-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2012r4   r0  r   r2   r   )r   r{   r|   r   r   r1   r   getitem)r%   r   r@   rA   r  s        r+   -test_getitem_preserve_object_index_with_dateszMTestLocILocDataFrameCategorical.test_getitem_preserve_object_index_with_dates  s     +++226::999~S111x~''''bj  '"++a.CC'"++aaad#Cy&((((((rE   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   r/   )r   )r   r  r  )r`   r   r   r  )r%   rA   rC   rB   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/////rE   N)r>  r?  r@  r"   fixturer  rk  rq  rx  rA  rB  r   rm   r   rz  iatr{  r}  r  r  r  r  r  r  r  rE   r+   rZ  rZ  D  s?       ^  ^ ^" " ^" ^% % ^%: : :( [Y"%(HII# # JI#$9 9 9. . .(+ + +:- - -$ [YRVRW(EFF) ) GF)
0 
0 
0 
0 
0rE   rZ  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*   r/   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 
Nr/   r3   r4   r6   r   r   r9   as an indexer is not supportedr   r  r%   r*   rA   s      r+   $test_getitem_dict_and_set_deprecatedz;TestDeprecatedIndexers.test_getitem_dict_and_set_deprecated  s    
 AA'#s<<<]9,LMMM 	 	F3KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AAAr3   rH  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 Nr/   r3   r4   r6   r   r   rH  r  r   r  r   r   r   r  r"   r#   r}   rm   r  s      r+   /test_getitem_dict_and_set_deprecated_multiindexzFTestDeprecatedIndexers.test_getitem_dict_and_set_deprecated_multiindex  s     VaV#J(&&)9::
 
 

 ]9,LMMM 	 	F3KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   
A%%A),A)c                     t          ddgddggddg          }t          j        t          d	          5  d|j        |<   d d d            d S # 1 swxY w Y   d S r  r  r  s      r+   $test_setitem_dict_and_set_disallowedz;TestDeprecatedIndexers.test_setitem_dict_and_set_disallowed  s    
 AA'#s<<<]9,LMMM 	 	BF3K	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AAAc                     t          ddgddggddgt          j        ddg          	          }t          j        t
          d
          5  d|j        |<   d d d            d S # 1 swxY w Y   d S r  r  r  s      r+   /test_setitem_dict_and_set_disallowed_multiindexzFTestDeprecatedIndexers.test_setitem_dict_and_set_disallowed_multiindex  s     VaV#J(&&)9::
 
 

 ]9,LMMM 	 	BF3K	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   
A""A&)A&N)
r>  r?  r@  r"   rA  rB  r  r  r  r  r  rE   r+   r  r    s       [aVqc3Z1a&#SE
Qc
OT    [CFc1XsO!fa[#cUOc3Z 	

 
 
 
 [aVqc3Z1a&#SE
Qc
OT    [CFc1XsO!fa[#cUOc3Z 	

 
 
 
  rE   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 )Nr  r/   ri   r  r  c                     | S )Nr  )r  s    r+   r  z4test_adding_new_conditional_column.<locals>.<lambda><  s    a rE   )r   rm   r   r>   )rA   rC   r  s      r+   "test_adding_new_conditional_columnr  3  s    	C!:		B #BF2c7a<s#//00H"h'''	C!:		BKE %BF2c7a<s%1122H"h'''''rE   )r1   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 )Nr/   r3   r4   r6   r  future.infer_stringri   r   rw   ru   r   r   )r   ri  option_contextrm   floatr{   r   r>   )r1   r  rA   rC   s       r+   .test_adding_new_conditional_column_with_stringr  B  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 )Nr  r/   r  Tri   r  r  r0   r  r   r9   )r   ri  r  rm   r   StringDtyperH   ru   r   r   r>   )rA   rC   s     r+    test_add_new_column_infer_stringr  T  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 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g e
d	d ej        d	           ej        d	                    ej                            de          d                         Zej                            dg e
dd ej        d                    ej                            de          d                         Zej                            dg e
d          ej                            de          d                         ZdS )TestSetitemValidationc                 |   |                                 }t          j        t          d          5  ||j        |df<   |                                 }d d d            n# 1 swxY w Y   t          j        t          d          5  ||j        |df<   |                                 }d d d            d S # 1 swxY w Y   d S )Nrc  r   r   r   )rG   r"   r#   r}   r   rm   )r%   rA   invalidr   orig_dfs        r+   _check_setitem_invalidz,TestSetitemValidation._check_setitem_invalidb  s0   '')) ]9O<<< 	  	 ")BGGQJB	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 
 ]9O<<< 	  	 #*BF7C< B	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 s#   !AA!$A!!B11B58B5c                     |                                 }||j        |df<   |                                 }||j        |df<   |                                 }d S )Nr   r   )rG   r   rm   )r%   rA   r  r   r  s        r+   _check_setitem_validz*TestSetitemValidation._check_setitem_valido  sQ    '')) $
\\^^  %w|\\^^rE   y      ?       @Trueri   z1.0rj  r   r/   TFFNr  r   r   c                 ^    t          dg did          }|                     |||           d S )Nr   r  r   r0   r   r  )r%   r  r   rA   s       r+   #test_setitem_validation_scalar_boolz9TestSetitemValidation.test_setitem_validation_scalar_bool  s@    
 1112&AAA##B99999rE   Tr   c                     t          dg di|          }t          |          r;|t          j        ur-t	          j        |          s|                     |||           d S |                     |||           d S )Nr   r2   r0   )r   r   ri  rj  rH   isnatr  r  )r%   r  any_int_numpy_dtyper   rA   s        r+   "test_setitem_validation_scalar_intz8TestSetitemValidation.test_setitem_validation_scalar_int  s     YYY'/BCCC== 	>WBF2228G;L;L2%%b'7;;;;;''GW=====rE   c                 ^    t          dg di|          }|                     |||           d S )Nr   )r/   r3   Nr0   r  )r%   r  float_numpy_dtyper   rA   s        r+   $test_setitem_validation_scalar_floatz:TestSetitemValidation.test_setitem_validation_scalar_float  s>     \\\*2CDDD##B99999rE   )r>  r?  r@  r  r  ri  rj  rH   r  r  _invalid_scalarsrs  	_indexersr"   rA  rB  r   r   r  r  r  r  rE   r+   r  r  `  s            	 	 	 	
eu QCq!&:&:&:EE$d<S<STI[J%JqJ#Jxrx{{JJBJqMMJ  [Y	22: : 32 : [Y(W*:(WD(W#(WzrzRU(WXX[Y	22> > 32 YX> [Y(A*:(AD(ABB[Y	22: : 32 CB: : :rE   r  )r  N)0collectionsr   r   r   decimalr   rK   numpyrH   r"   pandas._libsr   pandas.errorsr	   pandas.core.dtypes.commonr
   pandasri  r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr   r[  r   rF  rX  rs  r  rZ  r  r  rA  rB  r|   r  ru   r  r  r  r  rE   r+   <module>r     s   " " " " " "              				            + + + + + + 0 0 0 0 0 0                                  R
W0 W0 W0 W0 W0 W0 W0 W0t.$ $ $ $ $ $ $ $6$) $) $)N QLn0 n0 n0 n0 n0 n0 n0 n0b; ; ; ; ; ; ; ;|( ( ( ( 			(	(	($/ ( ( ( (	( 	( 	(:: :: :: :: :: :: :: :: :: ::rE   