
    Owg                     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                   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y)    N)	DataFrameIndex
MultiIndexSeries
date_rangec                  T   t        j                  ddgddgg      } t        t        j                  d      | t
              }|j                         }|j                  t
        k(  j                         sJ |j                  d      }|j                  t
        k(  j                         sJ y )	Nbarfooonetwo      @)indexdtyper   level)	r   from_productr   nparangeobjectunstackdtypesall)miserres1res2s       _/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/series/methods/test_unstack.pytest_unstack_preserves_objectr      s    		 	 5%.5%.!A	BB
3r
8C;;=DKK6!&&(((;;Q;DKK6!&&(((    c            	          t        ddgg dgg dg dg      } t        t        j                  d      |       }|j	                         }t        d	t        j                  d
gddt        j                  ggddgg d      }t        j                  ||       |j	                  d      }t        j                  ||j                         t        dgg dddggg dg dg dg      } t        t        j                  j                  d      j                  d      |       }t        g dddggg dg dg      }t        d|j                  i|      j                  d      }|j	                  d      j                         }t        j                  ||       t        j                  ddgdt        j                  gg      }t        ddg|      }|j	                         }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                  |j	                  d      |       y )(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8\*E
 	ryy~U+A		I
rvvs	c3/0en'H )X.			"I)XZZ001a&9!#57IJE 	ryy$$Q'77:%HA'!Q0!#56I %*)<GGaGPH		!'')I)X. 
 
 3*sBFFm!<
=C	Ac	"B::<D
&&!q"&&k"3*rvvsmE $&

 
 /%1a 	
C 
)	5B
sc266]RVVSMC=AE hbffx8D((.EK"**1*-u5r   c                  "   t        j                  g dg dgddg      } t        d|       }|j                  d      }t	        g dg dg dgt        j
                  g d	dg      t        g dd
            }t        j                  ||       y )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	Iy)&&'?
|TIJ/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|	      }|j                  |       }t	        |||
      }t        j                  ||       y )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   sm    . 
!
!
saVaV$,BC #
C[[%F!1H &(+r   c            	         t        t        j                  j                  d      j	                  d      t        t        d      t              t        ddd      	      } | j                  d
      j                  j                  ddg      }t        dgt        |      z  |dd      }|j                         }|j                  j                  d   }t!        j"                  dgt        |      z        }t        |j%                         |j%                         |j%                         |j%                         dt        t        d      d      |j                  d      	      }t'        j(                  ||       y )Nr#   )
   r[   ABCD)r   z
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   r   stackr   renamer   lenr   r$   pdCategoricalcopyr8   r9   )dfr   r   rY   dtirM   rD   s          r   +test_unstack_multi_index_categorical_valuesrv      s   	
		a 009d6l&1r<
B
 
t	$	*	*	1	17G2D	EB
%3r7"":Z
PC[[]F
))

1
C
wS)*AffhQVVXAFFH1668Dd6l1jj!H
 &(+r   c            	      "   ddgddgddgg} t        j                  | d      }t        ddg|      }|j                  d	      }t	        dgdggt        dgd	
      t        j                  ddgddg            }t        j                  ||       y )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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6v,  D VaVaVaV,"J""#CCQT:V"J""FF#3J<H		
 <(1a&s#"J""8S@Q		
&,'&, ,*,r   