
    A>i"                     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\R                  R                  S*S+S,S-/S.\R                  S/\R                  /\R                  S/\R                  S0//\" S1S2/S+S39\R*                  " / S4Q/ S5Q/S,S-/S694S+S-/S,S.\R                  /\R                  S//S/\R                  /\R                  S0//\R*                  " / S7Q/ S5Q/S+S-/S69\" SS/S,S394/S8S9/S:9S; 5       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	            i/var/www/html/land-tabula/venv/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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*   )r2   resr4   s      r5   %test_pivot_multiindexed_rows_and_colsrU      s     
YYr]""1a(&&$Xx,@
 $$80
	
B ..j
x,	  C ||"&&kB9%&&	"*H
 QF'9H y)H#(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   )rW   A2label2r   )BrX   rY   r   )r\   rZ   r[   r   )index_1index_2labelvalue)r$   r]   r^   r_   r`   )r$   r   r	   r
   r   r   rY   r[   r   )r#   r$   )
r&   r'   	set_indexr(   rM   rR   r#   r   r)   r*   )r2   r3   r4   s      r5   #test_pivot_df_multiindex_index_nonerb      s    	$$$$		
 9
B 
y),	-BXXggX6F||
rvvRVV}rvvsmDhhx*9H
 &+r7   z'index, columns, e_data, e_index, e_colsr#   rE   r`   g      I@g      Y@g      i@rW   r\   )rB   r   )r   r   r   r   )2   d   rd      )arraysr   )rW   rW   r\   r\   zvalues-and-columnszvalues-and-index)idsc                     / SQ/ SQ/ SQ/ SQ/n[         R                  " U/ SQS9nUR                  SXS9n[         R                  " X#US	9n[        R                  " Xx5        g )
N)rW   r   rc   )r\   r   rd   )rW   r   rd   rj   )r\   r   re   )r#   rE   r`   extra)rB   r$   r`   )r   r#   r$   )rB   r#   r$   )r&   r'   rQ   r)   r*   )	r#   r$   e_datae_indexe_colsrB   r2   r3   r4   s	            r5   0test_pivot_table_multiindex_values_as_two_paramsrp      s[    L 		D 
4)K	LB^^7%^IF||GH&+r7   )numpyrM   pytestpandas._libsr   pandasr&   r   r   pandas._testing_testingr)   markparametrizerR   
no_defaultrP   r6   r9   rU   rb   from_arraysrp    r7   r5   <module>r|      s6        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)B,, - Grvvubff-. Sz0""$&9:5'BR	
 grvv	 "",.AB( 1vE*	
: 
12?   B,C B,r7   