
    .i"                        d dl Zd dlZd dlmZ d dlZd dlmZmZ d dl	m
Z ej                  j                  ddgdddej                  gej                  d	gd
ej                  gej                  dgdej                  gej                  dgdej                  gej                  dgg eddgd       eg dd      fdgdej                  d	ej                  d	ej                  dej                  gej                  d	ej                  d	ej                  d	gd	ej                  d
ej                  d
ej                  gej                  d	ej                  d
ej                  dgd
ej                  d	ej                  dej                  gej                  d
ej                  d	ej                  dgd
ej                  d
ej                  dej                  gej                  d
ej                  d
ej                  dgg ej                   g dddg       eg dd      fddgddd dgddgddgddgg eddgd       ej                   g dddg      fddgdej                  g dg dg d g d!g ej                   g d"ddg       ej                   g dddg      fg      d#        Zej                  j                  dddgddej                  gej                  d	gd
ej                  gej                  dgdej                  gej                  dgdej                  gej                  dgg eddgd       eg dd      fddgdgdd dgddgddgddgg eddgd       ej                   g dddg      fdgddgdg d$g d%g ej                   g dddg       eddgd      fddgddgddd	ej                  ej                  ej                  ej                  ej                  ej                  gej                  ej                  d
dej                  ej                  ej                  ej                  gej                  ej                  ej                  ej                  ddej                  ej                  gej                  ej                  ej                  ej                  ej                  ej                  ddgg ej                   g d&ddg       ej                   g dddg      fg      d'        Zd( Zd) Zej                  j                  d*d+d,d-gd.ej                  d/ej                  gej                  d/ej                  d0gg ed1d2gd+3       ej*                  g d4g d5gd,d-g6      fd+d-gd,d.ej                  gej                  d/gd/ej                  gej                  d0gg ej*                  g d7g d5gd+d-g6       eddgd,3      fgd8d9g:      d;        Zy)<    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                     t        j                  g dg dg dg dg dd      }|j                  | ||      }t        j                  |||      }t        j                  ||       y 	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	            h/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/reshape/test_pivot_multilevel.pytest_pivot_list_like_indexr6      se    d 
,,,,.	

B XXK|XTF||!1H &(+    )r   r   r   r   )r   r   r   r   )r   r    )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   c                     t        j                  g dg dg dg dg dd      }|j                  | ||      }t        j                  |||      }t        j                  ||       y r"   r%   r+   s	            r5   test_pivot_list_like_columnsr9   q   se    L 
,,,,.	

B XXK|XTF||!1H &(+r7   c            	         t        j                  t        j                  d      j	                  dd      t        j                  g dddg      t        j                  g dg d	      
      } | j                  dgdgdgd       }t        j                  dt        j                  gddggt        j                  ddgg d      t        ddgdd      
      }|j                  d      }t        j                  ||       y )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    | j                   j                         S )N)r   sum)cols    r5   <lambda>z7test_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_colsrT      s     
YYr]""1a(&&$Xx,@
 $$80
	
B ..j
x,	  C ||"&&kB9%&&	"*H
 QF'9H y)H#x(r7   c                     t        j                  g dg dg dg dgg d      } | j                  ddg      } | j                  d	d
      }t        j                  dt        j
                  gt        j
                  dgdt        j
                  gt        j
                  dgg| j                  t        ddgd	            }t        j                  ||       y )N)AA1label1r   )rV   A2label2r   )BrW   rX   r   )r[   rY   rZ   r   )index_1index_2labelvalue)r$   r\   r]   r^   r_   )r$   r   r	   r
   r   r   rX   rZ   r   )r#   r$   )
r&   r'   	set_indexr(   rL   rQ   r#   r   r)   r*   )r2   r3   r4   s      r5   #test_pivot_df_multiindex_index_nonera      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@rV   r[   )rB   r   )r   r   r   r   )2   d   rc      )arraysr   )rV   rV   r[   r[   zvalues-and-columnszvalues-and-index)idsc                     g dg dg dg dg}t        j                  |g d      }|j                  d| |      }t        j                  |||	      }t        j                  ||       y )
N)rV   r   rb   )r[   r   rc   )rV   r   rc   ri   )r[   r   rd   )r#   rE   r_   extra)rB   r$   r_   )r   r#   r$   )rB   r#   r$   )r&   r'   rP   r)   r*   )	r#   r$   e_datae_indexe_colsrB   r2   r3   r4   s	            r5   0test_pivot_table_multiindex_values_as_two_paramsro      sa    L 		D 
4)K	LB^^7%^IF||wGH&(+r7   )numpyrL   pytestpandas._libsr   pandasr&   r   r   pandas._testing_testingr)   markparametrizerQ   
no_defaultrO   r6   r9   rT   ra   from_arraysro    r7   r5   <module>r{      sJ        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	 #J"" Vn
 *83	
8 VVaVaVaV,1a&v&"J""08H		
 VNN<|D"J""HVn #J""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&"J""08H		
 HV<("J""08H 1a&v&		
 VVc266266266266266266Jc266266266266Jc266266JcJ	 #J""Pv& #J""08H	
M8<z,{<z,4)B,, - Grvvubff-. Sz0"J""$&9:5'BR	
 grvv	 #J"",.AB( 1vE*	
: 
12?   B,C B,r7   