+
    yȇi6'                     x    ^ RI t^ RIt^ RIHu Ht ^ RIt^ RIH	t	H
t
HtHtHt ^ RIHt ^ RIHt  ! R R4      tR# )    N)CategoricalDtype	DataFrameIndex
MultiIndexSeries)BooleanDtypec                     a  ] tR t^t o R t]P                  P                  RR^.4      R 4       tR t	R t
R tR tR tR	 tR
 tR tR tR tR tR tR t]P                  P                  R. RO4      R 4       tR tR tRtV tR# )TestMultiIndexBasicc           
     
   \        R . ROR. ROR\        P                  P                  ^4      P                  ^4      /4      P	                  R R.4      p\
        P                  ! V4      ;_uu_ 4        VP                  R,           RRR4       VP                  . RO,          p\
        P                  ! V4      ;_uu_ 4        VP                  R,           RRR4       R#   + '       g   i     La; i  + '       g   i     R# ; i)	jimjoejolieN)r   r      r   )xr   zy)r   r   )   r      r   )r   )	r   nprandomdefault_rng	set_indextmassert_produces_warninglociloc)selfperformance_warningdfs   && ڀ/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/indexing/multiindex/test_multiindex.pytest_multiindex_perf_warn-TestMultiIndexBasic.test_multiindex_perf_warn   s    |+..q188;
 )UEN
# 	 ''(;<<FF8 = WW\"''(;<<FF4L =<	 =< =<<s   1C C1C.	1D	offsetc                   ^pW2,           pVP                  4       ;_uu_ 4        VP                  \        RV4       \        \        P
                  ! V4      \        P                  ! R.V,          \        P
                  ! V4      34      4      pVR,          ^8X  g   Q hVR,          ^8X  g   Q hVR,          ^8X  g   Q h RRR4       R#   + '       g   i     R# ; i)   _SIZE_CUTOFFaN)r'      )r'      )r'      )contextsetattrlibindexr   r   aranger   from_arrays)r   monkeypatchr#   size_cutoffnss   &&&   r    (test_indexing_over_hashtable_size_cutoff<TestMultiIndexBasic.test_indexing_over_hashtable_size_cutoff#   s       "".+Fryy|Z%;%;cUQY		RS<U%VWA X;!###X;!###X;!### #"""s   BCC	c                   \        R RR\        P                  R.R. ROR^
^\        P                  ^./4      pVP                  R R.RR7      p\        R RR\        P                  R.R. ROR^
^\        P                  ^./\	        RR\        P                  R.R R7      \	        . RORR7      .R	7      p\
        P                  ! W#4       R
# )r'   R1R2R4bcF)dropnameindexNC1C2C3C4)r   r   nanr   r   r   assert_frame_equal)r   r   resultexpecteds   &   r    test_multi_nan_indexing+TestMultiIndexBasic.test_multi_nan_indexing1   s    dD"&&$/-b"bffb)
 sCju5dD"&&$/-b"bffb) tT26640s;.S9

 	f/    c                   \        R \        P                  \        P                  \        P                  \        P                  .R. ROR^
^\        P                  ^./4      pVP                  R R.4      p\        R^
^\        P                  ^./\        \        P                  \        P                  \        P                  \        P                  .R R7      \        . RORR7      .R7      p\        P                  ! W4       R# )r'   r:   r;   r=   r?   NrA   )	r   pdNaTr   rF   r   r   r   rG   )r   r   rI   s   &  r    "test_exclusive_nat_column_indexing6TestMultiIndexBasic.test_exclusive_nat_column_indexingH   s     bffbffbffbff5-b"bffb)
 \\3*%b"bffb) rvvrvvrvvrvv6SA.S9	
 	b+rL   c                b   \         P                  ! . RO4      p\        . RO4      p\        P                  ! W.RR.R7      p\        R. ROR\        P                  \        P                  \        P                  ./VR7      p\        RVR,          RRR\        P                  ./VR7      pVP                  R	R
7      pRVP                  V^ ,          R3R3&   \        P                  ! We4       VP                  R	R
7      pRVP                  V^ ,          R3.R3&   \        P                  ! Wu4       R# )20190101r'   index1index2namesc1c2r?         ?T)deepN)rS   rS   20190102)r'   r'   r;   r   r   r   )rN   to_datetimer   r   r/   r   r   rF   copyr   r   rG   )r   dtiidxmir   rI   df2df3s   &       r    test_nested_tuples_duplicates1TestMultiIndexBasic.test_nested_tuples_duplicates^   s     nnABO$##SJx6JKi/GHPRSdBtHdS#rvv4FGrRgg4g '*Qt#$
c,gg4g ),#a&#%&
c,rL   c                   \        \        ^4      RR7      p\        P                  ! R^RRR7      p\        P
                  ! W.4      p\        \        P                  P                  ^4      P                  R	4      VR7      pVP                  ^ ,          P                  p\        P                  ! WR4       VP                  VP                  8X  g   Q hR# )
r   Ar=   z
2020-01-01DB)periodsfreqr>   r?   N)   r   )r   rangerN   
date_ranger   from_productr   r   r   r   standard_normalr   r@   r   assert_index_equalrl   )r   ra   r`   rb   r   rH   s   &     r    2test_multiindex_with_datatime_level_preserves_freqFTestMultiIndexBasic.test_multiindex_with_datatime_level_preserves_freqq   s    E!H3'mmL!#CH$$cZ0ryy,,Q/??HPRS
f*{{chh&&&rL   c                    . R	Op. R
Op\        RVRVRV/4      pVP                  RR.RR7       \        RV/\        P                  ! W.RR7      R7      p\        P
                  ! W44       R# )r   r   r   r   T)inplacerV   r?   N)y      ?       @y      @      y      $@      )r      r(   )r   r   )r   r   r   r/   r   rG   )r   complex_datanon_complex_datarH   rI   s   &    r    test_multiindex_complex+TestMultiIndexBasic.test_multiindex_complex{   s    0$\%%
 	#sT2"#((0 
 	f/rL   c                    \         P                  ! . RO4      p\        VR7      pVP                  R R/^ R7      p\         P                  ! . RO4      p\        VR7      p\        P
                  ! W$4       R# )rh   r?   Apple)r@   levelN))rh   catrj   r   r   ))r}   r   r   r   )r   from_tuplesr   renamer   rG   )r   rb   r   mi2rI   s   &    r    &test_rename_multiindex_with_duplicates:TestMultiIndexBasic.test_rename_multiindex_with_duplicates   s\    ##$NOR YYc7^1Y5$$%ST3'
b+rL   c                   \         P                  ! R \        P                  .\        P                  \        P                  ..4      p\         P                  ! \        P                  R.\        P                  \        P                  ..4      p\	        ^^.VR7      p\	        ^^.VR7      pVP                  V4      w  rV\         P                  ! R R\        P                  .\        P                  \        P                  \        P                  ..4      p\	        R\        P                  R.VR7      p\	        \        P                  RR.VR7      p	\        P                  ! WX4       \        P                  ! Wi4       R# )     @T@g     T@r?   rZ   g       @Nr   r/   r   rF   r   alignr   assert_series_equal
r   mi1r   ser1ser2result1result2rb   	expected1	expected2s
   &         r    2test_series_align_multiindex_with_nan_overlap_onlyFTestMultiIndexBasic.test_series_align_multiindex_with_nan_overlap_only   s   $$tRVVnrvvrvv6F%GH$$rvvtnrvvrvv6F%GHq!fC(q!fC(::d+##dD"&&%9BFFBFFBFF;S$TUC-R8	BFFC-R8	
w2
w2rL   c                   \         P                  ! R \        P                  .\        P                  \        P                  ..4      p\         P                  ! \        P                  R .\        P                  \        P                  ..4      p\	        ^^.VR7      p\	        ^^.VR7      pVP                  V4      w  rV\         P                  ! R \        P                  .\        P                  \        P                  ..4      p\	        ^^.VR7      p\	        ^^.VR7      p	\        P                  ! WX4       \        P                  ! Wi4       R# )r   r?   Nr   r   s
   &         r    %test_series_align_multiindex_with_nan9TestMultiIndexBasic.test_series_align_multiindex_with_nan   s    $$tRVVnrvvrvv6F%GH$$rvvtnrvvrvv6F%GHq!fC(q!fC(::d+##dBFF^bffbff5E$FGAq6,	Aq6,	
w2
w2rL   c                    \        ^^.^^..4      P                  ^ ^.4      P                  P                  4       pV^8X  g   Q hR# )r   N)r   r   r@   nunique)r   r2   s   & r    test_nunique_smoke&TestMultiIndexBasic.test_nunique_smoke   sB    1v1v&'111a&9??GGIAvvrL   c           
         \         P                  ! \        ^^.\        P                  ! RR..4      4      P
                  . RO,          \        . RO\        P                  ! . RO.4      4      4       R# )r   r'   r:   N)r'   r'   r:   r:   )r   r   r   r   )r   r   r   r   r/   r   )r   s   &r    test_multiindex_repeated_keys1TestMultiIndexBasic.test_multiindex_repeated_keys   sX    
Aq6:11C:,?@DD$ <!7!79M8N!OP		
rL   c           	         \         P                  ! R. ROR. ROR. R	O/4      p\        P                  ! \        RR7      ;_uu_ 4        VR
.,           RRR4       R#   + '       g   i     R# ; i)fooNmissing_key)match)r   r]   )bar)r(   r)   r*   )N)   	   r   )r   )r   	from_dictpytestraisesKeyError)r   r   s   & r    #test_multiindex_with_na_missing_key7TestMultiIndexBasic.test_multiindex_with_na_missing_key   sT      ))
 ]]8=99 !" :999s   AA-	c                   \         P                  ! R.RR.R7      p\        R.VR7      P                  R4      pVR ,          p\	        VR,          P
                  \        4      '       g   Q h\        ^^ .^ ^..RR.R	R	.R
R..R7      P                  \        RR.RR7      R7      p\	        VR,          P
                  \        4      '       g   Q hR# )rh   rj   lvl1lvl2rV   valuecolumnscategoryr   locationr   r   TFbooleandtype)boolsr   Nrh   rj   )
r   r   r   astype
isinstancer   r   assignr   r   )r   r   r   df_no_multiindexs   &   r    "test_multiindex_dtype_preservation6TestMultiIndexBasic.test_multiindex_dtype_preservation   s    ((*ff=MNy'299*Ec7*3/557GHHHH VaVZ(c

 &vtUm9=&
> 	 "W+++\::::rL   c                   \         P                  ! R\        P                  R.4      p\         P                  ! R\        P                  \        P                  \        P                  3R.4      p\        P
                  ! W4       R# )r'   N)r'   r:   r;   )d r   )r   r   r   rF   r   rr   )r   rH   rI   s   &  r    $test_multiindex_from_tuples_with_nan8TestMultiIndexBasic.test_multiindex_from_tuples_with_nan   sZ    ''"&&-(PQ))rvvrvvrvv6F
 	f/rL   	operationc                   \        . RO. RO. RO.. ROR7      pVR,          P                  R4      VR&   VR,          P                  P                  R RRR /4      VR&   VP	                  RR.R7      R,          P                  4       pVP	                  RR.R7      P                  4       p\        W14      ! V4      p\        W14      ! VP                  RR	7      4      p\        P                  ! WV4       R
# )Crj   012r   r   )byF)	ascendingN)r   rj   rj   )rj   rh   rh   )rj   rh   rj   )r   r   r   )r   r   r   rename_categoriesgroupbyvalue_countssizegetattr
sort_indexr   r   )r   r   datar'   r:   rH   rI   s   &&     r    9test_groupyby_rename_categories_operation_with_multiindexMTestMultiIndexBasic.test_groupyby_rename_categories_operation_with_multiindex   s     o?
 I$$Z0S	IMM33S#sC4HIS	LLS#JL',99;LLS#JL',,.&q)1()FG
v0rL   c                R   \         P                  ! R.4      p\        \        ^4       Uu. uF  q".NK  	  upVR7      pVP	                  4       pVP	                  4       pVR ,          P                  ^4      P                  4       pVP	                  4       pVP	                  4       pWtR&   WR&   \        P                  ! WE4       WcR&   \        P                  ! W44       \        P                  ! W54       WcR&   \        P                  ! W44       \        P                  ! W54       R# u upi )rh   r   r   Nr   )r   r   )	r   r   r   rn   r_   rollingmeanr   rG   )	r   colsidf1rc   rd   s1s2s3s	   &        r    /test_multiindex_assign_aligns_as_implicit_tupleCTestMultiIndexBasic.test_multiindex_assign_aligns_as_implicit_tuple   s    %%zl3eAh/hh/>hhjhhjXa %%'WWYWWYCI
c'C
c'
c'C
c'
c'# 0s   D$c                |   \         P                  ! . RO\        P                  ! . RO4      .4      p\	        V\
        R7      pVR,          P                  R4      VR&   \	        R	\        . \
        R7      R
\        . \
        R7      R\        . RR7      R\        . RR7      /VR7      p\        P                  ! W#4       R# )r'   r   )r   r   int64r   )r   r   N)r'   r'   r   r   )r   r   r   r   )r'   r   )r'   r   )r   r   )r   r   )
r   r/   rN   Categoricalr   objectr   r   r   rG   )r   r   metarH   s   &   r    6test_multiindex_assign_alignment_with_non_string_dtypeJTestMultiIndexBasic.test_multiindex_assign_alignment_with_non_string_dtype  s    ((!2>>,#?@
 7I$$W-S	&62&62&73&73	 
 	d+rL    N)divmuladdsub)__name__
__module____qualname____firstlineno__r!   r   markparametrizer4   rJ   rP   re   rs   rz   r   r   r   r   r   r   r   r   r   r   r   __static_attributes____classdictcell__)__classdict__s   @r    r
   r
      s       [[XAw/$ 0$0.,,-&'0*,33


#;$0 [[[*FG1 H1 (,, ,rL   r
   )numpyr   r   pandas._libs.index_libsr@   r-   pandasrN   r   r   r   r   r   pandas._testing_testingr   pandas.core.arrays.booleanr   r
   r   rL   r    <module>r      s2      % %    3T, T,rL   