+
    yȇi                     |   ^ RI Ht ^ RIHt ^ RIt^ RIt^ RIt^ RIH	t
 ^ RIHt ^ RIt^ RIHtHtHtHtHt ^ RIHt  ! R R4      t ! R	 R
4      t ! R R4      tR tR t]P8                  P;                  R]].4      R 4       t]P8                  P;                  R]].4      R 4       t  ! R R4      t! ! R R4      t" ! R R4      t#R t$]P8                  P;                  R]PJ                  RR.. R)O.^ ]PJ                  R3]PJ                  RR.. R)O.^]PJ                  R3R3. R*OR]PJ                  R..^R]PJ                  3R3.4      R  4       t&]P8                  P;                  R!]PJ                  ^^.. R+O.]'! ^ ^R4      ]PJ                  ^3]PJ                  ^^.. R+O.]'! ^ ^R4      ]PJ                  R,3. R-O^]PJ                  ^..]'! ^^R4      ^]PJ                  3^3. R-O^]PJ                  ^..]'! ^^R4      ^]PJ                  3R.3.4      R" 4       t(]P8                  P;                  R#. R/O4      R$ 4       t)]P8                  P;                  R%]'! R4      ^^.3^^ .3]'! R4      ^^.3^ ^.3. R0O^^.3^ ^.3. R0O^^.3^ ^.3^^^.3^ ^.3^^^.3^^ .3^.^^.3^ ^.3^.^^.3^^ .3.4      R& 4       t*R' t+R( t,R# )1    )
namedtuple)	timedeltaN)index)InvalidIndexError)Categorical	DataFrameIndex
MultiIndex
date_rangec                     a  ] tR t^t o R tR tR tR tR t]	P                  P                  R]P                  RR.. RO.R]P                  R3]P                  RR.. RO.R]P                  R3]P                  RR.. RO.R]P                  R3. ROR
]P                  R..RR]P                  3R3. ROR
]P                  R..RR]P                  3R	3. ROR
]P                  R..RR]P                  3R3.4      R 4       tRtV tR# )TestSliceLocsc                   VP                  ^ 4      w  r#VP                  RR4      pVR8X  g   Q hVP                  RR4      pVR8X  g   Q hVP                  RR4      pV^\        V4      38X  g   Q hVP                  RR4      pVR8X  g   Q hR# )	r   Nbarbazfootwo)quxone)      )r   r   )      )	sortlevel
slice_locslen)selfidx
sorted_idx_results   &&   x/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/indexes/multi/test_indexing.pytest_slice_locs_partial%TestSliceLocs.test_slice_locs_partial   s    a(
&&~~F&&t^<&&~t<!S_----&&ue4    c           
     R   \        \        P                  P                  ^4      P	                  R4      \        \        R4      \        R7      \        R^2RR7      R7      pVP                  4       pVP                  p\        VP                  VP                  ^,          VP                  ^,          4      !  pW$,          pVR,          P                  4       p\        P                  ! VP                  VP                  4       \        VP                  VP                  ^,          \!        ^R7      ,           VP                  ^,          \!        ^R7      ,
          4      !  pW$,          pVR	,          P                  4       p\        P                  ! VP                  VP                  4       R
# )r   ABCDdtype
2000-01-01Bperiodsfreqcolumnsr   :r      Nseconds:      NN)2   r   )r   nprandomdefault_rngstandard_normalr	   listobjectr   stackr   slicer   tmassert_almost_equalvaluesr   )r   dfstackedr   slobslicedexpecteds   &      r"   test_slice_locsTestSliceLocs.test_slice_locs&   s   II!!!$44W=$v,f5\2C@

 ((*mmcnnRXXa["((2,?@d8>>#
v}}hoo>^^i33y44
 d8>>#
v}}hoo>r%   c                2   \        \        P                  P                  ^4      P	                  R4      \        \        R4      \        R7      \        R^
RR7      R7      pVP                  4       pVP                  p\        P                  ! \        RR7      ;_uu_ 4        VP                  R4       R	R	R	4       \        P                  ! \        RR7      ;_uu_ 4        VP                  VP                  ^,          \        ^R
7      ,           R4       R	R	R	4       \        \        P                   ! R4      \        \#        ^4       Uu. uF  pRV 2NK
  	  upRR7      \        \#        ^4       Uu. uF  pRV 2NK
  	  upRR7      R7      pVP                  4       pVP                  p\        P                  ! \        RR7      ;_uu_ 4        VP                  \        ^R
7      4       R	R	R	4       \        P                  ! \        RR7      ;_uu_ 4        VP                  VP                  ^,          R4       R	R	R	4       R	#   + '       g   i     EL; i  + '       g   i     ELK; iu upi u upi   + '       g   i     L; i  + '       g   i     R	# ; i)r   r'   r(   r*   r+   r,   r/   z^Level type mismatchmatchNr2   zi-a)name)r   r0   )
   r   r      r   r   )r   r   )r1   rL   )r   r7   r8   r9   r:   r	   r;   r<   r   r=   r   pytestraises	TypeErrorr   r   onesrange)r   rB   rC   r   is   &    r"   "test_slice_locs_with_type_mismatch0TestSliceLocs.test_slice_locs_with_type_mismatch>   s   II!!!$44W=$v,f5\2C@

 ((*mm]]9,BCCNN6" D]]9,BCCNN288A;2)>>G DGGFO5848a2aS843?U1X6XRs8X6SA

 ((*mm]]9,BCCNN9R01 D ]]9,BCCNN288A;	2 DC DCCCCC 56 DC DCCs<   I 5II(.I-
I2$J I	I%	2J	J	c           	     P   \        \        \        P                  ! ^4      4      \        \        P                  ! ^4      4      \        \        P                  ! ^4      4      .\        P                  ! . RO4      \        P                  ! . RO4      \        P                  ! . RO4      .R7      pRp\
        P                  ! \        VR7      ;_uu_ 4        VP                  RR	4       RRR4       VP                  ^ 4      w  r4VP                  RR	4       R#   + '       g   i     L7; i)
r   levelscodesz4[Kk]ey length.*greater than MultiIndex lexsort depthrJ   Nr   r   r   r   r   r   rP   rP   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   )r   r   r   )
r
   r	   r7   arangearrayrR   rS   KeyErrorr   r   )r   r   msgsorted_indexr    s   &    r"   test_slice_locs_not_sorted(TestSliceLocs.test_slice_locs_not_sortedW   s    "))A,'ryy|)<eBIIaL>QR121212
 E]]83//Y	2 0  //!,	95 0/s   DD%	c                   \        . RO. RO.. RO. RO.R7      pVP                  RR4      pVR	8X  g   Q hVP                  ^^4      pVR	8X  g   Q hVP                  R
R4      pVR	8X  g   Q hVP                  ^^4      pVR	8X  g   Q hVP                  RR4      pVR8X  g   Q hVP                  R^
4      pV^ \        V4      38X  g   Q hR# )r   r[   N)r   r   r   r4   )r   r   r   )	r   r   r   r   r   r   rP   rP   rP   )	r   r   r   r   r   r   r   r   r   r   r   rQ   )rP   r4   r   r   )r4   rP   )rP      )r
   r   r   )r   r   r!   s   &  r"   test_slice_locs_not_contained+TestSliceLocs.test_slice_locs_not_containedi   s      ),.0KL

 !!&&1!!!Q'!!&&1!!!Q'!!&&1!!"b)!SZ(((r%   $index_arr,expected,start_idx,end_idxrL   bcdeNc                f    \         P                  ! V4      pVP                  W4R 7      pWb8X  g   Q hR# )startendN)r
   from_arraysr   )r   	index_arrrF   	start_idxend_idxr   r!   s   &&&&&  r"   "test_slice_locs_with_missing_value0TestSliceLocs.test_slice_locs_with_missing_value   s0     $$Y/i=!!!r%    rq   rr   rs   )r   rP   )rp   rs   rL   rp   rq   rO   )rq   rs   )__name__
__module____qualname____firstlineno__r#   rG   rX   rf   rm   rR   markparametrizer7   nanr|   __static_attributes____classdictcell____classdict__s   @r"   r   r      s     ?0326$)4 [[.vvsC /2FBFFDIvvsC /2FBFFCHvvsC /2FBFFJORVVS12FS"&&M4PRVVS12FS"&&M3ORVVS12FS"&&M:V	

"
"r%   r   c                   8   a  ] tR t^t o R tR tR tR tRtV t	R# )TestPutmaskc           	        R p\         P                  ! \        VR7      ;_uu_ 4        VP                  \        P
                  ! \        V4      ^,           \        P                  4      ^4       RRR4       \         P                  ! \        VR7      ;_uu_ 4        VP                  \        P
                  ! \        V4      ^,
          \        P                  4      ^4       RRR4       \         P                  ! \        VR7      ;_uu_ 4        VP                  R^4       RRR4       R#   + '       g   i     L; i  + '       g   i     Ld; i  + '       g   i     R# ; i)z,putmask: mask and data must be the same sizerJ   Nr   )rR   rS   
ValueErrorputmaskr7   rU   r   bool_r   r   rd   s   && r"   test_putmask_with_wrong_mask(TestPutmask.test_putmask_with_wrong_mask   s     =]]:S11KKC1bhh7; 2 ]]:S11KKC1bhh7; 2 ]]:S11KKq! 21 21 21 211s%   AD(AD;E(D8	;E	E	c                   \         P                  ! \        P                  ^3\        P                  ^3R.4      p\         P                  ! . RO4      p\        P                  ! . RO4      pVP                  W24      p\         P                  ! V^ ,          V^,          V^,          .4      p\        P                  ! WE4       R# )r4   N)rL   r   )rL   r   r   )rr   r   )TTF)r
   from_tuplesr7   r   rb   r   r?   assert_index_equal)r   leftrightmaskr!   rF   s   &     r"   test_putmask_multiindex_other)TestPutmask.test_putmask_multiindex_other   s     %%{RVVQK&JK&&'EFxx+,d*))58U1XtAw*GH
f/r%   c                   \         P                  ! \        P                  ! . ROVR7      . RO.4      p\         P                  ! \        P                  ! . ROVR7      . RO.4      pVP	                  . ROV4      p\         P                  ! \        P                  ! . ROVR7      . R	O.4      p\
        P                  ! WE4       R# )
r   r(   Nr   r   rP   rN         r   r4      )rl   TFFr   r   rP   rl   r   r   r
   rx   pdSeriesr   r?   r   r   any_numeric_ea_dtypemidxmidx2r!   rF   s   &&    r"   test_putmask_keep_dtype#TestPutmask.test_putmask_keep_dtype   s    %%YYy(<=|L
 &&YYy(<=|L
 2E:))YYy(<=|L
 	f/r%   c                   \         P                  ! \        P                  ! . ROVR7      . RO.4      p\         P                  ! \        P                  ! ^.VR7      R..4      pVP	                  . ROV4      p\         P                  ! \        P                  ! . ROVR7      . RO.4      p\
        P                  ! WE4       R# )	r   r(   Nr   r   rl   r   r   r   r   r   s   &&    r"   %test_putmask_keep_dtype_shorter_value1TestPutmask.test_putmask_keep_dtype_shorter_value   s    %%YYy(<=|L
 &&YYs"67">
 2E:))YYy(<=|L
 	f/r%   r~   N)
r   r   r   r   r   r   r   r   r   r   r   s   @r"   r   r      s     "
000 0r%   r   c                     a  ] tR t^t o R tR tR t]P                  P                  R^]
P                  ^.. RO.^]
P                  ^.]
P                  ! . RO]
P                  R7      3^]
P                  ^.. RO.]
P                  ^3.]
P                  ! ^.]
P                  R7      3. RO]
P                  ^^..^]
P                  3.]
P                  ! ^ .]
P                  R7      3. RO]
P                  ^^..]
P                  ^^.]
P                  ! . RO]
P                  R7      3.4      R 4       tR t]P                  P                  R. RO4      R	 4       tR
 tR tR tR tRtV tR# )TestGetIndexerc                   \        \        P                  ! ^4      4      p\        \        P                  ! ^4      4      p\        P                  ! . RO\        P                  R7      p\        P                  ! . RO\        P                  R7      p\        W.W4.R7      pVR,          pV. RO,          pVP                  V4      p\        P                  ! V\        P                  ! . RO\        P                  R7      4       VP                  VRR7      p\        P                  ! . RO\        P                  R7      p	\        P                  ! W4       VP                  VRRR1,          RR7      p
\        P                  ! WRRR1,          4       VP                  VRR7      p\        P                  ! W4       VP                  VRR7      p\        P                  ! . RO\        P                  R7      p	\        P                  ! W4       VP                  VRRR1,          RR7      p
\        P                  ! WRRR1,          4       VP                  VR	R7      p\        P                  ! W4       VP                  VP                  4      pVP                  V4      p\        P                  ! W4       VP                  . RO4      pV. RO8H  P                  4       '       g   Q h\        \        \        ^
4      4      \        \        ^
4      4      ,           4      p\        \        \        ^4      4      4      pR
p\        P                  ! \        VR7      ;_uu_ 4        VP                  V4       RRR4       R#   + '       g   i     R# ; i)r   r(   r[   :Nr   NpadmethodNffillbackfillbfillz8Reindexing only valid with uniquely valued Index objectsrJ   )r   r   r   r   r   rP   rP   )r   r   r   r   r   r   r   )r   rP   r   rl   )r   rP   rl   )rl   r   r   r   r   )r   r   r   r   r   r   rl   rl   rl   )r	   r7   ra   rb   intpr
   get_indexerr?   r@   rA   allr;   rV   rR   rS   r   )r   
major_axis
minor_axismajor_codesminor_codesr   idx1idx2r1e1r2rffill1rbfill1rexp1rd   s   &              r"   test_get_indexerTestGetIndexer.test_get_indexer   s   299Q<(
299Q<(
hh4BGGDhh4BGGD+K3M
 RyYd#
r288Jbgg#FGd51XX&bgg6
r&d4R4j7
rdd8,""4"8
r+d:6XXoRWW5
r&d4R4j<
rdd8,""4"8
r+ dkk*  &
r)i(l"'')))) T%)_tE"I67T%)_%H]],C88T" 9888s   M55N	c                   \         P                  ! R	R
.4      pRp\        P                  ! \        VR7      ;_uu_ 4        VP                  R .RR7       RRR4       Rp\        P                  ! \        VR7      ;_uu_ 4        VP                  R .R^R7       RRR4       R#   + '       g   i     LV; i  + '       g   i     R# ; i)rL   zJmethod='nearest' not implemented yet for MultiIndex; see GitHub issue 9365rJ   nearestr   Nz,tolerance not implemented yet for MultiIndexr   )r   	tolerancer   rp   r   )r
   r   rR   rS   NotImplementedErrorr   )r   r   rd   s   &  r"   test_get_indexer_nearest'TestGetIndexer.test_get_indexer_nearest  s    %%x&:;X 	 ]].c::cU95 ;<]].c::cU5A> ;: ;: ;::s   B"B5"B2	5C	c                   \         P                  ! \        . RO4      \        \        R^RR7      4      .4      pVP	                  V4      p\
        P                  ! V\        P                  ! ^	\        P                  R7      4       R# )rL   
2012-01-01hr,   r(   Nr   )
r
   from_productr   r   r   r?   assert_numpy_array_equalr7   ra   r   )r   r   r!   s   &  r"   !test_get_indexer_categorical_time0TestGetIndexer.test_get_indexer_categorical_time  sa    &&O,J|QSIJ
 !!$'
##FBIIarww,GHr%   zindex_arr,labels,expectedr(   c                    \         P                  ! V4      pVP                  V4      p\        P                  ! WS4       R # )N)r
   rx   r   r?   r   )r   ry   labelsrF   r   r!   s   &&&&  r"   #test_get_indexer_with_missing_value2TestGetIndexer.test_get_indexer_with_missing_value  s0    & $$Y/(
##F5r%   c                r   \         P                  ! . RO. R	O.4      p\         P                  ! ^ .. R
O.4      pVP                  V4      p\        P                  ! . ROVP
                  R7      p\        P                  ! WC4       VP                  VRR7      p\        P                  ! . ROVP
                  R7      p\        P                  ! WE4       VP                  VRR7      p\        P                  ! . ROVP
                  R7      p\        P                  ! WE4       VP                  VRR7      p\        P                  ! . ROVP
                  R7      p\        P                  ! WF4       VP                  VRR7      p\        P                  ! . ROVP
                  R7      p\        P                  ! WF4       R# )r   r(   r   r   r   r   r   N)rl   r   r   )r   r   rP   r   )r   rP   r   )rl   r4   r   r   )r   r4   r   )r
   r   r   r7   rb   r)   r?   r@   r   
mult_idx_1
mult_idx_2indexerrF   backfill_indexerpad_indexers   &      r"   test_get_indexer_methods'TestGetIndexer.test_get_indexer_methods0  sN   6  ,,j,-GH
,,qc9-=>
((488Jgmm<
x1%11*Z1P88I-=-C-CD
x: &11*W1M88I-=-C-CD
x: ,,Z,F88I[->->?
x5 !,,Z,H88I[->->?
x5r%   r   c                   \         P                  ! . RO. RO.4      pVR8X  d
   \        pRpM\        pRp\        P
                  ! W4R7      ;_uu_ 4        VP                  R.VR7       RRR4       R#   + '       g   i     R# ; i)	r   r   z"not implemented yet for MultiIndexz0index must be monotonic increasing or decreasingrJ   r   N)r   r   r   r   r   )r
   rx   r   r   rR   rS   r   )r   r   mierrrd   s   &&   r"   0test_get_indexer_methods_raise_for_non_monotonic?TestGetIndexer.test_get_indexer_methods_raise_for_non_monotonicd  se     ##Y	$:;Y%C6CCDC]]3**NNF8FN3 +***s   A33B	c                .
   \         P                  ! ^^.. RO^^..4      p\         P                  ! . RO4      pVP                  '       g   Q hVP                  '       g   Q hVP                  '       g   Q hVP                  '       g   Q hV^ ,          V^ ,          8  g   Q hV^,          V^,          u;8  d   V^,          8  g   Q h Q hV^,          V^,          8X  g   Q hV^,          V^,          u;8  d   V^,          8  g   Q h Q hV^,          V^,          u;8  d   V^,          8  g   Q h Q hV^,          V^,          u;8  d   V^,          8  g   Q h Q hVR	,          V^,          8  g   Q hVP                  V4      p\        P                  ! . R
OVP                  R7      p\        P                  ! WC4       VP                  VRR7      p\        P                  ! . ROVP                  R7      p\        P                  ! WE4       VP                  VRR7      p\        P                  ! . ROVP                  R7      p\        P                  ! WF4       V^ ,          V^ ,          u;8  d   V^,          8  g   Q h Q hV^ ,          V^,          u;8  d   V^,          8  g   Q h Q hV^ ,          V^,          u;8  d   V^,          8  g   Q h Q hV^ ,          V^,          u;8  d   V^,          8  g   Q h Q hV^,          V^,          u;8  d   V^,          8  g   Q h Q hV^,          V^,          8X  g   Q hV^,          V^,          u;8  d   V^,          8  g   Q h Q hV^,          V^,          u;8  d   V^,          8  g   Q h Q hV^,          V^,          u;8  d   V^,          8  g   Q h Q hV^,          V^	,          u;8  d   V^,          8  g   Q h Q hV^,          V^
,          u;8  d   V^,          8  g   Q h Q hV^,          V^,          u;8  d   V^,          8  g   Q h Q hVP                  V4      p\        P                  ! . ROVP                  R7      p\        P                  ! WG4       VP                  VRR7      p\        P                  ! . ROVP                  R7      p\        P                  ! WH4       VP                  VRR7      p	\        P                  ! . ROV	P                  R7      p\        P                  ! WI4       R# )r   r(   r   r   r   r   N)r   r   r4   ))r   r   rk   )r   r   	   )r   r4   r   )r   r   r4   )r   r   r   )r   r   rk   )rP   r4   rk   rl   )rl   rl   r   rl   rl   rl   rl   )r   r   r   r4   r4   r4   rl   )rl   rP   r   r   r   r   r   )rl   rl   rl   rl   rl   r   rl   rl   rl   rl   rl   rl   )r   r   r   r   r   r   r4   r4   r4   r4   r4   r4   )r   r   r   r   r   r   r   r   r   r   r   r   )r
   r   r   is_monotonic_increasing	is_uniquer   r7   rb   r)   r?   r@   )
r   r   r   indexer_no_fillrF   indexer_backfilledindexer_paddedr   r   r   s
   &         r"   %test_get_indexer_three_or_more_levels4TestGetIndexer.test_get_indexer_three_or_more_levelsq  sm   4  ,,q!fi!Q-HI
++


 11111#####11111##### !}z!},,,!}z!}<z!}<<<<<!}
1---!}z!}<z!}<<<<<!}z!}<z!}<<<<<!}z!}<z!}<<<<<"~
1---$00<887?T?TU
x9 (33Jz3R882:L:R:RS
x< $//
5/I883>;O;OP
x8 !}z!}<z!}<<<<<!}z!}<z!}<<<<<!}z!}<z!}<<<<<!}z!}<z!}<<<<<!}z!}<z!}<<<<<!}
1---!}z!}<z!}<<<<<!}z!}<z!}<<<<<!}z!}<z!}<<<<<!}z!}<z!}<<<<<!}z"~=
1=====!}z"~=
1=====((488;7==
 	x1%11*W1M8808H8N8N
 	x: ,,Z,F8808I8I
 	x5r%   c                   \         P                  ! ^^..^,          4      p\         P                  ! RR.4      pV^,          V^ ,          u;8  d   V^,          8  g   Q h Q hVR,          V^,          8  g   Q hVP                  V4      p\        P
                  ! RR.VP                  R7      p\        P                  ! WC4       VP                  VRR7      p\        P
                  ! ^R.VP                  R7      p\        P                  ! WE4       VP                  VRR7      p\        P
                  ! ^^.VP                  R7      p\        P                  ! WF4       R# )	r   r(   r   r   r   N)r   rP   r   r   )r   rP   r   r   rl   )	r
   r   r   r   r7   rb   r)   r?   r@   r   s   &      r"    test_get_indexer_crossing_levels/TestGetIndexer.test_get_indexer_crossing_levels  s"   6  ,,q!fX\:
++\<,HI
 !}z!}<z!}<<<<<"~
1---((488RHGMM:
x1%11*W1M88QG+;+A+AB
x: ,,Z,H88QG;+<+<=
x5r%   c                   \         P                  ! \        ^4      RR..4      pRp\        P                  ! \
        VR7      ;_uu_ 4        VP                  VRR
 ^R7       RRR4       Rp\        P                  ! \
        VR7      ;_uu_ 4        VP                  VRR
 RR	7       RRR4       R#   + '       g   i     LW; i  + '       g   i     R# ; i)rP   Ar+   z;limit argument only valid if doing pad, backfill or nearestrJ   N)limitz?tolerance argument only valid if doing pad, backfill or nearestpiano)r   rl   )r
   r   rV   rR   rS   r   r   )r   r   rd   s   &  r"   !test_get_indexer_kwarg_validation0TestGetIndexer.test_get_indexer_kwarg_validation  s    $$eAhc
%;<K]]:S11NN2cr7!N, 2 P]]:S11NN2cr7gN6 21	 21 211s   
B0C0C 	C	c                r   \         P                  ! R .RR..RR.R7      p\         P                  ! R .\        P                  R..RR.R7      p\        P                  ! R	^.4      pVP                  V4      p\        P                  ! WCRR7       VP                  V4      p\        P                  ! WCRR7       R# )
r         ?       @id1id2namesF)check_dtypeNrl   )r
   r   r7   r   rb   r   r?   r   )r   r   r   rF   r!   s   &    r"   test_get_indexer_nan#TestGetIndexer.test_get_indexer_nan  s    &&Sz':5%.Q&&}'=eU^T88RG$!!$'
##F%H!!$'
##F%Hr%   r~   NrP   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   r   r   rR   r   r   r7   r   rb   r   r   r   r   r   r   r  r  r   r   r   s   @r"   r   r      sd    2#h	?	I [[# RVVQ+BFFARWW5
 "&&!ni(BFFA;-1#RWW9UV"&&!Q(Arvv;-1#RWW9UVRVVQN+ARWW5	
"6#"626h [[X'WX
4 Y
4a6F,6\
7I Ir%   r   c                 N   V ^,          R8X  g   Q hV R,          pV . RO,          pVP                  V4      '       g   Q hV . RO,          pV \        P                  ! . RO4      ,          pV . RO,          pVP                  V4      '       g   Q hVP                  V4      '       g   Q hR# )r   :r   r   NN)r   r   r   rP   r   )TFTFTT)r   r   r   r   )equalsr7   rb   )r   r!   rF   result2s   &   r"   test_getitemr    s    q6^### XF9~H=="""" 78F"((ABCG< H=="""">>(####r%   c                     V P                  ^ 4      w  rVP                  R4      \        ^^4      8X  g   Q hVP                  R4      \        ^ ^4      8X  g   Q hR# )r   r   r   N)r   get_locr>   )r   r   r    s   &  r"   test_getitem_group_selectr  *  sP    MM!$MJe$a333e$a333r%   boxc                    V ! R .^,          4      p\         P                  ! . RO4      p\        P                  ! W!,          V4       V ! . RO4      p\         P                  ! RR.4      p\        P                  ! W#,          V4       R# )TNrN   r      rP   )r  )   r   r  )(   r   )r6   r   )TFTFF)r
   r   r?   r   r  ind1r   ind2rF   s   &    r"   test_getitem_bool_index_allr!  0  sh     vz?D

 
 !N
OC#)S)01D%%w&89H#)X.r%   c                 ~   V ! R .4      p\         P                  ! R.4      p\        P                  ! W!,          V4       V ! R.4      p\        \        P
                  ! . \        P                  R7      \        P
                  ! . \        P                  R7      .. . .R7      p\        P                  ! W#,          V4       R# )TFr(   r[   Nr  )r
   r   r?   r   r7   rb   int64r  s   &    r"   test_getitem_bool_index_singler$  <  s     v;D

 
 '
+C#)S)w<D288,bhhr.JK2hH #)X.r%   c                   
  a  ] tR tRt o R tR tR t]P                  P                  R]
]]].4      ]P                  P                  R]
]]].4      R 4       4       t]P                  P                  R^ ^.4      ]P                  P                  R	]
].]]
..4      R
 4       4       t]P                  P                  R]].4      R 4       t]P                  P                  R^ ^.4      R 4       tR tR tR tR tR tR tRtV tR# )
TestGetLociK  c           	        VP                  R4      ^8X  g   Q hVP                  R	4      ^8X  g   Q h\        P                  ! \        RR7      ;_uu_ 4        VP                  R
4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        VP                  R4       RRR4       \	        \        \        P                  ! ^4      4      \        \        P                  ! ^4      4      \        \        P                  ! ^4      4      .\        P                  ! . RO4      \        P                  ! . RO4      \        P                  ! . RO4      .R7      p\        P                  ! \        RR7      ;_uu_ 4        VP                  R4       RRR4       VP                  R4      \        ^^4      8X  g   Q hR#   + '       g   i     EL]; i  + '       g   i     EL3; i  + '       g   i     L\; i)r   z^\('bar', 'two'\)$rJ   Nz^'quux'$quuxr[   z
^\(1, 1\)$r   )r   r   r   r   r^   r_   r`   r   )r   r   )
r  rR   rS   rc   r
   r	   r7   ra   rb   r>   )r   r   r   s   && r"   test_get_locTestGetLoc.test_get_locL  s@   {{>*a///{{>*a///]]8+@AAKK' B]]8;77KK 8 "))A,'ryy|)<eBIIaL>QR121212
 ]]8=99MM&! :}}V$a333! BAA777 :9s$   F;G=G#;G	G 	#G3	c                ^   \        . RO4      pVP                  ^4      p\        ^ ^4      pW#8X  g   Q h\        . RO4      pVP                  R4      p^ pWE8X  g   Q h\        P                  ! \
        RR7      ;_uu_ 4        VP                  ^4       RRR4       R#   + '       g   i     R# ; i)r   rq   2rJ   N)r   r   r   r   )rq   rL   rL   rp   rp   )r	   r  r>   rR   rS   rc   )r   r   r!   rF   rsxps   &     r"   test_get_loc_duplicates"TestGetLoc.test_get_loc_duplicatesa  s    l#q!A;!!!/0]]3xx]]83//MM! 0///s   ?BB,	c           	        \        \        \        P                  ! ^4      4      \        \        P                  ! ^4      4      \        \        P                  ! ^4      4      .\        P                  ! . RO4      \        P                  ! . R	O4      \        P                  ! . R
O4      .R7      pVP                  R4      w  r#\        ^^4      pW,          P                  ^ 4      P                  ^ 4      pW$8X  g   Q hVP                  V4      '       g   Q hVP                  R4      w  r#^pW$8X  g   Q hVe   Q h\        P                  ! \        RR7      ;_uu_ 4        VP                  R4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        VP                  ^4      P                  ^4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        VP                  ^^R7      P                  ^^R7       RRR4       \        R.\        \        ^4      4      .\        P                  ! . RO4      \        P                  ! . RO4      .R7      pVP                  R\        RR4      34      w  rc\        RR4      pWd8X  g   Q hVP                  VP                  ^ 4      4      '       g   Q hR#   + '       g   i     EL\; i  + '       g   i     EL#; i  + '       g   i     L; i)r   r[   Nz
^\(2, 2\)$rJ   z^2$)leveli  r^   r_   r`   r   r   )r   r   r   rj   )r   r   r   r   )r   r   r   rP   )r
   r	   r7   ra   rb   get_loc_levelr>   	droplevelr  rR   rS   rc   dropr;   rV   )r   r   loc	new_indexrF   	exp_indexr!   s   &      r"   test_get_loc_levelTestGetLoc.test_get_loc_levelo  s/   "))A,'ryy|)<eBIIaL>QR121212
 ,,V4A;O--a0::1=		****,,Y7   ]]8=99' : ]]8622JJqM''* 3 ]]8622JJqJ"00!0< 3 FDqN+88L)288L+AB
 "//uT47H0IJt$!!! 23333! :99 322 32s$   J?!K%%K'?K	K$	'K7	dtype1dtype2c                   \         P                  ! ^ ^.4      P                  V4      \         P                  ! ^ ^.4      P                  V4      .p\        P                  ! V4      pVP                  V^,          4      ^8X  g   Q hR# )r   N)r7   rb   astyper
   r   r  )r   r=  r>  r\   r   s   &&&  r"   test_get_loc_multiple_dtypes'TestGetLoc.test_get_loc_multiple_dtypes  si     ((Aq6"))&1288QF3C3J3J63RS%%f-{{3q6"a'''r%   r3  dtypesc                    R R.RR..pRR.pVw  rV\         P                  ! ^ ^.VR7      W1&   V! ^4      WA&   \        P                  ! V4      pVP	                  \        V4      4      ^8X  g   Q hR# rL   rp   rq   rr   r(   N)r7   rb   r
   r   r  tuple)r   r3  rC  r\   key	lev_dtype	key_dtyper   s   &&&     r"   test_get_loc_implicit_cast%TestGetLoc.test_get_loc_implicit_cast  ss     *sCj)Cj%	!Qy9q\
%%f-{{5:&!+++r%   r)   c                   \        R R.VR7      \        P                  ! ^RR7      .p\        P                  ! V4      pV\
        J d   \        P                  ! \        RR7      ;_uu_ 4        VP                  R
4      ^8X  g   Q h RRR4       \        P                  ! \        RR7      ;_uu_ 4        VP                  R4      ^8X  g   Q h RRR4       M0VP                  R
4      ^8X  g   Q hVP                  R4      ^8X  g   Q h\        P                  ! \        RR7      ;_uu_ 4        VP                  R4       RRR4       \        P                  ! \        R	R7      ;_uu_ 4        VP                  R4       RRR4       R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     Lw; i  + '       g   i     R# ; i)FTr(   r#  z
^\(0, 1\)$rJ   Nz
^\(1, 0\)$z^\(False, True\)$z^\(True, False\)$r4  ri   )FT)TF)
r	   r7   ra   r
   r   boolrR   rS   rc   r  )r   r)   r\   r   s   &&  r"   test_get_loc_cast_bool!TestGetLoc.test_get_loc_cast_bool  s:    U3RYYq5PQ%%f-D=x}=={{6*a/// >x}=={{6*a/// >= ;;v&!+++;;v&!+++]]8+?@@KK& A]]8+?@@KK& A@ >==== A@@@@s0   ,F2F)F*'F=F	F'	*F:	=G	c                    R R.RR..pRR.p\         P                  ! ^ V.\        V4      R7      W1&   W$V&   \        P                  ! V4      pVP                  \        V4      4      ^8X  g   Q hR# rE  )r7   rb   typer
   r   r  rF  )r   r3  nulls_fixturer\   rG  r   s   &&&   r"   test_get_loc_nanTestGetLoc.test_get_loc_nan  sm     *sCj)Cj!]!34;NO"E
%%f-{{5:&!+++r%   c                   \         P                  ! R R.RR..4      p\        VP                  ^4      \        4      '       g   Q h\
        P                  ! \        RR7      ;_uu_ 4        VP                  ^4       RRR4       \
        P                  ! \        RR7      ;_uu_ 4        VP                  \        P                  4       RRR4       \
        P                  ! \        RR7      ;_uu_ 4        VP                  \        P                  .4       RRR4       R#   + '       g   i     L; i  + '       g   i     Lr; i  + '       g   i     R# ; i)	r  r  g      @g      @z^3$rJ   Nz^nan$z\[nan\])r
   rx   
isinstancer  r>   rR   rS   rc   r7   r   r   r   r   s   & r"   test_get_loc_missing_nan#TestGetLoc.test_get_loc_missing_nan  s    $$sCj3*%=>#++a.%0000]]8622KKN 3]]8844KK 5]],J??KK! @?	 3244???s$   (D& D02!ED-	0E 	E	c                   \         P                  ! \        P                  ^..^,          4      p\	        ^ ^R4      pVP                  \        P                  4      V8X  g   Q h\         P                  ! \        P                  ^^\        P                  ..4      p\        P                  ! . RO4      p\        P                  ! VP                  \        P                  4      V4       \         P                  ! \        P                  ^..^,          4      p\	        ^^R4      pVP                  \        P                  ^34      V8X  g   Q hR# )r   N)TFFT)
r
   r   r7   r   r>   r  rx   rb   r?   r   )r   r   rF   s   &  r"   1test_get_loc_with_values_including_missing_values<TestGetLoc.test_get_loc_with_values_including_missing_values  s    %%{ma&78At${{266"h...$$rvvq!RVV&<%=>8867
##CKK$7B%%{ma&78At${{BFFA;'8333r%   c                    \        . RO. RO.. RO. RO.RR.R7      pVP                  R 4      \        ^ ^4      8X  g   Q hR# )	Dtagdayr\   r]   r
  N)r^  r+   C)r         %   9   C   K   R   )
r   r   r   r   r   r   r   r   r   r   )
r   rP   r   r4   r   r   r   rP   r   r   )r
   r  r>   )r   r   s   & r"   test_get_loc_duplicates2#TestGetLoc.test_get_loc_duplicates2  sD    #%DE13QR%.
 }}S!U1a[000r%   c                
   \        R .^ ^.^..^ ^ .^^ .^ ^ ... RO^ R7      pRp\        P                  ! V4      ;_uu_ 4        VP                  V4      pRRR4       X\	        ^ ^R4      8X  g   Q hR#   + '       g   i     L&; i)rL   )r\   r]   r
  	sortorderN)xyz)rL   r   )r
   r?   assert_produces_warningr  r>   )r   performance_warningr   rG  r!   s   &&   r"   test_get_loc_past_lexsort_depth*TestGetLoc.test_get_loc_past_lexsort_depth  s    EAq6A3'q6Aq6Aq6*!	
 ''(;<<[[%F = q!T****	 =<s   A22B	c                    \         P                  ! RR.4      pRp\        P                  ! \        VR7      ;_uu_ 4        VP                  . 4       RRR4       R#   + '       g   i     R# ; i)rL   z\[\]rJ   Nr   r   )r
   r   rR   rS   r   r  r   s   &  r"   #test_multiindex_get_loc_list_raises.TestGetLoc.test_multiindex_get_loc_list_raises  sH    $$h%9:]],C88KKO 9888   AA,	c                d   \         P                  ! \        ^4      \        ^4      \        ^4      \        ^4      .4      pRp\        P                  ! \
        \        P                  ! \        V4      4      R7      ;_uu_ 4        VP                  V4       RRR4       R#   + '       g   i     R# ; i)rP   rJ   N)r  r   )
r
   r   rV   rR   rS   rc   reescapestrr  )r   r   rG  s   &  r"   )test_get_loc_nested_tuple_raises_keyerror4TestGetLoc.test_get_loc_nested_tuple_raises_keyerror  si    $$eAha%(E!H%MN ]]8299SX+>??JJsO @???s   BB/	r~   N)r   r   r   r   r*  r0  r;  rR   r   r   intfloatrM  r|  rA  rJ  r<   rN  rS  rX  r[  rj  rs  rv  r}  r   r   r   s   @r"   r&  r&  K  s,    4*$4L [[XUD#'>?[[XUD#'>?( @ @( [[Wq!f-[[Xeucl'CD, E ., [[WtVn5' 6'* [[Wq!f-, .,
"41+  r%   r&  c                   ,   a  ] tR tRt o R tR tRtV tR# )	TestWherei  c                    \         P                  ! RR.4      pRp\        P                  ! \        VR7      ;_uu_ 4        VP                  R4       RRR4       R#   + '       g   i     R# ; i)r   2\.where is not supported for MultiIndex operationsrJ   TNr   r   r   r   r
   r   rR   rS   r   where)r   rW   rd   s   &  r"   
test_whereTestWhere.test_where  sH    ""Hh#78C]].c::GGDM ;:::rx  c                    \         P                  ! RR.4      pRR.pRp\        P                  ! \        VR7      ;_uu_ 4        VP                  V! V4      4       RRR4       R#   + '       g   i     R# ; i)r   FTr  rJ   Nr  r  r  )r   listlike_boxr   condrd   s   &&   r"   test_where_array_likeTestWhere.test_where_array_like  sW    ##Xx$89t}C]].c::HH\$'( ;:::s   A%%A6	r~   N)r   r   r   r   r  r  r   r   r   s   @r"   r  r    s     ) )r%   r  c                   J   a  ] tR tRt o R tR tR tR tR tR t	R t
R	tV tR
# )TestContainsi  c                v    \         P                  ! R R.^^..4      pR V9   g   Q hR VP                  9  g   Q hR# )r   r+   N)r
   r   _engine)r   r   s   & r"   test_contains_top_level$TestContains.test_contains_top_level  s=    &&c
QF';<d{{$,,&&&r%   c                    \        R .\        R^R7      .. RO. RO.RR.R7      pR \        P                  ! R4      3V9   g   Q hVP                   F  pW!9   d   K  Q h	  R# )rb  r   )r-   Nr+   ra  )r   r   r   r   r   r   )rl   r   r   r   rP   r   )r
   r   r   	TimestamprA   )r   r   vals   &  r"   test_contains_with_nat#TestContains.test_contains_with_nat#  sc    E:lA>?%':;+

 R\\,/0B66699C99 r%   c                <    RV9   g   Q hRV9  g   Q hRV9  g   Q hR# )r   Nr   r)  r~   rW  s   &&r"   test_containsTestContains.test_contains.  s*    $$$S(((3r%   c                8   \         P                  ! ^\        P                  ^..4      p\        P                  V9   g   Q h\         P                  ! ^^.\        P                  ^..4      p\        P                  V9  g   Q h^\        P                  3V9   g   Q hR# )r   N)r
   rx   r7   r   rW  s   & r"    test_contains_with_missing_value-TestContains.test_contains_with_missing_value3  sx    $$q"&&!n%56vv}}$$q!frvvqk%:;vvS   266{c!!!r%   c                j   \         P                  ! ^^.^^..4      p^V9   g   Q hVP                  ^4      p^VP                  ^ ,          9   g   Q h^V9  g   Q h\         P                  ! RR.RR..4      pRV9   g   Q hVP                  R4      pRVP                  ^ ,          9   g   Q hRV9  g   Q hR# )r   rL   rp   rq   rr   N)r
   r   r7  r\   rW  s   & r"    test_multiindex_contains_dropped-TestContains.test_multiindex_contains_dropped<  s     %%1v1v&67Cxxhhqk CJJqM!!!|| %%SzC:&>?czzhhsmcjjm####~~r%   c                    \         P                  ! R RRR7      p\        P                  ! V\        P
                  ! \        V4      4      .4      pV^ ,          V9   g   Q hRV9  g   Q hRV9   g   Q hR# )z09:30:00z16:00:00z30 min)r.   element_not_exitz0 day 09:30:00N)r   timedelta_ranger
   rx   r7   ra   r   )r   txr   s   &  r"   test_contains_td64_level%TestContains.test_contains_td64_levelP  sd    
JXF$$b"))CG*<%=>!u||!,,,3&&&r%   c                   VP                  4       ;_uu_ 4        VP                  \        R ^
4       \        P                  ! \        ^
4      \        ^
4      .4      pRV9  g   Q h RRR4       R#   + '       g   i     R# ; i)_SIZE_CUTOFFN)rN   r   )contextsetattrlibindexr
   rx   rV   )r   monkeypatchr!   s   && r"   test_large_mi_contains#TestContains.test_large_mi_containsX  s]      ""."=++U2Yb	,BCF&((( #"""s   AA//B 	r~   N)r   r   r   r   r  r  r  r  r  r  r  r   r   r   s   @r"   r  r    s-     '
	
"(') )r%   r  c            	         \         P                  ! \        R ^dRRR7      R.^..4      p \        R\        P
                  ! \        V 4      4      /V 4      pVP                  \        P                  R,          R3,          p\         P                  ! \        RRRRR7      R.^..4      p\        P                  ! \        P
                  ! ^\        V4      ^,           4      VRR	7      p\        P                  ! W$4       R
# )z2019-01-01T00:15:33r   date)r-   r.   rM   rn  r   z2019-01-02T00:15:33z2019-01-05T03:15:33)rv   rw   r.   rM   )datar   rM   N):z2019-1-2NNrn  :NNN)r
   r   r   r   r7   ra   r   r8  r   
IndexSlicer   r?   assert_series_equal)r   rB   r!   qidx	should_bes        r"   !test_timestamp_multiindex_indexerr  `  s    

!
!,c&QEC	
C 
E299SX./	5BVVBMM"56=>F""+)	 EC		
D 		ryySY^<DuUI6-r%   zindex_arr,expected,target,algorL   rp   rq   rr   r   r   c                 f    \         P                  ! V 4      pVP                  W#R 7      pWQ8X  g   Q hR# ))sideN)r
   rx   get_slice_bound)ry   rF   targetalgor   r!   s   &&&&  r"   'test_get_slice_bound_with_missing_valuer  {  s3     
 
 
+C   3Fr%   ro   c                 f    \         P                  ! V 4      pVP                  W#R 7      pWQ8X  g   Q hR# ru   )r
   rx   slice_indexer)ry   rF   rz   r{   r   r!   s   &&&&  r"   %test_slice_indexer_with_missing_valuer    s3     
 
 
+CY<Fr%   zN, expected_dtypec                    ^ .^,          V ,          ^.^,          V ,          \         P                  .V ,          ^ .^,          V ,          ,           ^ .V ,          ^.^,          V ,          ,           \         P                  .V ,          ^.^,          V ,          ,           ^ .V ,          ,           3 Uu. uF  p\        V4      NK  	  pp\        P                  ! V4      pVP
                  P                  P                  V8X  g   Q h\        V4       F  w  rVVP                  V4      V8X  g   Q h\         P                  ! V^,           \         P                  R7      pTP                  V Uu. uF  qV,          NK  	  up4      p	\        P                  ! W4       K  	  \        \!        V4      4      p
\         P"                  ! R.\%        V
4      O\         P                  R7      p\        . ROV ,          4      pTP                  V.V
 Uu. uF  qV,          NK  	  up,           4      p	\        P                  ! W4       R# u upi u upi u upi )r   r(   Nrl   )r   r   r   r   )r7   r   rF  r
   r   r  rA   r)   	enumerater  ra   r   r   r?   r   rV   r   rb   r;   )Nexpected_dtypearrkeysr   r   	key_valuerF   rW   r!   idcesmissings   &&          r"   test_pyint_enginer    s   " C!GaKC!GaKVVHqLA37Q;&C!GqcAgk!VVHqLA37Q;&!q0
	
C 	c

 	 	" ""4(E==%%777#D/}}Y'3...99S1WBGG4""X#>XGGX#>?
##F5 * #d)Exx*d5k*"'':HL1$%GyU+CUGGU+CCDF1A	0 $? ,Ds   -H7$H<
I
zkeys,expectedc                     \         P                  ! . RO. RO.4      pVP                  V 4      p\        P                  ! V\        P
                  R7      p\        P                  ! W14       R# )r   r(   N)r   r   r   )r   r   r4   )r
   rx   get_locsr7   rb   r   r?   r   )r  rF   r   r!   s   &&  r"   test_get_locs_reorderingr    sQ     
 
 	
C \\$Fxx0H1r%   c                    \         P                  ! R .RR..RR.R7      p\         P                  ! R .V R..RR.R7      pVP                  V4      p\        P                  ! R^.\        P
                  R7      p\        P                  ! W44       VP                  V4      p\        P                  ! R^.\        P
                  R7      p\        P                  ! W44       R# )	r   r  r  r  r  r	  r(   Nrl   )r
   r   r   r7   rb   r   r?   r   )rR  r   r   r!   rF   s   &    r"   )test_get_indexer_for_multiindex_with_nansr    s    ""SEC:#6uenMD""SEM3+?#@PUWDd#FxxQrww/H1d#FxxQrww/H1r%   c                     \        R R4      p \        P                  ! V ! RR4      V ! RR4      V ! RR4      .4      pWP                  4       3 F  pVP	                  V ! RR4      4      ^ 8X  g   Q hVP	                  V ! RR4      4      ^8X  g   Q hVP	                  V ! RR4      4      ^8X  g   Q hVP	                  R	4      ^ 8X  g   Q hVP	                  R
4      ^8X  g   Q hVP	                  R4      ^8X  d   K  Q h	  \        P                  ! . RO4      pWP                  4       3 F  pVP	                  V ! RR4      4      ^ 8X  g   Q hVP	                  V ! RR4      4      ^8X  g   Q hVP	                  V ! RR4      4      ^8X  g   Q hVP	                  R	4      ^ 8X  g   Q hVP	                  R
4      ^8X  g   Q hVP	                  R4      ^8X  d   K  Q h	  R# )
NamedIndexi1i2i3i4i5i6N)rL   rp   r  r  r  r  r  r  )r  r  r  )r   r
   r   to_flat_indexr  )r  	multi_idxr   s      r"   *test_get_loc_namedtuple_behaves_like_tupler    s   L*5J&&	D$	D$!7D$9OPI 2245{{:dD12a777{{:dD12a777{{:dD12a777{{<(A---{{<(A---{{<(A--- 6 &&'QRI2245{{:dD12a777{{:dD12a777{{:dD12a777{{<(A---{{<(A---{{<(A--- 6r%   r   r   r  )r   r   r   )rP   r   ))r   uint8)r   uint16)r   uint32)rk   uint64)rN   r<   )TFT)-collectionsr   datetimer   rz  numpyr7   rR   pandas._libsr   r  pandas.errorsr   pandasr   r   r   r	   r
   r   pandas._testing_testingr?   r   r   r   r  r  r   r   r;   r!  r$  r&  r  r  r  r   r  r>   r  r  r  r  r  r~   r%   r"   <module>r     sO   "  	   * +   ~" ~"B40 40nHI HIV
$"4 u./ // u./ // D) ) @) @)F.6 $663
o	.2666B663
o	.BFFC='J
C-	.C=&I *661a.)	$eAq$&7C661a.)	$eAq$&7H
a^	$eAq$&7!RVVaH
a^	$eAq$&7!RVVfM	 	$2	$2N 
+1v	A'
+1v	A'
1v	&A/
1v	&A/
aVq!f
aVq!f#1vA#1vA	
2
22.r%   