
    Mh}                     	   S SK rS SKrS SKJr  S SKrS SKJrJr  S SK	J
r  \R                  R                  SS/SSS\R                  /\R                  S	/S
\R                  /\R                  S/S\R                  /\R                  S/S\R                  /\R                  S//\" SS/SS9\" / SQSS94S/S\R                  S	\R                  S	\R                  S\R                  /\R                  S	\R                  S	\R                  S	/S	\R                  S
\R                  S
\R                  /\R                  S	\R                  S
\R                  S/S
\R                  S	\R                  S\R                  /\R                  S
\R                  S	\R                  S/S
\R                  S
\R                  S\R                  /\R                  S
\R                  S
\R                  S//\R                   " / SQSS/S9\" / SQSS94SS/SSS S/SS/SS/SS//\" SS/SS9\R                   " / SQSS/S94SS/S\R                  / SQ/ SQ/ S Q/ S!Q/\R                   " / S"QSS/S9\R                   " / SQSS/S94/5      S# 5       r\R                  R                  SSS/SS\R                  /\R                  S	/S
\R                  /\R                  S/S\R                  /\R                  S/S\R                  /\R                  S//\" SS/SS9\" / SQSS94SS/S/SS S/SS/SS/SS//\" SS/SS9\R                   " / SQSS/S94S/SS/S/ S$Q/ S%Q/\R                   " / SQSS/S9\" SS/SS94SS/SS/SSS	\R                  \R                  \R                  \R                  \R                  \R                  /\R                  \R                  S
S\R                  \R                  \R                  \R                  /\R                  \R                  \R                  \R                  SS\R                  \R                  /\R                  \R                  \R                  \R                  \R                  \R                  SS//\R                   " / S&QSS/S9\R                   " / SQSS/S94/5      S' 5       rS( rS) rg)*    N)lib)Index
MultiIndexz[input_index, input_columns, input_values, expected_values, expected_columns, expected_indexlev4lev3valuesg              ?       @      @      @g      @g      @      @      namer   r                     ))lev1r   )r   r   )lev2r   )r   r   r   r   r   r   namesr   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   r   )r   r   r   r   ))r   r   )r   r   r   r   c                     [         R                  " / SQ/ SQ/ SQ/ SQ/ SQS.5      nUR                  XUS9n[         R                  " X4US9n[        R                  " Xx5        g 	N)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   )r   r   r   r   r   r   r   r   )r   r   r   r   r   )indexcolumnsr   )r$   r#   pd	DataFramepivottmassert_frame_equal	input_indexinput_columnsinput_valuesexpected_valuesexpected_columnsexpected_indexdfresultexpecteds	            \/var/www/html/env/lib/python3.13/site-packages/pandas/tests/reshape/test_pivot_multilevel.pytest_pivot_list_like_indexr6      s^    d 
,,,,.	

B XXK|XTF||H &+    )r   r   r   r   )r   r   r   r   )r   r    )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   c                     [         R                  " / SQ/ SQ/ SQ/ SQ/ SQS.5      nUR                  XUS9n[         R                  " X4US9n[        R                  " Xx5        g r"   r%   r+   s	            r5   test_pivot_list_like_columnsr9   q   s^    L 
,,,,.	

B XXK|XTF||H &+r7   c           
         [         R                  " [        R                  " S5      R	                  SS5      [
        R                  " / SQSS/S9[
        R                  " / SQ/ S	QS9S
9nUR                  S/S/S/S S9n[         R                  " S[        R                  /SS//[
        R                  " SS// SQS9[        SS/SSS9S
9nU (       d  UR                  S5      n[        R                  " X#5        g )N   r   r   ))r   r   r   r   )r   r   col_L0col_L1r   ))r   r   r   )r   r   r   )r   r   r   )r   r   r   )idx_L0idx_L1idx_L2)datar$   r#   r?   r@   r<   c                 6    U R                   R                  5       $ )N)r   sum)cols    r5   <lambda>7test_pivot_multiindexed_rows_and_cols.<locals>.<lambda>   s    CJJNN,r7   )r#   r$   r   aggfuncr   
   r   )r   r   r   )r   r   r   )r=   r>   r@   r   r   int64)dtyper   float64)r&   r'   nparangereshaper   from_tuplespivot_tablenanr   astyper)   r*   )using_array_managerr2   resr4   s       r5   %test_pivot_multiindexed_rows_and_colsrV      s     
YYr]""1a(&&$Xx,@
 $$80
	
B ..j
x,	  C ||"&&kB9%&&	"*H
 QF'9H ??9-#(r7   c            	         [         R                  " / SQ/ SQ/ SQ/ SQ// SQS9n U R                  SS/5      n U R                  S	S
S9n[         R                  " S[        R
                  /[        R
                  S/S[        R
                  /[        R
                  S//U R                  [        SS/S	S9S9n[        R                  " X5        g )N)AA1label1r   )rX   A2label2r   )BrY   rZ   r   )r]   r[   r\   r   )index_1index_2labelvalue)r$   r^   r_   r`   ra   )r$   r   r	   r
   r   r   rZ   r\   r   )r#   r$   )
r&   r'   	set_indexr(   rM   rR   r#   r   r)   r*   )r2   r3   r4   s      r5   #test_pivot_df_multiindex_index_nonerc      s    	$$$$		
 9
B 
y),	-BXXggX6F||
rvvRVV}rvvsmDhhx*9H
 &+r7   )numpyrM   pytestpandas._libsr   pandasr&   r   r   pandas._testing_testingr)   markparametrizerR   
no_defaultrP   r6   r9   rV   rc    r7   r5   <module>rn      s        8 Hbffbffbffbff	 1a&v&*8	
$ HNNbffc26637bffc26637bffc26637bffc26637bffc26637bffc26637bffc26637bffc26637	 "" Vn
 *83	
8 VVaVaVaV,1a&v&""08H		
 VNN<|D""HVn ""08H	
oDHR,SHR,4 8 Hbffbffbffbff	 1a&v&*8	
$ VHVaVaVaV,1a&v&""08H		
 HV<(""08H 1a&v&		
 VVc266266266266266266Jc266266266266Jc266266JcJ	 ""Pv& ""08H	
M8<z,{<z,4 )F,r7   