
    bMh                     t   d dl Zd dlZd dlZd dlmZmZmZmZm	Z	 d dl
mZ d Zd Zd Zej                            ddddgddgddgddgg ej        g d	d
dg           ej        ddgdg          fdg dg dg eddgd           ej        g ddd
g          fg          d             Zd Zd ZdS )    N)	DataFrameIndex
MultiIndexSeries
date_rangec                  p   t          j        ddgddgg          } t          t          j        d          | t
                    }|                                }|j        t
          k                                    sJ |                    d          }|j        t
          k                                    sJ d S )	Nbarfooonetwo      @)indexdtyper   level)	r   from_productr   nparangeobjectunstackdtypesall)miserres1res2s       h/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/series/methods/test_unstack.pytest_unstack_preserves_objectr      s    		 5%.5%.!A	B	BB
3r
8
8
8C;;==DK6!&&(((((;;Q;DK6!&&(((((((    c            	      <   t          ddgg dgg dg dg          } t          t          j        d          |           }|                                }t          d	t          j        d
gddt          j        ggddgg d          }t          j        ||           |                    d          }t          j        ||j	                   t          dgg dddggg dg dg dg          } t          t          j
                            d                              d          |           }t          g dddggg dg dg          }t          d|j        i|                              d          }|                    d                                          }t          j        ||           t          j        ddgdt          j        gg          }t          ddg|          }|                                }t          t          j        dgdt          j        ggddgt          j        dg          }t          j        ||           t          j        g dg dddddt          j        gg          }t          g d|          }t          ddgdt          j        gt          j        dgd t          j        ggd!d"g#          }d$d%d&t          j        fd'g}	t          j        |	          |_        t          j        |                    d          |           d S )(Nr	   r
   )r   threer   )   r"   r   r   )r   r"   r      )levelscodesr   r   g       @g      @g              ?)r   columnsr   r   )r   r   r!   r"   )r   r   r   r   r   r   )r   r"   r#   r   r"   r#   )r   r"   r   r"   r   r"   r#      e   f   g      @)catr,   r,   dogr-   )ar.   br.   r/   )r'   皙?333333??ffffff?r2   r0   r3   r1   r,   r-   )r(   r.   r"   r.   r#   r/   r/   r"   )r   r   r   r   r   r   nantmassert_frame_equalTrandomdefault_rngstandard_normalvalues
sort_indexfrom_arraysfrom_tuplesr   )
r   s	unstackedexpected	exp_indexidxtsleftrighttplss
             r   test_unstackrK      s\    7 7 78||\\\*  E
 	ry~~U+++A		I
rvs	c3/0en'''  H )X...			""I)XZ0000001a&9!!!#5#5#57I7I7IJ  E 	ry$$Q''77::%HHHA'''!Q0!!!#5#5#56  I %*)<<<GGaGPPH		!''))I)X... 
 3*sBFm!<
=
=C	Ac	"	"	"B::<<D
&!q"&k"3*rvsm  E $&&&

 ///%%%1a 	
 C 
)))	5	5	5B
sc26]RVSMC=A  E hbfx8D(..EK"**1*--u55555r   c                  >   t          j        g dg dgddg          } t          d|           }|                    d          }t	          g dg dg dgt          j        g d	dg          t          g dd
                    }t          j        ||           d S )N)r.   r/   c)r"   r#      Ar.   )Br/   namesr"   r&   )r"   r"   r"   )r.   r/   )rM   namer(   r   )	r   r   r   r   r   rA   r   r8   r9   )rF   r   resultrD   s       r   $test_unstack_tuplename_in_multiindexrZ   V   s    

!	)))$Z,D  C #


C[[$$F	IIIyyy)&'?'?'?
|TTTIIIJ///  H
 &(+++++r   z>unstack_idx, expected_values, expected_index, expected_columnsrO   r"   ))r"   rN   )r"      )r#   rN   )r#   r[   rQ   CrR   rT   rU   )rO   rQ   )r"   r"   r"   r"   rN   r[   rV   )r4   r5   r6   )r/   r#   c                     t          j        ddgddgddggg d          }t          d|	          }|                    |           }t	          |||
          }t          j        ||           d S )Nr.   r/   r"   r#   rN   r[   )rO   rQ   r\   rR   r&   rX   )r   r   r   r   r   r8   r9   )unstack_idxexpected_valuesexpected_indexexpected_columnsrF   r   rY   rD   s           r   *test_unstack_mixed_type_name_in_multiindexrb   f   s    . 
!
saVaV$,B,B,B  C #


C[[%%F!1  H &(+++++r   c            	      b   t          t          j                            d                              d          t          t          d                    t          ddd                    } |                     d	
          j	        
                    ddg          }t          dgt          |          z  |dd          }|                                }|j	        j        d         }t          j        dgt          |          z            }t          |                                |                                |                                |                                dt          t          d          d          |
                    d                    }t%          j        ||           d S )Nr#   )
   r[   ABCDz
2000-01-01rd   rQ   )periodsfreqrX   T)future_stackmajorminorr
   category)r   rW   r   r   )rP   rQ   r\   DrV   )r   r   r;   r<   r=   r   listr   stackr   renamer   lenr   r$   pdCategoricalcopyr8   r9   )dfr   r   rY   dtirM   rD   s          r   +test_unstack_multi_index_categorical_valuesrv      sc   	
	a  0099d6ll##r<<<
 
 
B
 
t	$	$	*	1	17G2D	E	EB
%3r77"":Z
P
P
PC[[]]F
)
1
C
wS)**AffhhQVVXXAFFHH16688DDd6ll111jj!!  H
 &(+++++r   c            	      >   ddgddgddgg} t          j        | d          }t          ddg|          }|                    d	          }t	          dgdggt          dgd	
          t          j        ddgddg                    }t          j        ||           d S )Nr.   r"   r#   redblue)xr   yrR   r&   rz   rV   )r"   rx   )r#   ry   r   r{   rX   )	r   r@   r   r   r   r   rA   r8   r9   )arraysrF   r   rY   rD   s        r   test_unstack_mixed_level_namesr}      s    Cj1a&5&/2F

 }
=
=
=C
!Qs
#
#
#C[[F
qc
se#&&&$j+%>q#hOOO  H
 &(+++++r   )numpyr   pytestpandasrq   r   r   r   r   r   pandas._testing_testingr8   r   rK   rZ   markparametrizerA   rb   rv   r}    r   r   <module>r      s                              	) 	) 	)86 86 86v, , ,  D VaVaVaV,"J"#C#C#CCQT:VVV"J"FF#3J<HHH		
 \\<<<(E1a&s###"J"888S@Q  		
 &, ,' &, , , ,*, , , , ,r   