
    Mh/                     l    S SK r S SKrS SKrS SKrS SKJrJrJr  S SK	J
r   " S S5      r " S S5      rg)    N)	DataFrame
MultiIndexSeriesc                       \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS r\R"                  R%                  SSS/5      S 5       rS rS rS rS rSrg)TestMultiLevel   c                    UnUR                  S5      R                  5       nUR                  UR                  SS9nUR                  SS9R	                  S5      n[
        R                  " XE5        US   R                  UR                  SS9nUS   R                  SS9R	                  S5      n[
        R                  " XESS9  Sn[
        R                  " [        US	9   UR                  R                  SSS
9nS S S 5        WR                  5       nUR                  UR                  SS9nUR                  SS9R	                  S5      R                  n[
        R                  " XE5        g ! , (       d  f       Nw= f)Nmonth   levelsumAFcheck_names+DataFrame.groupby with axis=1 is deprecatedmatchaxis)columnsr   )groupbyr   reindexindex	transformtmassert_frame_equalassert_series_equalassert_produces_warningFutureWarningT)self/multiindex_year_month_day_dataframe_random_dataymd
month_sumsresultexpectedmsggbs           N/var/www/html/env/lib/python3.13/site-packages/pandas/tests/test_multilevel.pytest_reindex_level!TestMultiLevel.test_reindex_level   sC   =[[)--/
##CIIQ#7;;W;-77>
f/ C((!(<s8##'#2<<UC
vUC <''SAwQ/B B VVX
##CIIQ#?;;W;-77>@@
f/ BAs   E**
E8c                 x    UnUR                   SS/   nUR                  SS/   n[        R                  " XC5        g )Nr      fooonebarr1   )iloclocr   r   )r"    multiindex_dataframe_random_dataframer'   	reindexeds        r*   test_reindexTestMultiLevel.test_reindex)   s:    0::q!f%II~~>?	
i2    c                 <   UnUR                   S S S2   nUR                  U5      nU(       a#  UR                   R                  U5      (       d   eOUR                   UL d   eUR                  U   nUR                   R	                  U5      (       d   eUR
                  nUR                  US9nU(       a#  UR                  R                  U5      (       d   eOUR                  UL d   eUR                  S S 2U4   nUR                  R	                  U5      (       d   eg )N
   r   )r   r   is_r5   equalsr!   r   )r"   r#   using_copy_on_writer$   	new_indexchunkymdTs          r*   test_reindex_preserve_levels+TestMultiLevel.test_reindex_preserve_levels0   s     >IIddO	I&;;??9----;;)+++	"{{!!),,,,uuY/==$$Y////==I---I&}}##I....r;   c                    UnUS   nUR                   R                  S5      nUR                  USS9nUR                  S 5      nUR	                  S 5      nUR                  UR                   5      n[        R                  " XSS9  g )Nr   r   F)
group_keysc                     U S-  $ N    xs    r*   <lambda>7TestMultiLevel.test_groupby_transform.<locals>.<lambda>Q   s    !a%r;   c                     U S-  $ rJ   rL   rM   s    r*   rO   rP   R   s    q1ur;   r   )r   get_level_valuesr   applyr   r   r   r   )	r"   r6   r7   sgroupergroupedappliedr'   r&   s	            r*   test_groupby_transform%TestMultiLevel.test_groupby_transformI   sv    0#J''**1-))G)6--0$$_50
vUCr;   c                     [        S/S/S//S/S/S/// SQS9n[        [        R                  R	                  S5      R                  S5      // S	QUS
9nUR                  SS9  g )Nr0   r3   bazr   )r1   twothreelevelscodesnamesrK      abcd)r   r   r]   r   )r   r   nprandomdefault_rngr   )r"   midxdfs      r*   test_groupby_corner"TestMultiLevel.test_groupby_cornerV   sp    GeWug.3aS/)

 YY""1%,,Q/0(
 	


!r;   c                    [         R                  " / SQ5      n[        / SQ/ SQ/US9nUR                  SS9UR                  R                  S 5         nSn[        R                  " [        US	9   UR                  SS
S9nS S S 5        WR                  5       nUR                  SS/:H  R                  5       (       d   eg ! , (       d  f       NE= f)N))f1s1)rp   s2)f2rq   )rs   rr   )f3rq   )rt   rr   )r   rK   r.   rb         )      	   r=         r>   r   r   c                     U S   S;   $ )Nr   )rs   rt   rL   )us    r*   rO   :TestMultiLevel.test_groupby_level_no_obs.<locals>.<lambda>q   s    adl6Jr;   r   r   r   r   r   rs   rt   )r   from_tuplesr   r5   r   mapr   r   r    r   r   all)r"   rk   rl   df1r(   rV   r&   s          r*   test_groupby_level_no_obs(TestMultiLevel.test_groupby_level_no_obsd   s    %%	
 *,ABDQff!fnRZZ^^,JKL;''SAkkqk2G B4,.335555 BAs   0C  
Cc                     UnUS S R                   nUS   US'   [        UR                  [        5      (       d   eUS   US   :H  R	                  5       (       d   eg )Nru   )  r   rw   )r   r   r=   )r!   
isinstancer   r   r   )r"   r#   r$   rl   s       r*   .test_setitem_with_expansion_multiindex_columns=TestMultiLevel.test_setitem_with_expansion_multiindex_columnsy   s^     >!WYYZ.;"**j1111;2j>1668888r;   c                 .   [        / SQ[        R                  " / SQ5      S9n[        / SQ[        R                  " / SQ5      S9nX-
  nUR                  R	                  UR                  5      nUR                  U5      UR                  U5      -
  n[        R                  " X55        US S S2   US S S2   -
  nUR                  R	                  UR                  5      nUR                  U5      UR                  U5      -
  n[        R                  " X55        g )N)r   rK   r.   ))r   r   )r   rK   Br.   datar   )rb   ru   rv   ))Zr   )r   rK   r   )r   r   r   r   unionr   r   r   )r"   rN   yres	exp_indexexps         r*   test_alignmentTestMultiLevel.test_alignment   s    *"8"89W"X
 *"8"89W"X
 eGGMM!''*	ii	"QYYy%99
s( "g$B$GGMM!''*	ii	"QYYy%99
s(r;   c                    UnUR                  SS/S9R                  5       nUR                  R                  S5      nUR                  R                  S5      nUR                  XE/5      R                  5       n[        R
                  " X6SS9  UR                  R                  UR                  R                  S S :X  d   eUR                  UR                  R                  S S S9R                  5       n[        R
                  " X75        g )Nr   r   r   Fr   rK   )r   meanr   rR   r   r   ra   )r"   r#   r$   r&   k1k2r'   result2s           r*   test_groupby_multilevel&TestMultiLevel.test_groupby_multilevel   s    =Aq6*//1YY''*YY''*;;x(--/ 	fEB||!!SYY__Ra%8888++CIIOOBQ$7+8==?
f.r;   c                     [         R                  " / SQ5      n[        [        R                  R                  S5      R                  S5      XS9nUR                  S5      US'   UR                  5       ng )N)r/   )r0   r\   r2   )r3   r\   rK   )rb   rb   )r   r   r   )Totals )	r   r   r   rh   ri   rj   standard_normalr   _consolidate)r"   r   rl   s      r*   test_multilevel_consolidate*TestMultiLevel.test_multilevel_consolidate   s`    &&L
 II!!!$44V<E
 66!9<__r;   c                    [        / SQSS/// SQ/ SQ/S9n[        [        R                  R	                  S5      R                  S5      US	9n[        [        R                  R	                  S5      R                  S
5      US	9nUS   nUR                  S   nUS S nUR                  R                  S5      Ul        [        R                  " XF5        [        R                  " XV5        [        R                  " [        SS9   US     S S S 5        UR                  S   nUR                  S5      nUS S nUR                  R                  S5      Ul        [        R                   " XF5        [        R                   " XV5        [        / SQSS/// SQ/ SQ/S9n[        [        R                  R	                  S5      R                  S5      US	9n[        [        R                  R	                  S5      R                  S
5      US	9nUS   nUR                  S   nUS S nUR                  R                  S5      Ul        [        R                  " XF5        [        R                  " XV5        UR                  S   nUR                  S5      nUS S nUR                  R                  S5      Ul        [        R                   " XF5        [        R                   " XV5        g ! , (       d  f       GN= f)N)r0   r3   r   )r0   r[   r   )r0   quxr   r   r   )r   r   r   r   rK   rK   )r   r   r   r   r   r   )r_   r`   rK   rv   r   )rv   rb   r   z^\(\('foo', 'bar', 0\), 2\)$r   )r   rK   )r0   r3   )r0   r[   )r0   r   r   )r   r   rh   ri   rj   r   r   r5   r   	droplevelr   r   pytestraisesKeyErrorxsr   )r"   r   seriesr7   r&   r   r'   s          r*   test_level_with_tuples%TestMultiLevel.test_level_with_tuples   sj   MPQSTvV%'9:

 		--a0@@C5Q"))//2BB6JRWX)***./"1:!11!4
v0
w1]]8+JK'( L ,-((,-!9!11!4
f/
g0Dq!fM%'9:

 		--a0@@C5Q"))//2BB6JRWX'**^,"1:!11!4
v0
w1>*((>*!9!11!4
f/
g0= LKs   K
K(c                    UnUR                  SS/SS9nUR                  / SQ   n[        R                  " X45        UR                  R                  SS/SSS9n[        R                  " X4R                  5        UR
                  SS/   n[        R                  " X45        US   R
                  SS/   n[        R                  " X4S   5        UR                  R
                  S S 2SS/4   n[        R                  " X4R                  5        g )	Nr0   r   r   r   )r   r   rK   rw   rx   ry   r   r   r   )r   r4   r   r   r!   r5   r   )r"   r6   r7   r&   r'   s        r*   $test_reindex_level_partial_selection3TestMultiLevel.test_reindex_level_partial_selection   s    0u~Q7::01
f/%aqA
fjj1E5>*
f/s/
v}5Q./
fjj1r;   rg   rb   c                     / SQn[        S/S/S/U/S.5      nX3R                  S:H     R                  U5      nUR                  5       R                  n[        S/S/S/// / / // SQS9n[        R                  " XV5        g )N)rd   re   rf   r   rK   r.   rc   r^   )r   rd   r   firstr   r   r   assert_index_equal)r"   rg   rH   rl   gr&   r'   s          r*   +test_empty_frame_groupby_dtypes_consistency:TestMultiLevel.test_empty_frame_groupby_dtypes_consistency   s     %
aSs!A3?@ttqyM!!*-C!qc?2r2,o
 	f/r;   c                     / SQn/ SQn[         R                  " USS/S9n[        X#S9nUR                  UR                  5      R                  5       n[        U5      S:X  d   eg )N))60080920061231r   20070331)r   20070630r   )demor   r   r   STK_IDRPT_Date)ra   r   r.   )r   r   r   r   r   r   len)r"   idx_tpdtidxrT   r&   s         r*   test_duplicate_groupby_issues,TestMultiLevel.test_duplicate_groupby_issues  s^    
 .$$VHj3IJ2!177#))+6{ar;   c                     SS//nSS[         R                  4S/n[        U[        R                  " U5      S9nUR
                  R                  R                  nUR                  R                  R
                  n[        R                  " XT5        g )NrN   r   rd   re   )rd   rf           r>   )
rh   nanr   r   r   dtypesrd   re   r   r   )r"   r   r   rl   r'   r&   s         r*   test_subsets_multiindex_dtype,TestMultiLevel.test_subsets_multiindex_dtype  si    azbff%7tZ%;%;G%DE99;;==
v0r;   c                 .   S[         R                  " SSS5      4SSS.S[         R                  " SSS5      4SS	S.S[         R                  " SSS5      4SS
S.S[         R                  " SSS5      4SSS.0n[        R                  " USS9n/ SQ/ SQS.n/ SQ[         R                  " SSS5      [         R                  " SSS5      [         R                  " SSS5      [         R                  " SSS5      //n[        X4S9n[        R
                  " X%5        g )Nr   i  r.   r   r=   )r   r   rb   rK   rz   r{      r   )orient)r   rK   r.   rb   )r=   rz   r{   r   )r   r   r   r   r   )datetimedater   	from_dictr   r   )r"   data_dicr&   r   r   r'   s         r*   test_datetime_object_multiindex.TestMultiLevel.test_datetime_object_multiindex  s   dAq)*!",=dAq)*!",=dAq)*!",=dAq)*!",=	
 $$Xg>!(89dAq)dAq)dAq)dAq)	
 $4
f/r;   c           	      L   [        S[        R                  SS// SQ/ SQ// SQS9R                  SS	/5      nS
UR                  S'   [        S[        R                  SS// SQ/ SQSS[        R                  S
/// SQS9R                  SS	/5      n[
        R                  " X5        g )Nr   Gz?=
ףp=@)r   Gr   r   )r   Dg=
ףp#@gGz%@)pivot_0pivot_1col_1col_2r>   r   r   r   ))r   Fr   r   )r   rh   r   	set_indexatr   r   )r"   rl   r'   s      r*   test_multiindex_with_na&TestMultiLevel.test_multiindex_with_na1  s    bffdD)&'
 =
 )Y	*
+ 	 &)!"bffdD)&'c2663'	 =
 )Y	*
+ 	 	b+r;   rL   N)__name__
__module____qualname____firstlineno__r+   r9   rE   rX   rm   r   r   r   r   r   r   r   r   markparametrizer   r   r   r   r   __static_attributes__rL   r;   r*   r   r      s}    023/2D"6*9)(/".1`2& [[S1c(+0 ,0 10,,r;   r   c                       \ rS rSrSrS rSrg)
TestSortediJ  z+everything you wanted to test about sortingc                    [        / SQ/ SQ// SQ/ SQ/5      n[        S[        [        U5      5      0USS9nUR                  R
                  SL d   eUR                  5       nUR                  R
                  S	L d   e[        S/ S
Q0[         R                  " / SQ5      SS9nUR                  [        R                  SS2SS24   S S 24   n[        R                  " XT5        g )N)r   r   C)rf   re   rd   )r   r   rK   r   r   rK   )r   rK   r   r   r   rK   colint64)r   dtypeFT)r   rb   ru   rK   ))r   rd   )r   rf   )r   rd   )r   re   r   r   rd   rf   )r   r   ranger   r   is_monotonic_increasing
sort_indexr   r5   pd
IndexSlicer   r   )r"   r   rl   sortedr'   r&   s         r*   test_sort_non_lexsorted"TestSorted.test_sort_non_lexsortedM  s     o.1CEW0X
 uSX/s'Jxx//5888||33t;;;L!((@ 
 BMM#c'3s7*:;Q>?
f/r;   rL   N)r   r   r   r   __doc__r   r   rL   r;   r*   r   r   J  s
    50r;   r   )r   numpyrh   r   pandasr   r   r   r   pandas._testing_testingr   r   r   rL   r;   r*   <module>r     s7        
 x, x,v	0 0r;   