
    d                     v   d dl Zd dlZd dlZd dl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j        ddgd           ej        g ddd
g          fg          d             Zd Zd ZdS )    N)	DataFrame
MultiIndexSeriesc                  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       d/var/www/html/t/fyr/venv311/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          |           }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       e   f   g      @r!   )catr*   r*   dogr+   )ar,   br,   r-   )r%   皙?333333??ffffff?r0   r.   r1   r/   r*   r+   )r&   r,   r    r,   r!   r-   r-   r    )r   r   r   r   r   r   nantmassert_frame_equalTrandomrandnvalues
sort_indexfrom_arraysfrom_tuplesr   )
r   s	unstackedexpected	exp_indexidxtsleftrighttplss
             r   test_unstackrH      sL    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!!///A'''!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                  H   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          j        g dd
                    }t          j	        ||           d S )N)r,   r-   c)r    r!      Ar,   )Br-   namesr    r$   )r    r    r    )r,   r-   )rJ   namer&   r   )
r   r   r   r   r   r>   pdIndexr6   r7   )rC   r   resultrA   s       r   $test_unstack_tuplename_in_multiindexrY   T   s    

!	)))$Z,D  C #


C[[$$F	IIIyyy)&'?'?'?
|TTThyyyz222  H
 &(+++++r   z>unstack_idx, expected_values, expected_index, expected_columnsrL   r    ))r    rK   )r       )r!   rK   )r!   rZ   rN   CrO   rQ   rR   )rL   rN   )r    r    r    r    rK   rZ   rS   )r2   r3   r4   )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!   rK   rZ   )rL   rN   r[   rO   r$   rU   )r   r   r   r   r   r6   r7   )unstack_idxexpected_valuesexpected_indexexpected_columnsrC   r   rX   rA   s           r   *test_unstack_mixed_type_name_in_multiindexra   d   s    . 
!
saVaV$,B,B,B  C #


C[[%%F!1  H &(+++++r   c                     t          j                                                    j                            ddg          } t          dgt          |           z  | dd          }|                                }|j        j        d         }t          j
        dgt          |          z            }t          |                                |                                |                                |                                dt          j        t          d          d	          |                    d          
          }t          j        ||           d S )Nmajorminorr   category)r   rT   r   r   )rM   rN   r[   DABCDrS   rU   )r6   makeTimeDataFramestackr   renamer   lenr   r"   rV   Categoricalr   copyrW   listr7   )r   r   rX   dtirJ   rA   s         r   +test_unstack_multi_index_categorical_valuesrp      s   					%	%	'	'	-	4	4gw5G	H	HB
%3r77"":Z
P
P
PC[[]]F
)
1
C
wS)**AffhhQVVXXAFFHH16688DDfG444jj!!  H
 &(+++++r   c            	      H   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          j        dgd	
          t          j        ddgddg                    }t          j	        ||           d S )Nr,   r    r!   redblue)xr   yrO   r$   rt   rS   )r    rr   )r!   rs   r   ru   rU   )
r   r=   r   r   r   rV   rW   r>   r6   r7   )arraysrC   r   rX   rA   s        r   test_unstack_mixed_level_namesrw      s    Cj1a&5&/2F

 }
=
=
=C
!Qs
#
#
#C[[F
qc
#S)))$j+%>q#hOOO  H
 &(+++++r   )numpyr   pytestpandasrV   r   r   r   pandas._testing_testingr6   r   rH   rY   markparametrizer>   rW   ra   rp   rw    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		
 \\<<<(BHaV#&&&"J"888S@Q  		
 &, ,' &, , , , , , , , ,r   