
    .ic                       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	jP                  jS                  de*df ejV                  ejX                        dfg      dd       Z-d Z. G d d      Z/y)    )
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                  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                  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                  j                  dJ      ej                  j                  dKeIj                  eIj                  j                  dL      eIj                  j                  dM      g      dN               ZLdO ZMdP ZNej                  j                  dQdRdSdTgfdUdVdTgfg      dW        ZOdX ZPdY ZQej                  j                  dZd[d[geIj                  eIj                  gg      d\        ZSej                  j                  dZd[eIj                  g      d]        ZTej                  j                  d^eUeVeWj                  g      d_        ZYd` ZZej                  j                  dadTgdTg      ej                  j                  dbi dcdVig      dd               Z[ej                  j                  ded8d9g      ej                  j                  dbi dfdTig      dg               Z\dh Z]di Z^dj Z_ej                  j                  dad8dkg      ej                  j                  dle`dmg      dn               Zaej                  j                  dod9d8g      ej                  j                  dadpdpgg      dq               Zbej                  j                  drecj                  dVfecj                  dsfg      dt        Zfdu Zgy[)vTestDataFrameIndexingc                    |d d }t        |j                        dk(  sJ |j                         D ]I  \  }}t        |j                        dk(  sJ t        j                  |j                  |j                         K |j
                  j                         D ]  \  }}||   J  d|vsJ t        j                  t        d      5  |d    d d d        y # 1 sw Y   y xY w)N   randommatch)	lenindexitemstmassert_index_equal_seriespytestraisesKeyError)selffloat_framesl_serieskeys         g/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/frame/indexing/test_indexing.pytest_getitemz"TestDataFrameIndexing.test_getitem%   s    "288}"""  	:IAvv||$***!!&,,9	: "))//1 	0FCs#///	0 {***]]884 	"!	" 	" 	"s   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
       y )N   r   r.   dtyper.                  columnsr.   r3   r5   r7   Tcheck_exactr   r   r   assert_frame_equal)r$   any_numeric_dtyper0   idxdfresultexpecteds          r*   6test_getitem_numeric_should_not_fallback_to_positionalzLTestDataFrameIndexing.test_getitem_numeric_should_not_fallback_to_positional6   sc    !IU+	9-s;Aq!fq!f-uaV57QR
fhDA    c                    |j                         }t        j                  j                  d      j	                  t        |            |d<   t        j                  j                  d      j	                  t        |            }||d<   t        j                  t        t        j                  d            5  |j                  d       d d d        |d   }t        j                  ||j                         y # 1 sw Y   /xY w)Nr2   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%   r@   adress        r*   test_getitem2z#TestDataFrameIndexing.test_getitem2?   s    II))!,<<SWE5	YY""1%55c"g> "]]8299_+EF 	(NN;'	( "#
##B

3		( 	(s   5C55C>c                     |}t        g d|      }t        g dg dg|      }d|d<   t        g dg d	g|      }t        j                  ||d
       y )Nr-   r/   r1   r4   r8   
   r.   )rS   r2   rS   )rS   r6   rS   Tr:   r<   )r$   r>   r0   r?   r@   rB   s         r*   6test_setitem_numeric_should_not_fallback_to_positionalzLTestDataFrameIndexing.test_setitem_numeric_should_not_fallback_to_positionalL   sP    !IU+	9-s;1k;7E
b(=rD   c                    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        t        t        |j                        d	z
        }d
t        |       dt        |       d}t        j                  t        |      5  ||d<   d d d        y # 1 sw Y   oxY w# 1 sw Y   y xY w)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
{3/cN2]]:S1 	2%sCj1D#K	2c$**o12"3}#5"6 7114T2? 	 ]]:S1 	&%DI	& 	&	2 	2	& 	&s   -C'C3'C03C<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                  ||       y )Nr   r3   tt1tt2)r   r9   r0   r.   r2   )r0   name012rf   )	r   r^   intlocr   r   r9   r   r\   r$   r@   rA   rB   s       r*   test_setitem_list2z(TestDataFrameIndexing.test_setitem_list2h   s    qa5%.L%&Fq5%. !eU^341a&"**Ca@
vx0 ##5	BuI/2Cjrxx{UEN*+eU^343*bjjq9
vx0rD   c                    |j                   t        |      dz     }|j                   |kD  }|j                  t              }|j                   |   }||   }t	        j
                  ||j                          t        j                  t        d      5  ||d d     d d d        ||   }	t	        j                  |	|       t        j                  t        d      5  ||    d d d        t        ||j                         }||   }	t	        j                  |	|       t	        j                  t        d      5  |j                  |j                   d d d         }||   }	t	        j                  |	|       d d d        |||fD ]&  }
|
j                         }|
|
dkD     }t!        |j"                  D ci c]1  }|t%        j&                  ||   dkD  ||   t$        j(                        3 c}|j                   |j"                        }|
j"                  D ]  }||vs|
|   ||<    |j                  |
j"                  	      }t	        j                  ||d
       |
j"                  D ]C  }||   j*                  ||   j*                  k7  s#||   j*                  |
|   j*                  k(  rCJ  ) y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   TxY wc c}w )Nr2   zItem wrong lengthr   zBoolean array expectedzwill be reindexedr   r   r9   r8   F)check_dtype)r   r   astypeobjectr   r   r!   r"   r]   r=   	TypeErrorr   assert_produces_warningUserWarningreindex_get_numeric_datar   r9   rG   wherenanr0   )r$   mixed_float_framemixed_int_framedatetime_framedindexerindexer_objsubindexsubframesubframe_objr@   r_   bifcbifws                  r*   test_getitem_booleanz*TestDataFrameIndexing.test_getitem_booleanv   s     ^!4!9: &&*nnV,!''0!'*
h7]]:-@A 	)73B<(	) &k2
lH5]]9,DE 	+>*	+ [.*>*>?%k2
lH5 '';NO 	:%--n.B.B4R4.HIK)+6L!!,9	: 
 	7B
 '')DR!V*CDHLLQqBHHT!Wq[$q'266::QjjD ZZ $D= eDG$ <<

<3D!!#t?ZZ 7q6<<47==0q6<<2a5;;6667)	73	) 	)	+ 	+	: 	: Rs*   	J%J20=J?)6K
%J/2J<?K	c                    |j                         }d|d<   |d   j                  d      |d<   |d   j                         |d<   d|d<   |d   j                  d      |d<   |d   j                         |d<   ||dkD     }|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kD     }|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                  ||       y )Nr.   rW   int32E1Fint64F1r   float64r5   r2   )rX   rY   CDrW   r   r   r   r   r3   )
rF   rs   dtypesr   rG   r0   r   r\   rl   r   )r$   r~   r@   castedrA   rB   s         r*   test_getitem_boolean_castingz2TestDataFrameIndexing.test_getitem_boolean_casting   s     "3S'..)3c7<<>43S'..)3c7<<>4BFXXi !A%xx !A%&xx !A%& =	
 	vx0 /0rxx!}tTl*+BFXXi !A%xx !"xx	"#$ xx !" xx	"#	$
 =
 	vx0rD   lstTFT)TTT)FFFc                     t        t        j                  d      j                  dd            }||   }|j                  |j
                  |      }t        j                  ||       y )N   r3   r5   )r   rG   arangereshaperl   r   r   r=   )r$   r   r@   rA   rB   s        r*   test_getitem_boolean_listz/TestDataFrameIndexing.test_getitem_boolean_list   sR     ryy},,Q23C66"((3-(
fh/rD   c                    t         j                  j                  d      j                  d      }t	        |j                         g d      }||dk  xx   dz  cc<   ||dk  xx   dz  cc<   t        j                  |j                  |       y )Nr2   r6   r6   )rX   rY   r   r   rW   r8   r   r.   )	rG   r   rH   rI   r   rF   r   assert_almost_equalrN   )r$   arrr@   s      r*   test_getitem_boolean_iaddz/TestDataFrameIndexing.test_getitem_boolean_iadd   sk    ii##A&66v>sxxz+DE
26
a
C!G
ryy#.rD   c                     t        t        j                  ddg      dgt        g             }t        j                  g t
              }||    d||<   y )Nr   r.   rX   r9   r   )r   rG   emptyr   arraybool)r$   blahks      r*   test_boolean_index_empty_cornerz5TestDataFrameIndexing.test_boolean_index_empty_corner   sF    1a&)C5b@QR HHRQQrD   c                    t        t        j                  j                  d      j	                  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                  ||       y )	Nr2   )r5   r3   )r.   rS   r   rW   r1   rq   rp   r.   rS   )r   rG   r   rH   rI   ilocrl   r   r   r=   r   rm   s       r*   test_getitem_ix_mixed_integerz3TestDataFrameIndexing.test_getitem_ix_mixed_integer   s    II!!!$44V<#
 "66"((3B-(
fh/B66%B.)
fh/rD   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                  ||       y )N)      ?g@g	@      @)      $   (   )rS      +   "   )r   rS   r      )rnar     r8   r   r3   r   r.   r   r   r   r=   rm   s       r*   test_getitem_ix_mixed_integer2z4TestDataFrameIndexing.test_getitem_ix_mixed_integer2   s    +'#%	 ,
 TF771qc6?
fh/UG771qc6?
fh/rD   c                     t        j                  |j                  |d          d}t        j                  t
        |      5  |j                   d d d        y # 1 sw Y   y xY w)NrX   z6'DataFrame' object has no attribute 'NONEXISTENT_NAME'r   )r   r\   rX   r!   r"   AttributeErrorNONEXISTENT_NAME)r$   r%   r`   s      r*   test_getattrz"TestDataFrameIndexing.test_getattr  sL    
{}}k#.>?F]]>5 	)((	) 	) 	)s   AA c                     t        ddit        d            }d|_        |j                  dk(  j                         sJ y )Nfoobarr.   rS   r   r6   )r   r^   r   allr$   r@   s     r*   test_setattr_columnz)TestDataFrameIndexing.test_setattr_column  s7    !}E"I6			Q##%%%rD   c                    |d   d d d   }||d<   d|v sJ t        |      dk(  sJ t        |      dk(  sJ t        j                  t        j                  |j                  t        j
                  gdz  f            }t        ||j                  d      }t        j                  |d   |       |d   }||d<   t        j                  ||d   d	       t        j                  j                  d      j                  t        |            }||d
<   |d
   |k(  j                         sJ d|d<   |d   dk(  j                         sJ d|d<   |d   dk(  j                         sJ d|d<   |d   dk(  j                         sJ |d d }ddg|d<   |r|d   j                  dk(  s$J |d   j                  t        j                  k(  sJ |d   ddgk(  j                         sJ y )NrX   r2   col5   r   r   rf   col6FrZ   col9r6   col7gQ	@col0rV   col8rh   ri   col10str)r   rG   ravelcolumn_stackrN   r{   r   r   r   r\   r   rH   rI   r   r0   object_)r$   r%   using_infer_stringr(   expr   smallers          r*   test_setitemz"TestDataFrameIndexing.test_setitem  s   S!#A#&$F$$$6{b   ;2%%%hhrx"}'EFGS 1 1?
{62C8S!$F
v{6':N ii##A&66s;7GH!FF#s*//111FF#q(--///"FF#t+00222#FF#u,11333 bq/:7#))U2227#))RZZ777 S#J.33555rD   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
                  ||       y )Nr   )r   rG   r{   r   r   r=   rl   r$   r@   rB   s      r*   test_setitem2z#TestDataFrameIndexing.test_setitem2H  s~    Ax VV
rvvrvv./0
b(+Ax FFq	
b(+rD   c                 F   |j                         }|j                  j                         }d||d   dkD  <   d||d d df   dkD  <   t        j                  |j                  |       |d   dk(  }|j	                  |j
                  d d d         }d||<   d||d d df   dk(  <   t        j                  |j                  |       d||dkD  <   d||dkD  <   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        |j                         }|t        j                  |      kD  }t        j                  ||t        j                  |      kD  <   |j                  j                         }t        j                  ||j                  <   t        ||j
                  |j                        }t        j                  ||       |dz  ||t        j                  |      kD  <   t        j                  ||j                  |j                  dz         t        ||j
                  |j                        }t        j                  ||       y # 1 sw Y   OxY w)Nr5   rX   r   rp   r.   r6   r2   r3   z;Must pass DataFrame or 2-d ndarray with boolean values onlyr   rq   )rF   rN   r   r   rx   r   rG   putmaskr!   r"   ru   absr{   r   r9   r=   )	r$   r%   r@   rN   r(   r`   df_origmaskrB   s	            r*   test_setitem_booleanz*TestDataFrameIndexing.test_setitem_booleanS  s   ##((*2c7Q;#$vad|a 
ryy&1 CA2/6
$%vad|q !
ryy&126
vz
ryy&127v{
ryy&1 2cr7Q;


6#2;sa3
ryy&1 2dd8q=v{
ryy&1K]]9C0 	BrAvJ	 '')BFF2J ff2r
?$$& fft{{V7=='//R
b(+ !1f2r
?


64;;		A6V7=='//R
b(+!	 	s    	LL c                    |d   j                  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 y )
Nr   i8r   rY   barrV         @	somethingr2   )
rs   r0   rG   r   r   r   
issubclasstypeintegerr   r$   r%   s     r*   test_setitem_castz'TestDataFrameIndexing.test_setitem_cast  sx   &s+2248C3%%111
 C3%%111 99S%56C+c*0055rzzBBB"EE5!''288333"E E5!''2::555#$K ;'--999#$K ;'--999#&K ;'--;;;rD   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 |d
   j                  t        j                  k(  sJ g d|d<   |r|d   j                  dk(  sJ y |d   j                  t        j                  k(  sJ y )N)      ?       @      @abr   )rY   r   r3   r   rY   r2   	beginningrX   rV   rW   r   r   date      @r.   r   r   r   r   rh   ri   3	coercible)r   rG   r   r   r9   r   nowr   rN   r0   r   r   r   r   )r$   r%   r   r@   dms        r*   test_setitem_cornerz)TestDataFrameIndexing.test_setitem_corner  s   _?C299UV<XsG!3byy2::!###333#8<<> 8<<> [../332::!###yy"**,,, 3#w}}(((3#w}}

*** 33Q'''RYYq\*35	uI5	e9??e+++e9??bjj000);k?((E111k?((BJJ666rD   c                 P   g ddgdz  z   t         j                  j                  d      j                  d      d}t        |      }||d   dk(     j                  }d|j
                  |dgf<   d	|j
                  |d
gf<   |j
                  d   dk(  sJ |j
                  d   d	k(  sJ y )N)r   r   r   r      r2   r   )titlecruftr   r   r   r   )r.   r   )r.   r   )rG   r   rH   r   r   rl   )r$   r_   r@   ixs       r*   test_setitem_corner2z*TestDataFrameIndexing.test_setitem_corner2  s    0H:?BYY**1-44R8

 t_7u$%++ (rG9} !rG9}vvj!X---vvj!Q&&&rD   c                 :   t        t        d      t        d            }t        t        d      D cg c]  }t        d       c}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 y |d   j                  t        j                  k(  sJ y c c}w )	Nr3   rq   r.   r   )rV   bzrbazr   r2   r   )
r   r^   r   r   rG   onesr   r9   r0   r   )r$   r   r   r'   coercable_seriesuncoercable_seriess         r*   test_setitem_ambigz(TestDataFrameIndexing.test_setitem_ambig  s     U1XuQx8!uQx"@!71:"@aQ#$9qJ
12::!### 12::!###"12::!###a5;;%'''a5;;"**,,, #As   D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       y )NrX   rp   FrZ   )r   r\   r   rl   r   s     r*   test_setitem_Nonez'TestDataFrameIndexing.test_setitem_None  s    ',D
QU#[%55	
 	OOAtG$k#&6E	
 	{40+c2BPUVrD   c                     t        g dg dg dd      }|j                         }|j                  j                         |j                  |j                  j                         df<   t        j                  ||       y )Nr   )112233)111222333r   r   )r   rF   r   rl   r   r   r   r=   )r$   r@   rA   s      r*   &test_loc_setitem_boolean_mask_allfalsez<TestDataFrameIndexing.test_loc_setitem_boolean_mask_allfalse  s\    !(:AVW
 +188==?

688==?C'(
fb)rD   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 y )Nr.   rX   r   r8   )r   r   from_productr   r=   rm   s       r*   test_getitem_slice_emptyz.TestDataFrameIndexing.test_getitem_slice_empty  so    uj&=&=usen&MNAqcUJ,C,CcUSEN,ST
fh/RrD   c                 @   t        t        j                  j                  d      j	                  d            }|j
                  d dd    t        j                  |j
                  d dd<   t        |j
                  d dd         j                  j                         sJ y )Nr2   rS   r6      )
r   rG   r   rH   rI   r   r{   r   rN   r   r   s     r*   &test_getitem_fancy_slice_integers_stepz<TestDataFrameIndexing.test_getitem_fancy_slice_integers_step  s{    ryy,,Q/??HI 	11BGGDQqDM"))--///rD   c                    t        t        j                  j                  d      j	                  d      t        ddd            }|j                         }d|j                  dd |j                  dd dk(  j                  j                         sJ |j                         }d|j                  dd	 |j                  dd	 dk(  j                  j                         sJ |j                  dd
 }|j                  dd	 }|j                  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        t        j                   t"        |      5  d|j                  dd	 d d d        y # 1 sw Y   =xY w# 1 sw Y   y xY w)Nr2   r  r   r   r   r5   rS   r3   r   r7   )r5   r7   r  rS   r6   rp   z*non-monotonic index with a missing label 3r   )r   rG   r   rH   rI   r^   rF   r   rN   r   rl   rx   r   r=   listr!   r"   r#   )r$   r@   cprA   result2rB   df2r`   s           r*   ,test_getitem_setitem_integer_slice_keyerrorszBTestDataFrameIndexing.test_getitem_setitem_integer_slice_keyerrors  s   II!!!$44W=U1bRS_

 WWY"""**..000 WWY"""**..0001&&2,::m,
fh/
gx0 ggd58ntE!RL'9$B$'??@:]]83/ 	GGAbM	]]83/ 	CGGAbM	 		 		 	s   GG*G'*G3c                 r   |j                   d d dd f   }|d   j                  t        j                  k(  sJ |j	                         }|j                   d d dd f   }t        j
                  |d   j                  |d   j                        sJ d|j                  d d df<   t        j                  ||       y )Nr   r         @)
r   r0   rG   r   rF   shares_memory_valuesrl   r   r=   )r$   r%   float_string_frameslicedoriginals        r*   test_fancy_getitem_slice_mixedz4TestDataFrameIndexing.test_fancy_getitem_slice_mixed=  s    #((BC0c{  BJJ... ##%!!!RS&)s 3 3[5E5M5MNNN 

1c6
k84rD   c                    t        t        d      t        dd            }|j                  ddg   \  }}|j                  || }||| }|dd }t        j                  ||       t        j                  ||       |j                         }d|j                  || |j                         }d||| |j                         }d|dd t        j                  ||       t        j                  ||       y )	Nr   z
2020-01-01periodsr   r6   rS   r   r   )r   r^   r   r   rl   r   r=   rF   )r$   r@   startendrA   r  rB   s          r*   "test_getitem_setitem_non_ix_labelsz8TestDataFrameIndexing.test_getitem_setitem_non_ix_labelsK  s    uRy
<(LMXXq"g&
sc"U3-a8
fh/
gx0 !

5'')c7792
fh/
gx0rD   c                    t        t        j                  j                  d      j	                  d            }|j
                  |j                  dk(  d d f   }|j                  dg      }t        j                  ||       t        t        j                  j                  d      j	                  d            }|j
                  |j                  dk(  |j                  dk(  f   }|j                  dgdg      }t        j                  ||       y )Nr2   r3   r2   r   r.   rq   )r   rG   r   rH   rI   rl   r   rx   r   r=   r9   )r$   r@   rsxps       r*   test_ix_multi_takez(TestDataFrameIndexing.test_ix_multi_take_  s    ryy,,Q/??GHVVBHHM1$%ZZ_
b"% ryy,,Q/??GHVVBHHM2::?23ZZqcA3Z/
b"%rD   c                     |}|j                   }|j                  D ]-  }||   }|j                  d d d   D ]  }|||f   ||   k(  rJ  / y )Nr6   )rl   r9   r   )r$   r%   fr   coltsr?   s          r*   test_getitem_fancy_scalarz/TestDataFrameIndexing.test_getitem_fancy_scalark  sc    UU 99 	/C3Bwwss| /#s(|r#w.../	/rD   c                    |}|j                         }|j                  }t        |j                        D ]  \  }}||    |j                  d d d   D ]x  }|j                  j                  |      }t        j                  j                  d      j                         }	|	|j                  ||f<   |	|||f<   t        j                  ||       z  y )Nr6   r2   )rF   rl   	enumerater9   r   get_locrG   r   rH   rI   r   r   r=   )
r$   r%   r4  rB   r   jr5  r?   ivals
             r*   test_setitem_fancy_scalarz/TestDataFrameIndexing.test_setitem_fancy_scalaru  s    ##%UU  		* 	3FAscFwwss| 3GGOOC(ii++A.>>@&)ad#"38%%a23	3rD   c                    |}|j                   }|j                  ddg      }|d d g df   }t        j                  ||       |j                  |j                  dd ddg      }||j                  dd g df   }t        j                  ||       |j                  |j                  d   kD  }|j                  |j                  |   	      }||   }t        j                  ||       ||d d f   }t        j                  ||       |||j
                  d
d  f   }|j                  |j                  |   ddg      }t        j                  ||       y )NrY   r   r8   )FTFTr6   rS   rq      r   r2   r   )rl   rx   r   r=   r   r9   )r$   r%   r4  r   rB   rA   boolvecs          r*   test_getitem_fancy_booleanz0TestDataFrameIndexing.test_getitem_fancy_boolean  s;   UU99c3Z90A112
fh/991771R=3*9EAGGAbM#==>
fh/''AGGAJ&991777#394G
fh/GQJ
fh/GQYYqr]*+991777#3c3Z9H
fh/rD   c                 d   |j                         }|j                         }|j                  j                         }|d   dkD  }d|j                  |<   d||j                  <   t        ||j                  |j
                        }t        j                  ||       |j                         }|j                         }|j                  j                         }d|j                  |ddgf<   d||j                  d df<   t        ||j                  |j
                        }t        j                  ||       y )NrX   r           rq   rY   r2   )rF   rN   rl   r   r   r9   r   r=   )r$   r%   framerB   rN   r   s         r*   test_setitem_fancy_booleanz0TestDataFrameIndexing.test_setitem_fancy_boolean  s     "##%%%'SzA~		$!t{{V8>>8CSCST
eX.  "##%%%'&)		$c
"#"%t{{BQBV8>>8CSCST
eX.rD   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                  ||       y )N)r.   r5   r@  )r2   r   r.   )r   rl   r   r   r=   r9   )r$   r%   rA   rB   s       r*   test_getitem_fancy_intsz-TestDataFrameIndexing.test_getitem_fancy_ints  s}    !!),??;#4#4Y#?@
fh/!!!Y,/??1k&9&9)&D#DE
fh/rD   c                 <   |d   d d d   dkD  }|j                   |   }|j                   |d d d      }t        j                  ||       |j                         }|j                         }d|j                   |<   d|j                   |<   t        j                  ||       y )NrX   rp   r.   r   )rl   r   r=   rF   )r$   r%   r   rA   rB   r  s         r*   'test_getitem_setitem_boolean_misalignedz=TestDataFrameIndexing.test_getitem_setitem_boolean_misaligned  s    3"%)&??4":.
fh/##%tT
b(+rD   c                 .   t        t        j                  j                  d      j	                  d            }t        j
                  g d      }t        j
                  ddg      }|j                  ||f   }|j                  ddgdgf   }t        j                  ||       |j                         }d|j                  t        j
                  g d      t        j
                  ddg      f<   d|j                  ddgdgf<   t        j                  ||       y )	Nr2   r/  r   FTr   r.   r6   )
r   rG   r   rH   rI   r   rl   r   r=   rF   )r$   r@   k1k2rA   rB   s         r*   "test_getitem_setitem_boolean_multiz8TestDataFrameIndexing.test_getitem_setitem_boolean_multi  s    ryy,,Q/??GH XX)*XXudm$B661a&1#+&
fh/779IJrxx+,bhht}.EEF$%aVaS[!
b(+rD   c                     t        ddg      }t        t        d      |      }|dd }t        dgdg      }t        j                  ||       y )Nr   r2   r   r.   r   )r   r   r^   r   r=   )r$   r   r@   rA   rB   s        r*   #test_getitem_float_label_positionalz9TestDataFrameIndexing.test_getitem_float_label_positional  sJ    sAhuQxu-AaaS.
fh/rD   c                 	   t        g d      }t        t        j                  j	                  d      j                  d      |      }|j                  dd }|j                  g d      }t        j                  ||       t        |      dk(  sJ |j                  dd }|j                  ddg      }t        j                  ||d	
       t        |      dk(  sJ |j                  dd }|j                  ddg      }t        j                  ||       t        |      dk(  sJ |j                  dd }|j                  dd }t        j                  ||       t        g d      }t        t        j                  j	                  d      j                  d      |      }d}t        j                  t        |      5  |j                  dd  d d d        |j                  dd }|j                  dg      }t        j                  ||       t        |      dk(  sJ |j                         }t        j                  t        t               5  d|j                  dd d d d        t        j                  t        |      5  |j                  dd dk(  }d d d        |j"                  j%                         sJ |j                  dd |j                  dd k(  j"                  j%                         sJ |j                         }d|j                  dd |j                  dd dk(  j"                  j%                         sJ |j                  dd |j                  dd k(  j"                  j%                         sJ |j                  dd }|}t        j                  ||       t        |      dk(  sJ |j                  dd }|j                  g d      }t        j                  ||       t        |      dk(  sJ |j                  dd }|j                  dg      }t        j                  ||       t        |      dk(  sJ |j                  dd }|j                  g d      }t        j                  ||       t        |      dk(  sJ |j                         }d|j                  dd |j                  dd }|dk(  j"                  j%                         sJ y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   YxY w)N)r   r2   r3   r5   r6   r2   r   r   r   r5   )r   r2   r3   r5   r6   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   rS  r   r   g
ףp=
@)r   r   rG   r   rH   rI   rl   rx   r   r=   r   r   r!   r"   ru   rF   
_slice_msgrN   r   )r$   r   r@   rA   rB   r`   r  s          r*   !test_getitem_setitem_float_labelsz7TestDataFrameIndexing.test_getitem_setitem_float_labels  sL   '(ryy,,Q/??GuUA::n-
fh/6{a!::q!f%
fhG6{a!::sCj)
fh/6{a !771Q<
fh/ /0ryy,,Q/??GuU4 	 ]]9C0 	GGCN	 1::se$
fh/6{aWWY]]9J7 	BGGCN	 ]]9C0 	)WWS^q(F	) }}  """!!,4488:::WWY!!!))--///!!,4488::: A
fh/6{aA::23
fh/6{aQ::se$
fh/6{aC::78
fh/6{aWWYs3C!##'')))a	 		 		) 	)s$   8S	S9S#	SS #S-c                    t        t        j                  j                  d      j	                  d      g dg d      }t        d      j                  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        t        j"                  |j                   d<   t%        |j                   d         sJ t        j"                  |j                   dd d f<   t%        |j                   dd d f         j'                         rJ y # 1 sw Y   xY w)Nr2   r6   r3   )r   r   r   r   e)rV   r   r  rq   20010102s	timestampr   r3   zdatetime64[s])rV   r   r  r[  r   Invalid valuer   )r   r[  )r   r[  r   r   )r   rG   r   rH   rI   r   as_unitr   r   r0   r   r\   r!   r"   ru   r   rl   r{   r   r   rm   s       r*   )test_setitem_single_column_mixed_datetimez?TestDataFrameIndexing.test_setitem_single_column_mixed_datetime1  s7   II!!!$44V<+)
 $J/77<; XXi !A%/)B(CC4
 	vx0 ]]9O< 	,'+BFF#$	, $&66 BFF+,--- sAvsAv'++----	, 	,s   E77F 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        y # 1 sw Y   y xY w)Nr   abr7   r   r   i  r.   r   r   r\  r   )r.   r   )
r   r  r^   pdNaTr   rl   r!   r"   ru   r   s     r*   test_setitem_mixed_datetimez1TestDataFrameIndexing.test_setitem_mixed_datetimeN  sk    q$t*E!H=&&3!$1-v]]9O< 	BFF6N	 	 	s   )BBc                 4   |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                  ||       y Nr2   rX   rY   )rl   r   rN   r   r   r$   r%   piecerA   rB   s        r*   test_setitem_frame_floatz.TestDataFrameIndexing.test_setitem_frame_floatV  s     1 1"1 5Sz AB?D||))"-/#s;<!2!223!7#s!CDKK<<
vx0rD   c                 R   |j                         }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                         y )
Nr   r   r   r!  r   r2   rX   rY   rq   )rF   r   r   slicerl   r   r   rN   r$   r$  r4  ri  r)   s        r*   test_setitem_frame_mixedz.TestDataFrameIndexing.test_setitem_frame_mixed]  s     ##%3Z#s$AGGAaL3*
 wwuT1~&c
3c

quuQWWQq\C:%=>EEu||TrD   c           	         |j                         }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
        y )Nr   r   r   r!  r   g      @g      @g       @r   r2   rV   r   rX   rY   rq   )	rF   r   r  r   rl  rl   r   r   rN   rm  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

 wwuT1~&c
3c

EE!''!A-#s+,33U\\!A5F	
rD   c                    |j                         }|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                         y )Nr2   rX   rg  rY   )	rF   rl   r   rl  rG   r{   r   r   rN   rm  s        r*   &test_setitem_frame_mixed_key_unalignedz<TestDataFrameIndexing.test_setitem_frame_mixed_key_unalignedw  s    ##%aggbqkC5()ggbclwwuR'#s4c
VVc

quuQWWRS\C:%=>EEu||TrD   c                 `   |j                         }|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                         y rf  )rF   rl   r   rl  rN   r   r   rm  s        r*    test_setitem_frame_mixed_ndarrayz6TestDataFrameIndexing.test_setitem_frame_mixed_ndarray  s    ##%"&&qwwr{S#J'>?wwuR'#s4\\c

quuQWWRS\C:%=>EEu||TrD   c                    t        g dg dgg d      }|j                         }t        j                  t        d      5  |j
                  d d ddgf   d	z   |j
                  d d ddgf<   d d d        |j                  d
d
d      }|j                  d
d
d      }|j
                  d d ddgf   d	z   |j
                  d d ddgf<   |j                  ddg      }|d	z  }|d   |d<   t        j                  ||       y # 1 sw Y   xY w)N)r.   r2   rV   )r3   r5   r   rX   rY   r   r8   r\  r   rX   rY         ?r   rX   rY   r   )
r   rF   r!   r"   ru   rl   rs   rx   r   r=   )r$   r@   r  rB   s       r*   test_setitem_frame_upcastz/TestDataFrameIndexing.test_setitem_frame_upcast  s    }5Oggi]]9O< 	A%'VVASzM%:S%@CGGASzM"	A YYYY78jjyy9:!#C:!6!<C:::sCj:1C3
c8,	A 	As   ,D  D	c                 V   |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
                  ||       y rf  )rl   r   r9   rN   r   r   rh  s        r*   test_setitem_frame_alignz.TestDataFrameIndexing.test_setitem_frame_align  s     1 1"1 5Sz AB!'',c
>C))"#.c
:;!2!223!7#s!CDKK<<
vx0rD   c                    t        t        j                  j                  d      j	                  d      g d      }|j
                  d   }|d d }t        j                  ||       |j
                  d   }|j                  ddg   }t        j                  ||       |j
                  d   }|j                  d	   }t        j                  ||       y )
Nr2   rW  rV   rV   r   r  r   r   rV   r   r5   r  r3   )
r   rG   r   rH   rI   rl   r   r=   r   r\   rm   s       r*   "test_getitem_setitem_ix_duplicatesz8TestDataFrameIndexing.test_getitem_setitem_ix_duplicates  s    II!!!$44V<5

 bq6
fh/77Aq6?
fh/771:
vx0rD   c                    t        t        j                  j                  d      j	                  d      g d      }|j
                  dg   }|j                  ddg   }t        j                  ||       |j
                  |d   dkD     }||d   dkD     }t        j                  ||       |j
                  |d   dkD     }||d   dkD     }t        j                  ||       y )	Nr2   rW  r}  r   r   r5   r.   r   )	r   rG   r   rH   rI   rl   r   r   r=   )r$   r@   rA   r   s       r*   +test_getitem_ix_boolean_duplicates_multiplezATestDataFrameIndexing.test_getitem_ix_boolean_duplicates_multiple  s    II!!!$44V<5

 ggq!fo
fc*1	"Am
fc*1	"Am
fc*rD   
bool_valueTFc                 ,   t        dg di      }| d}t        j                  t        |      5  |j                  |    d d d        d}t        j                  t        |      5  d|j                  |<   d d d        y # 1 sw Y   ?xY w# 1 sw Y   y xY w)Nr   r1   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#   rl   )r$   r  r@   messager`   s        r*   %test_getitem_setitem_ix_bool_keyerrorz;TestDataFrameIndexing.test_getitem_setitem_ix_bool_keyerror  s     Y'(L WX]]873 	FF:	 ?]]83/ 	#!"BFF:	# 	#		 		# 	#s   A>%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                  ||       y )Nr.   rW   r6   r   gGz?i  r   ra  r   r   )r   r0   r   rk   rG   r   rl   r   r	   r   r   r^   r   r\   )r$   r%   rA   r@   rB   s        r*   "test_single_element_ix_dont_upcastz8TestDataFrameIndexing.test_single_element_ix_dont_upcast  s    C+c*0055RZZ7HIII!2!21!5s!:;&!!! dV}%3&!!!3%uQxc:S!
vx0rD   c                 ~   t        t        j                  d      j                  dd      t	        ddd            }d}t        j                  t        |	      5  |j                  d
     d d d        t        j                  t        |	      5  d|j                  d <   d d d        y # 1 sw Y   >xY w# 1 sw Y   y xY w)Nr   rS   r5   r   r   r2   r   zReturning a tuple fromr   c                      yN)r    r'   s    r*   <lambda>zTTestDataFrameIndexing.test_iloc_callable_tuple_return_value_raises.<locals>.<lambda>      rD   r.   c                      yr  r  r  s    r*   r  zTTestDataFrameIndexing.test_iloc_callable_tuple_return_value_raises.<locals>.<lambda>  r  rD   )	r   rG   r   r   r^   r!   r"   r]   r   )r$   r@   r`   s      r*   ,test_iloc_callable_tuple_return_value_raiseszBTestDataFrameIndexing.test_iloc_callable_tuple_return_value_raises  s    ryy},,R35B?K&]]:S1 	$GGN#	$]]:S1 	(&'BGGN#	( 	(	$ 	$	( 	(s   B'B3'B03B<c                 f   t        t        j                  j                  d      j	                  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                  |j                  g d
         }t        j                  ||       y )Nr2   rS   r5   r   r   r   r.   r5   r     r.   r2   r5   r7   )r   rG   r   rH   rI   r^   r   rl   r   r\   rl  r=   rx   r   r$   r@   rA   r   rB   s        r*   test_iloc_rowz#TestDataFrameIndexing.test_iloc_row  s    II!!!$44W=U1bRS_
 ffQi
vs+ffQi
vs+ q!%66!B<
fh/ &::bhh|45
fh/rD   c                    t        t        j                  j                  d      j	                  d      t        ddd            }|j                         }|j                  t        dd         }t        j                  |d   |d         sJ |d   j                         }d|j                  d d df<   t        j                  |d   |       y )	Nr2   r  r   r   r   r5   r  rD  )r   rG   r   rH   rI   r^   rF   r   rl  r"  rl   r   r\   )r$   r@   r&  subsetexp_cols        r*   test_iloc_row_slice_viewz.TestDataFrameIndexing.test_iloc_row_slice_view  s    II!!!$44W=U1bRS_
 779 q!%1vay1111+""$

1a4
r!ug.rD   c                    t        t        j                  j                  d      j	                  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                  |j                  g d
         }t        j                  ||       y )Nr2   r5   rS   r   r   r8   r.   r5   r  r  r  )r   rG   r   rH   rI   r^   r   rl   r   r\   rl  r=   rx   r9   r  s        r*   test_iloc_colz#TestDataFrameIndexing.test_iloc_col  s   II!!!$44W=uQPRTU
 AffQTl
vs+AffQTl
vs+ E!QK(66!QrT'?
fh/ L)::bjj&>:?
fh/rD   c                    t        t        j                  j                  d      j	                  d      t        ddd            }|j                         }|j                  d d t        dd      f   }t        j                  |d   j                  |d   j                        sJ d|d<   |d   dk(  j                         sJ t        j                  ||       y )	Nr2   r  r   r   r8   r5   r  rD  )r   rG   r   rH   rI   r^   rF   r   rl  r"  r#  r   r   r=   )r$   r@   r&  r  s       r*   test_iloc_col_slice_viewz.TestDataFrameIndexing.test_iloc_col_slice_view-  s    II!!!$44W=uQPRTU
 779E!QK( 1vay/@/@AAAq	q	Q##%%%
b(+rD   c                    t        t        ddd      t        ddd            }|j                  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                  ||       y )Ni  r.   )yearmonthdayr6   )r+  r,  )rl   itemr   rX   rY   rq   )FFFFFTr7   )r   r   r   r   r7   r7   )r   r   r   r   r   r   rx  r   )	r   r   insertr   rG   r   rl   r   r=   )r$   tranger@   bool_idxrB   s        r*   test_loc_duplicatesz)TestDataFrameIndexing.test_loc_duplicates<  s     QA6t1!4

 19$aQ+OPqc
;88EF )*vh$%$+=>f
 	b(+ qc
;
vh$%*%
b(+rD   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   |       y )	Nz
2015-01-01r3   utc)r*  tzdatesrj   )r.   r   r2   )r   r.   r2   )r   r   r   r   r\   rl   )r$   columnr@   s      r*   4test_setitem_with_unaligned_tz_aware_datetime_columnzJTestDataFrameIndexing.test_setitem_with_unaligned_tz_aware_datetime_columnW  s     
<uEGT()Y'7
r'{F3()%+I%6y'!"
r'{F3rD   c                 0   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                  ||       y )Nr.   )hours20130101r5   nsr*  unitr   m8[ns]r/   rX   r2   rY   r3   r   r   r6   rW   rc  r   r7   rp   r   GHztimedelta64[ns]zdatetime64[ns]ABCDEFGH)r   r   r   rG   r   rl   r   timedelta64
datetime64r   r   r0   r  r   r\   )r$   one_hourr@   rA   rB   s        r*   ,test_loc_setitem_datetimelike_with_inferencezBTestDataFrameIndexing.test_loc_setitem_datetimelike_with_inferenced  s    1%Z
ADIJ((AL>A-X>31x<.1"4HEq#v$&HHa(l^a-?x$Prxx|S !1x<.1"4HEq#v$&HHa(l^a-?x$Prxx|S !..'3%'XXq8|nq.@%Qrxx}c!"&0QT&Rrxx|~s"#--&3XX'()A-:J1K0Lq0PPz"
 	vx0rD   c                    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      }|j                         }d||d	kD  <   |j                         }d|j                  d
<   d|j                  d<   d|j                  d<   d|j                  d<   t        j                  ||       d|d<   d}t        j                  t        |      5  d||d	kD  <   d d d        y # 1 sw Y   y xY w)N)#   r   r   1   2   gjBz?g% t?gk?g?r   r.   )r   r.   r2   r3   r5   yg333333?)r   r.   )r  r.   )r  r.   )r  r5   testrV   zDnot supported between instances|unorderable types|Invalid comparisonr   )
r   rG   r{   rF   rl   r   r=   r!   r"   ru   )r$   r@   r  rB   r`   s        r*   #test_getitem_boolean_indexing_mixedz9TestDataFrameIndexing.test_getitem_boolean_indexing_mixedz  sx   BFFBFFO+++ + BFFBFFO+ qa81
< ggiC#I779UUUU
c8,5	T]]9C0 	BrCxL	 	 	s   +	G==H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        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                  ||       y # 1 sw Y   xY w)Nxr  r   r.   r   names)r.   r.   r2   r2   )r3   r3   r5   r5   r2   r<  rj   r   rl  r   )levelscodesr  r3   r5   )r  r   r   )r   r  r   r   r^   r!   r"   r   rl   rl  r   r=   r   r\   )r$   midgr   r9   rB   rA   rf   s           r*   test_type_error_multiindexz0TestDataFrameIndexing.test_type_error_multiindex  sB   $$sCj1a&%9$M<("E%(QT<U
 ]],G< 	q!tH	 eAhS)#JA'AA/?c{
 q!fq!f-weLE$K++,
fh/eAhS)1a&D9F
vx0#	 	s   #
D33D<c                 R   t        t        j                  d      t        j                  j                  t        j                  d                  }|j                  d d df   }|d   }t        j                  ||       |j                  d d df   }t        j                  ||       y )Nr3   r5   r6   r8   r   rw  )r   rG   r  rb  IntervalIndexfrom_breaksr   r   r   r\   rl   )r$   r@   rB   rP   s       r*   ,test_getitem_interval_index_partial_indexingzBTestDataFrameIndexing.test_getitem_interval_index_partial_indexing  s    GGFOR%5%5%A%A"))A,%O
 771a4=g
sH-ffQVn
sH-rD   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                  ||       y )Nr   r   )r9   r0   )r2   )r2   r2   r   r   r   )r   rt   rG   zerosrl   r   r=   r   s      r*    test_setitem_array_as_cell_valuez6TestDataFrameIndexing.test_setitem_array_as_cell_value  sk    Sz8((4.rxx/?@q	BHHTN#3288F;K:LMN
b(+rD   c                    t        dg did      }|j                         }|j                  d d d d df   |j                  d d  t	        j
                  ||       t        j                  j                  j                  |j                  d d d d df         |j                  d d  t	        j
                  ||       |j                  d d d d f   j                         |j                  d d  t	        j
                  ||       y )NrX   r1   Int64r/   rp   )r   rF   rN   rl   r   r=   rb  corearraysNumpyExtensionArrayr   )r$   r@   origs      r*   $test_iloc_setitem_nullable_2d_valuesz:TestDataFrameIndexing.test_iloc_setitem_nullable_2d_values  s    Y'w7wwyIIa2g&q	
b$'GGNN66ryyDbD7IJq	
b$'WWQT]'')

b$'rD   c                     t        t        j                  dt                    }t        j                  |d         |d<   |dg    y )Nr.   r.   r/   r   )r   rG   r   rt   
empty_liker   s     r*   ,test_getitem_segfault_with_empty_like_objectzBTestDataFrameIndexing.test_getitem_segfault_with_empty_like_object  s6    rxxf56be$1
A3rD   z.ignore:Setting a value on a view:FutureWarningnullM8[ns]r  c                    t        dg di|      }|d   j                         }|j                  }dj                  g d      }t	        j
                  t        |      5  ||d<   d d d        t	        j
                  t        |      5  ||g|d d d d d        t	        j
                  t        |      5  ||d<   d d d        t	        j
                  t        |      5  ||g|d d d d d        t	        j
                  t        |      5  ||j                  d<   d d d        t	        j
                  t        |      5  ||g|j                  d d d d d        t	        j
                  t        |      5  ||j                  d	<   d d d        t	        j
                  t        |      5  ||g|j                  d ddf<   d d d        |j                         }|j                         |d
<   t	        j
                  t        |      5  ||j                  d	<   d d d        t	        j
                  t        |      5  ||g|j                  d ddf<   d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   oxY w# 1 sw Y   GxY w# 1 sw Y   !xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)NrX   r1   r/   |)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   r2   r   r   rY   )r   rF   r#  joinr!   r"   ru   r   )r$   r  any_numeric_ea_dtyper@   serr   r`   r  s           r*   .test_setting_mismatched_na_into_nullable_failszDTestDataFrameIndexing.test_setting_mismatched_na_into_nullable_fails  sn    Y'/CDgllnkkhh
 ]]9C0 	CF	 ]]9C0 	#TlCG	# ]]9C0 	CF	 ]]9C0 	#TlCG	# ]]9C0 	CHHQK	 ]]9C0 	( $<CHHRaL	( ]]9C0 	! BGGDM	! ]]9C0 	*"D\BGGBQBEN	* ggi88:C]]9C0 	"!CHHTN	" ]]9C0 	+#TlCHHRaRUO	+ 	+=	 		# 	#	 		# 	#	 		( 	(	! 	!	* 	*	" 	"	+ 	+sx   II3I*I7J:J/J"J+>J71KII'*I47JJJJ(+J47K Kc                     t        dgt        g d            }d|j                  d<   t        ddgit        dgd            }t        j                  ||       y )Nr   r   rj   r   r.   r   r   )r   r   rl   r   r=   r   s      r*   +test_loc_expand_empty_frame_keep_index_namezATestDataFrameIndexing.test_loc_expand_empty_frame_keep_index_name  sO    uE"3,?@q	cA3ZuaSs/CD
b(+rD   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
                  ||       y )Nr   r   r  r   rV   r1   r   r   r   from_tuplesrl   r   r=   r   s      r*   +test_loc_expand_empty_frame_keep_midx_nameszATestDataFrameIndexing.test_loc_expand_empty_frame_keep_midx_names&  sg    E!7!7/!R
 "y5'N(()OL
 	b(+rD   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        y # 1 sw Y   y xY w)Nr   r.   r2   r\  r   r   r   r   r!   r"   ru   rl   )r$   idxrr=  r@   s       r*   test_loc_setitem_rhs_framez0TestDataFrameIndexing.test_loc_setitem_rhs_frame2  sb     aV}%]]9O< 	H'sBi(8AGBFF1d7O	H 	H 	Hs   %AA"c                     t        ddg      }|j                         }|d d  }t        j                  ddgt        j                        |j
                  d d df<   t        j                  ||       y )Nr   r   r8   r.   r2   r/   r   )r   rF   rG   r   r   r   r   r=   )r$   r@   rB   views       r*   $test_iloc_setitem_enlarge_no_warningz:TestDataFrameIndexing.test_iloc_setitem_enlarge_no_warningB  sX    Sz*779!u!Qrzz:1
dH-rD   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                  ||       y )NTr.   r   )bool_colr   r   r2   idx1idx2r  r   r  r3   r   r   r   r   r   r   )r   r   from_arraysrl   r   r   r\   )r$   r@   r?   rA   rB   s        r*   (test_loc_internals_not_updated_correctlyz>TestDataFrameIndexing.test_loc_internals_not_updated_correctlyJ  s    AC0((1a&1a&)9&&AQR
 h3sCx
sCx
sS#JsCxS!((1#sFF;KL
 	
2
 	vx0rD   r=  Nc                     t        dg did      }||j                  dgd d f<   t        dt        j                  ddgid      }t	        j
                  ||       y Nr   r   stringr/   r   r   r   r   r   rb  NAr   r=   r$   r=  r@   rB   s       r*    test_iloc_setitem_string_list_naz6TestDataFrameIndexing.test_iloc_setitem_string_list_naa  sT     _-X>QcBEE3#45XF
b(+rD   c                     t        dg did      }||j                  dd d f<   t        dt        j                  ddgid      }t	        j
                  ||       y r  r  r  s       r*   test_iloc_setitem_string_naz1TestDataFrameIndexing.test_iloc_setitem_string_nai  sR     _-X>1cBEE3#45XF
b(+rD   funcc                     t        dg did      }d|j                  d d  |dg      f<   t        dg did      }t        j                  ||       y )Nr   r1   r  r/   r6   r   )r6   r6   r6   r   )r$   r  r@   rB   s       r*   /test_iloc_setitem_ea_null_slice_length_one_listzETestDataFrameIndexing.test_iloc_setitem_ea_null_slice_length_one_listq  sN     Y'w7 !49c9-W=
b(+rD   c                 J   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                  ||       y )NrX   rY   r   firstsecondr  r   Indexerr   r   )r	  r
  )rX   r   )rX   r   )
r   r   r  r   r   r  rl   r  r   r=   )r$   r@   indexer_tupler  rA   rB   s         r*   test_loc_named_tuple_for_midxz3TestDataFrameIndexing.test_loc_named_tuple_for_midxy  s    ))s_-gx5H

 #9bhhnn=3Sz:a((Z((0C

 	fh/rD   r   r5  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                  ||       y )Nr   z
2022-12-29z
2022-12-30r.   )daysz
2022-12-31)r   r   rb  	Timedeltarl   r   r=   )r$   r5  r   r@   rB   s        r*   test_set_2d_casting_date_to_intz5TestDataFrameIndexing.test_set_2d_casting_date_to_int  s     9\*Il,CDLL
  "#w1)==sG|9\*Il,CDLL
 	b(+rD   has_refrf   c                    d}t        i |t        |      t        |      d      }|ddg   j                         }|j                         }|r|d d  }||j                  |dgz  ddgf<   t	        j
                  ||       y )Nr   r  r  r  r  T)r   r^   rF   rl   r   r=   )r$   r5  r  nr@   valuerB   r  s           r*   1test_loc_setitem_reordering_with_all_true_indexerzGTestDataFrameIndexing.test_loc_setitem_reordering_with_all_true_indexer  s     <#<E!H58<=C:##%779a5D).qD6zC:%&
b(+rD   c                     t        ddg      }|j                         }t        dg      }t        j                  d       5  ||j                  d d df<   d d d        t        j
                  ||       y # 1 sw Y    xY w)Nr   r   r8   )r   rF   r   rv   rl   r=   )r$   r@   rB   rhss       r*   test_loc_rhs_empty_warningz0TestDataFrameIndexing.test_loc_rhs_empty_warning  sk    Sz*779&''- 	! BFF1c6N	!
b(+	! 	!s   A44A=c                 X   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
                  ||       y )Nr   r.   r2   r3   r5   r6   r7   r@  r  	   r   r.   r  r/   r6   r7   r2   r   )r   r   r   r^   r   r=   rN   )r$   r@   r   row_indexerrA   rB   s         r*   test_iloc_ea_series_indexerz1TestDataFrameIndexing.test_iloc_ea_series_indexer  s    9:!Qw/aS0g-.q!fXU1a[9
fh/++W^^;<
fh/rD   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        t	        j
                  t        |      5  |j                  d d |j                  f    d d d        y # 1 sw Y   KxY w# 1 sw Y   y xY w)Nr  r  r   r  r/   zcannot convertr   )	r   r   rb  r   r!   r"   r]   r   rN   )r$   r@   r   r`   s       r*   #test_iloc_ea_series_indexer_with_naz9TestDataFrameIndexing.test_iloc_ea_series_indexer_with_na  s    9:!RUU73]]:S1 	 GGAwJ	 ]]:S1 	'GGAw~~%&	' 	'	  	 	' 	's   B*B6*B36B?)Tr0   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        t        dd
dgit        ddgd|      	      }t	        j                  |       y # 1 sw Y   ?xY w)N)TTFFr/   )TFTFr   r   r  r   )r.   r2   r3   r5   r   r.   r2   TF)rf   r0   )r   r  r   r   r   maybe_produces_warning
isinstancetuplerl   r   r=   )r$   performance_warningr0   r   midxr@   rA   rB   s           r*   test_loc_bool_multiindexz.TestDataFrameIndexing.test_loc_bool_multiindex  s     %%1?1? *
 \*$7&&':JwPU<VW 	%VVG_F	%1a&Me}3e!L
 	fh/	% 	%s   +B99Cr  r   c           
          t        t        t        ddd      t        ddd      g|      ddgd      }|j                  d	      }||d
      }|d   |j                  |d
   |f<   t        j                  ||       y )Ni  r.   r   r   )r  TF)r   update)deepr,  r   )r   r   r   rF   rl   r   r=   )r$   r  r   r@   rB   	update_dfs         r*   2test_loc_datetime_assignment_dtype_does_not_changezHTestDataFrameIndexing.test_loc_datetime_assignment_dtype_does_not_change  s     #dAr*HT1b,AB  -	
 777%r(|$	(1&(9r(|W$%
b(+rD   zindexer, idxr2   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
                  ||       y )Nrh   ri   r   r/   r.   r2   )r   rG   r{   rt   r   r=   )r$   r   r?   r@   r  rB   s         r*   "test_setitem_value_coercing_dtypesz8TestDataFrameIndexing.test_setitem_value_coercing_dtypes  s     bffRVV}sBFFmDFS!RVVq"&&k23"DSD!Gq"&&kArvv;bffFfU
b(+rD   c                    dg}t        j                  ddgd      g}t        t        t	        ||                  }||j
                     }t        dddgid      }||j
                     }t        j                  ||       y )Nr   r.   r2   z>f8r/   )rG   r   r   dictzipr9   r   r=   )r$   r9   r_   r@   rA   dfexprB   s          r*   )test_big_endian_support_selecting_columnsz?TestDataFrameIndexing.test_big_endian_support_selecting_columns  su    %!Qu-.tC./0BJJ3A-u5'
fh/rD   )h__name__
__module____qualname__r+   rC   rQ   rT   rb   rn   r   r   r!   markparametrizer   r   r   r   r   r   r   r   r   r   r   r   r   r  r	  r  r  r  r  r'  r-  r2  r7  r>  rB  rF  rH  rJ  rN  rP  rU  r^  rd  rj  rn  rp  rr  rt  ry  r{  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  filterwarningsrb  rc  to_numpyr  r  r  r  r  r  r   r  r  r  r   rG   r   r  r  r  r  r  r   r"  r   r*  r/  r   rl   r   r1  r6  r  rD   r*   r   r   $   s}   ""B4>&&197v 1D [[#%79NO00/00$)&)6V	,2,h<:.7`'-*	W* 0<51(
&/3 0./(0,,0Q*f.:1
U
UU-11&+& [[\D%=9	# :	#1$(0./ 0.,,641,,\12.,( [[ PQ[[2BFFOOH4MN/+ R/+b,
, [[3%LJ		
HH.1. [[UTD6255255'$BC, D, [[UT255M2, 3, [[VdFBHH%=>, ?,0" [[Y#5[[UR#qN3	, 4 6	, [[Yu6[[UR&#$78	, 9 7	,,
0' [[Yw8[[WtY&780 9 90" [[UUDM2[[Y&(:;, < 3,$ [[^rvvqkBGGQ<-HI, J,0rD   r   c                       e Zd Zd Zy)TestDataFrameIndexingUInt64c                 z   t        t        j                  d      g ddt        j                        }|d   j	                  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	= |j                         }t        j                  t        d
      5  t        j                  |j                  d<   t        j                  |j                  d<   d d d        y # 1 sw Y   y xY w)Nr3   )l            l           l   
        rx  r/   rX   rV   r   rj   r   r\  r   r  r.   r2   )r   rG   r   uint64renamer9   r   r\   r   rF   r!   r"   ru   rb  rc  r   )r$   r@   r?   r  s       r*   r   z(TestDataFrameIndexingUInt64.test_setitem  s   ))A,%CD))
 gnnU# "**$$$3
r#ws(=>"**$$$33
r#ws(=>sG ggi]]9O< 	$VVCHHTNVVCHHTN	$ 	$ 	$s   -;D11D:N)r7  r8  r9  r   r  rD   r*   r?  r?    s    $rD   r?  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 | j                  d	d	
      }t        |j                  d   t              sJ t        |j                  d   t        j                        sJ | j                  }|j                          |j                  d	      j                  }t        |d   t              sJ t        |d   t        j                        sJ |j                  |j                   d      }|j"                  dk(  sJ |j%                  d      }t        |t              sJ |j                  |j                   d      }|j"                  dk(  sJ |j%                  d      }t        |t        j                        sJ y )Nr.   r2   2000r  r  z1 Dayr)  rv  r   )axisr  r  zm8[us])r   r   rb  timedelta_rangerl   r&  rN   r   r  r   xs_mgr_rebuild_blknos_and_blklocsfast_xsr   blocksblknosr0   iget)r@   r  mgrr   blkr=  s         r*   /test_object_casting_indexing_wraps_datetimelikerQ    s   	QFAD9##GQ7	

B &&)CcjjmY///cjjmR\\222
''!*CcjjmY///cjjmR\\222
%%%
CcjjmY///cjjmR\\222
''C##%
++a.

Cc!fi(((c!fbll+++
**SZZ]
#C99   
((6
Cc9%%%
**SZZ]
#C99   
((6
Cc2<<(((rD   zFCannot setitem on a Categorical with a new category( \(.*\))?, set thezCCannot set a Categorical with another, without identical categoriesc                      e Zd Zej                  d        Zej                  d        Zej                  d        Zd Zej                  j                  dej                  ej                  ej                  ej                  g      d        Zd Zd Zd	 Zd
 Zej                  j                  dej*                  ej                  ej                  g      d        Zd Zy)TestLocILocDataFrameCategoricalc                 j    t        g dddg      }t        g d      }g d}t        ||d|      }|S )	N)r   r   r   r   r   r   r   r   r   
categorieshr<  r;  r   lmr  r.   r.   r.   r.   r.   r.   r.   catsrN   r   r
   r   r   )r$   r]  r?   rN   r  s        r*   r  z$TestLocILocDataFrameCategorical.origE  s:    >CQT:V78&$&9ErD   c                 j    t        g dddg      }t        g d      }g d}t        ||d|      }|S )	Nr   r   r   r   r   r   r   r   r   rU  rW  r[  r\  r   r^  )r$   cats3idx3values3exp_parts_cats_cols        r*   rd  z2TestLocILocDataFrameCategorical.exp_parts_cats_colM  s?     ?SRUJW89'&'IQUV!!rD   c                 j    t        g dddg      }t        g d      }g d}t        ||d|      }|S )	Nr   r   r   r   r   r   r   r   r   rU  rW  r[  r\  r   r^  )r$   cats4idx4values4exp_single_cats_values        r*   rj  z5TestLocILocDataFrameCategorical.exp_single_cats_valueV  sC     ?SRUJW89' )g.d!
 %$rD   c                    |j                         }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                  ||       |j                         }t        j                  t        t              5  ddgddgg ||      |d d f<   d d d        y # 1 sw Y   y xY w)Nr2   r5   r;  r   r   r`  r   rU  rW  )r.   r.   r2   r2   r.   r.   r.   r\  r   r   r   )rF   rl  r   rl   r
   r   r   r=   r!   r"   ru   msg1)	r$   r  
indexer_lir@   r)   cats2r  values2exp_multi_rows	            r*   #test_loc_iloc_setitem_list_of_listszCTestLocILocDataFrameCategorical.test_loc_iloc_setitem_list_of_listsa  s    YY[AqkS/C#&(S!H!5
2sAv?SRUJW89'!5G"DDQ
b-0YY[]]9D1 	:'*Aha%9JrN36"	: 	: 	:s   C&&C/r   c                 h   |j                         }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        y # 1 sw Y   y xY w)N)r2   r   r2   r   r   r   r   )rF   r   rl   atr   r9   r=   r!   r"   ru   rl  )r$   r  rj  r   r@   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[rvvruuo%88A;

1.C C
b"78 ]]9D1 	#"GBK	# 	# 	#s   B((B1c                     |j                         }|j                  dk(  }d}|t        j                  u r|j                  |   }d ||      ||f<   t        j
                  ||       y )Nr;  r   r   )rF   r   r   rl   r9   r=   )r$   r  rj  rm  r@   r   r)   s          r*   5test_loc_iloc_setitem_mask_single_value_in_categorieszUTestLocILocDataFrameCategorical.test_loc_iloc_setitem_mask_single_value_in_categories  s]     YY[xx3**S/C$'
2tSy!
b"78rD   c                    |j                         }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        y # 1 sw Y   y xY w)Nr2   r   rf  r   rU  rW  )r.   r.   r2   r.   r.   r.   r.   r\  r   r   r   )rF   r   rl   r   r
   r   r   r=   r!   r"   ru   rl  )	r$   r  rm  r@   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  s    YY[((1+C #&q
2sAv?SRUJW89'"EW#ETR
b.1 ]]9D1 	.&)1XJrN36"	. 	. 	.s   ,CCc                 v   |j                         }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        t        t        d      t        d
            }t        j                  t        t              5  | ||      |<   d d d        y # 1 sw Y   \xY w# 1 sw Y   y xY w)Nr2   r5   r   r;  r   r   r   rU  bbabcr   cc)rF   rl  r   rl   r9   r
   r=   r  r!   r"   ru   msg2)	r$   r  rd  rm  r@   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?BJJqM2C c3ZS#J?$
2s
b"45 "$t*eE]]9D1 	. #.JrN3	. tDzd5kB]]9D1 	+"*JrN3	+ 	+	. 	.	+ 	+s   <D#D/#D,/D8c                 b   |j                         }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        y # 1 sw Y   y xY w)	Nr2   r5   r   r;  r   r   r   r   )
rF   rl  r   rl   r9   r=   r!   r"   ru   rl  )r$   r  rd  rm  r@   r)   s         r*   )test_loc_iloc_setitem_non_categorical_rhszITestLocILocDataFrameCategorical.test_loc_iloc_setitem_non_categorical_rhs  s     YY[Q{Ac?BJJqM2C  #Cj
2s
b"45 ]]9D1 	-#&*JrN3	- 	- 	-s   B%%B.c                 <   t        dd      j                  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 y )N2012r3   r)  r   r1   r   )r   rs   rt   r   r   r0   r   getitem)r$   r   r?   r@   r  s        r*   -test_getitem_preserve_object_index_with_dateszMTestLocILocDataFrameCategorical.test_getitem_preserve_object_index_with_dates  s     +226:9~S1xx~~'''bjj "+a.C"+ad#Cyy&(((rD   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
                  ||       y )	Nr   r.   )r   )r   r	  r  )r_   r   r   r  )r$   r@   rB   rA   s       r*    test_loc_on_multiindex_one_levelz@TestLocILocDataFrameCategorical.test_loc_on_multiindex_one_level  ss    #s((&&)9'K
 #j44fXgYO
 
fh/rD   N)r7  r8  r9  r!   fixturer  rd  rj  rq  r:  r;  r   rl   r   rs  iatrt  rv  r{  r  r  r  r  r  r  rD   r*   rS  rS  D  s    ^^  ^^" " ^^% %:( [[Y"%%(HI# J#$9.(+:-$ [[YRVVRWW(EF) G)
0rD   rS  c                      e Zd Zej                  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                  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                  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                  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	y
)TestDeprecatedIndexersr)   r.   r   c                     t        ddgddggddg      }t        j                  t        d	      5  |j                  |    d d d        y # 1 sw Y   y xY w
Nr.   r2   r3   r5   r   r   r8   as an indexer is not supportedr   r  r$   r)   r@   s      r*   $test_getitem_dict_and_set_deprecatedz;TestDeprecatedIndexers.test_getitem_dict_and_set_deprecated  sP    
 AA'#s<]]9,LM 	FF3K	 	 	   A

Ar2   rA  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        y # 1 sw Y   y xY wNr.   r2   r3   r5   r   r   rA  r  r   r  r   r   r   r  r!   r"   ru   rl   r  s      r*   /test_getitem_dict_and_set_deprecated_multiindexzFTestDeprecatedIndexers.test_getitem_dict_and_set_deprecated_multiindex  si     VaV#J((&&)9:

 ]]9,LM 	FF3K	 	 	   A  A)c                     t        ddgddggddg      }t        j                  t        d	      5  d|j                  |<   d d d        y # 1 sw Y   y xY wr  r  r  s      r*   $test_setitem_dict_and_set_disallowedz;TestDeprecatedIndexers.test_setitem_dict_and_set_disallowed  sR    
 AA'#s<]]9,LM 	BFF3K	 	 	r  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        y # 1 sw Y   y xY wr  r  r  s      r*   /test_setitem_dict_and_set_disallowed_multiindexzFTestDeprecatedIndexers.test_setitem_dict_and_set_disallowed_multiindex  sk     VaV#J((&&)9:

 ]]9,LM 	BFF3K	 	 	r  N)
r7  r8  r9  r!   r:  r;  r  r  r  r  r  rD   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 	


rD   r  c                  6   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                  | |       y )Nr  r.   rh   r  r  c                     | S )Nr  )r  s    r*   r  z4test_adding_new_conditional_column.<locals>.<lambda><  s    a rD   )r   rl   r   r=   )r@   rB   r  s      r*   "test_adding_new_conditional_columnr  3  s    	C!:	B #BFF2c7a<s#/0H"h'	C!:	BE %BFF2c7a<s%12H"h'rD   )r0   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        t        ddgddgdt	        d
      gd      j                  dd| d      }t        j                  ||       y # 1 sw Y   QxY w)Nr.   r2   r3   r5   r  future.infer_stringrh   r   r   r{   r   r   )r   rb  option_contextrl   floatrs   r   r=   )r0   r  r@   rB   s       r*   .test_adding_new_conditional_column_with_stringr  B  s     
!Qq!f-	.B			0,	? ($'r#w!|S !(1vQF#uU|9LMNUUG%0H "h'( (s   BBc            	      h   t        ddgi      } t        j                  dd      5  d| j                  | d   dk(  df<   d d d        t        dgt	        dgt        j
                  t        j                              d	t        ddgd
            }t        j                  | |       y # 1 sw Y   lxY w)Nr  r.   r  Trh   r  r  r/   r  r   r8   )r   rb  r  rl   r   StringDtyperG   r{   r   r   r=   )r@   rB   s     r*    test_add_new_column_infer_stringr  T  s    	C!:	B			0$	7 ($'r#w!|S !(cuBNNBFF,KLMsCj.H "h'( (s   B((B1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                  j                  dg e
d	d ej                   d	       ej"                  d	            ej                  j                  de      d               Zej                  j                  dg e
dd ej"                  d            ej                  j                  de      d               Zej                  j                  dg e
d      ej                  j                  de      d               Zy)TestSetitemValidationc                 h   |j                         }t        j                  t        d      5  ||j                  |df<   |j                         }d d d        t        j                  t        d      5  ||j
                  |df<   |j                         }d d d        y # 1 sw Y   OxY w# 1 sw Y   y xY w)Nr\  r   r   r   )rF   r!   r"   ru   r   rl   )r$   r@   invalidr   orig_dfs        r*   _check_setitem_invalidz,TestSetitemValidation._check_setitem_invalidb  s    '') ]]9O< 	 ")BGGGQJB	 
 ]]9O< 	 #*BFF7C< B	  	 	  	 
	  	 s   "B1"B(B%(B1c                     |j                         }||j                  |df<   |j                         }||j                  |df<   |j                         }y )Nr   r   )rF   r   rl   )r$   r@   r  r   r  s        r*   _check_setitem_validz*TestSetitemValidation._check_setitem_valido  sK    '') $
\\^  %w|\\^rD   y      ?       @Truerh   z1.0rc  r   r.   TFFNr  r   r   c                 L    t        dg did      }| j                  |||       y )Nr   r  r   r/   r   r  )r$   r  r   r@   s       r*   #test_setitem_validation_scalar_boolz9TestSetitemValidation.test_setitem_validation_scalar_bool  s(    
 12&A##B9rD   Tr   c                     t        dg di|      }t        |      r;|t        j                  ur)t	        j
                  |      s| j                  |||       y | j                  |||       y )Nr   r1   r/   )r   r   rb  rc  rG   isnatr  r  )r$   r  any_int_numpy_dtyper   r@   s        r*   "test_setitem_validation_scalar_intz8TestSetitemValidation.test_setitem_validation_scalar_int  sW     Y'/BC=WBFF2288G;L%%b'7;''GW=rD   c                 L    t        dg di|      }| j                  |||       y )Nr   )r.   r2   Nr/   r  )r$   r  float_numpy_dtyper   r@   s        r*   $test_setitem_validation_scalar_floatz:TestSetitemValidation.test_setitem_validation_scalar_float  s(     \*2CD##B9rD   )r7  r8  r9  r  r  rb  rc  rG   r  r  _invalid_scalarsrl  	_indexersr!   r:  r;  r   r   r  r  r  r  rD   r*   r  r  `  s    	 	
eu QCq!&:E$d<STI[[J%JqJ#Jxrxx{JJBJJqMJ [[Y	2: 3: [[Y(W*:(WD(W#(WzrzzRU(WX[[Y	2> 3 Y> [[Y(A*:(AD(AB[[Y	2: 3 C:rD   r  )returnN)0collectionsr   r   r   decimalr   rJ   numpyrG   r!   pandas._libsr   pandas.errorsr   pandas.core.dtypes.commonr	   pandasrb  r
   r   r   r   r   r   r   r   r   r   pandas._testing_testingr   rT  r   r?  rQ  rl  r  rS  r  r  r:  r;  rt   r  r{   r  r  r  r  rD   r*   <module>r     s    "  	    + 0     R
W0 W0t.$ $6$)N QLn0 n0b; ;|( 			($/((	(:: ::rD   