
    Mh                     "   S SK r S SKrS SKrS SKrS SKJrJrJrJ	r	J
r
Jr  S SKJr  \R                  S 5       r\R                  S 5       r\R                  S 5       r\R                  S 5       r " S S5      r " S	 S
5      r " S S5      rS rg)    N)	DataFrameIndex
date_rangelreshapemeltwide_to_longc            
      P   [        [        R                  R                  S5      R	                  S5      [        [        S5      [        S9[        SSSS9S	9n U S
   S:  R                  [        R                  5      U S'   U S   S:  R                  [        R                  5      U S'   U $ )N   )
      ABCDdtypez
2000-01-01r   B)periodsfreqcolumnsindexAr   id1id2)r   nprandomdefault_rngstandard_normalr   listobjectr   astypeint64ress    P/var/www/html/env/lib/python3.13/site-packages/pandas/tests/reshape/test_melt.pydfr$      s    

		a 009d6l&1r<C
 c(Q,&&rxx0CJc(Q,&&rxx0CJJ    c                      [        / SQ/ SQ/ SQ/5      n [        S5      [        S5      /U l        SS/U R                  l        U $ )N)5:?StgKԲ?)Uy$> M?gK)i<8b->?ghBĒABCabcCAPlow)r   r   r   namesr!   s    r#   df1r2      sE    
*,+	
C ;U,CKCKKJr%   c                      g)Nvar r5   r%   r#   var_namer6   ,       r%   c                      g)Nvalr5   r5   r%   r#   
value_namer:   1   r7   r%   c                   T   \ rS rSrS rS rS rS r\R                  R                  S\\\R                  45      S 5       rS r\R                  R                  S	S
/S/S\" SSSS.SSSS.SSSS.S.5      4S/S/S\" SSSS.SSSS.SSSS.S.5      4/5      S 5       r\R                  R                  SSS//S/S/SS//5      S 5       rS rS rS  r\R                  R                  S!SS"/5      S# 5       rS$ r\R                  R                  S%\R4                  " \" S&S'S(S)95      \R4                  " / S*QS+S,9\R4                  " / S-Q5      /5      S. 5       rS/ rS0 rS1 rS2 r S3 r!S4 r"S5 r#S6 r$\R                  R                  S7S8S9/5      S: 5       r%S; r&S< r'S= r(S> r)S? r*S@r+gA)BTestMelt6   c                 ^    [        U5      nUR                  R                  5       SS/:X  d   eg )Nvariablevaluer   r   tolist)selfr$   results      r#   test_top_level_methodTestMelt.test_top_level_method7   s+    b~~$$&:w*????r%   c           	      |   [         R                  " UR                  5       [        U5      5        [         R                  " UR                  SS/SS/S9[        USS/SS/S95        [         R                  " UR                  X4S9[        XUS95        [         R                  " UR                  SS9[        USS95        g )	Nr   r   r   r   id_vars
value_varsr6   r:   r   	col_level)tmassert_frame_equalr   )rC   r$   r2   r6   r:   s        r#   test_method_signaturesTestMelt.test_method_signatures;   s    
bggib2
GGUENSzGBeU^c
C	

 	GGXG=:>	

 	chhh3T#5KLr%   c                 2   UR                  5       nUR                  R                  5       SS/:X  d   eUR                  S/S9nUR                  R                  5       / SQ:X  d   eUR                  SS/S9nUR                  R                  5       / SQ:X  d   eg )Nr?   r@   r   )rI   )r   r?   r@   r   r   r   r?   r@   rA   )rC   r$   rD   result1result2s        r#   test_default_col_namesTestMelt.test_default_col_namesJ   s    ~~$$&:w*????''5''*%%'+GGGG''5%.'1%%'+NNNNr%   c                 p   UR                  SS/SS9n[        U5      S:X  d   eUR                  SS/SS/S9n[        US   R                  5       S-  US   R                  5       S-  S/S-  S/S-  -   US   R                  5       US   R                  5       -   S./ SQS	9n[        R
                  " X45        g )
Nr   r   r   rH   r   r   r
   rS   r   )r   lenr   rB   rN   rO   )rC   r$   result3result4	expected4s        r#   test_value_varsTestMelt.test_value_varsT   s    ''5%.S'A7|r!!!''5%.c3Z'H%y'')A-%y'')A- EBJ#3S'..*RW^^-==	 8
	 	g1r%   type_c                 2   [        US   R                  5       S-  US   R                  5       S-  S/S-  S/S-  -   US   R                  5       US   R                  5       -   S./ SQS9nUR                  SS/U" S	5      S
9n[        R                  " XC5        g )Nr   r
   r   r   r   r   rS   rY   r   r   rH   )r   rB   r   rN   rO   )rC   r`   r$   expectedrD   s        r#   test_value_vars_typesTestMelt.test_value_vars_typesd   s     %y'')A-%y'')A- EBJ#3S'..*RW^^-==	 8
 %E*<MN
f/r%   c                     [        US   S/[        U5      -  S/[        U5      -  US   S./ SQS9nUR                  S/S/S9n[        R                  " X25        g )Nr   ar   br   ri   )rg   r/   r0   r@   rY   rH   )r   rZ   r   rN   rO   )rC   r2   rc   rD   s       r#   test_vars_work_with_multiindex'TestMelt.test_vars_work_with_multiindexs   sf    
Ous3x'us3x'Z	 8
 :,J<H
f/r%   z(id_vars, value_vars, col_level, expectedr   r   r   r'   r)   r+   r      r
   r(   r*   r,   )r   r/   r@   rh   ri   rn   )rh   r0   r@   c                 P    UR                  XUS9n[        R                  " Xd5        g )NrL   )r   rN   rO   )rC   rI   rJ   rM   rc   r2   rD   s          r#   %test_single_vars_work_with_multiindex.TestMelt.test_single_vars_work_with_multiindex   s%    @ 'C
f/r%   zid_vars, value_varsrg   rj   c                     Sn[         R                  " [        US9   UR                  XS9  S S S 5        g ! , (       d  f       g = f)NzF(id|value)_vars must be a list of tuples when columns are a MultiIndexmatchrH   )pytestraises
ValueErrorr   )rC   rI   rJ   r2   msgs        r#   $test_tuple_vars_fail_with_multiindex-TestMelt.test_tuple_vars_fail_with_multiindex   s2     X]]:S1HHWH< 211s	   5
Ac                    UR                  US9nUR                  R                  5       SS/:X  d   eUR                  S/US9nUR                  R                  5       / SQ:X  d   eUR                  SS/US9nUR                  R                  5       / SQ:X  d   eUR                  SS/S	US
9nUR                  R                  5       / SQ:X  d   eUR                  SS/S	S/US
9n[        SUS   R                  5       S-  SUS   R                  5       S-  US	/S-  S/S-  -   SUS	   R                  5       US   R                  5       -   0SSUS/S9n[        R
                  " Xx5        g )N)r6   r4   r@   r   rI   r6   )r   r4   r@   r   )r   r   r4   r@   r   )rI   rJ   r6   r   r
   r   rY   r   r   rB   r   rN   rO   )	rC   r$   r6   result5result6result7result8result9	expected9s	            r#   test_custom_var_nameTestMelt.test_custom_var_name   s}   ''8',%%'E7+;;;;''5'H'=%%'+BBBB''5%.8'D%%'+IIII''5%.S8'T%%'+IIII''ENSzH  
 r%y'')A-r%y'')A-3%"*urz1"S'..*RW^^-==	 E8W5
	 	g1r%   c                    UR                  US9nUR                  R                  5       SS/:X  d   eUR                  S/US9nUR                  R                  5       / SQ:X  d   eUR                  SS/US9nUR                  R                  5       / SQ:X  d   eUR                  SS/S	US
9nUR                  R                  5       / SQ:X  d   eUR                  SS/S	S/US
9n[        SUS   R                  5       S-  SUS   R                  5       S-  SS	/S-  S/S-  -   X!S	   R                  5       US   R                  5       -   0SSSU/S9n[        R
                  " Xx5        g )N)r:   r?   r9   r   rI   r:   )r   r?   r9   r   )r   r   r?   r9   r   )rI   rJ   r:   r   r
   r   rY   r}   )	rC   r$   r:   result10result11result12result13result14
expected14s	            r#   test_custom_value_nameTestMelt.test_custom_value_name   s   77j71&&(Z,????77E7z7B&&(,FFFF77E5>j7I&&(,MMMM77ENsz  
 &&(,MMMM77ENSzj  
 r%y'')A-r%y'')A-SEBJ#3W^^-30@@	 E:z:

 	h3r%   c                 v   UR                  X2S9nUR                  R                  5       SS/:X  d   eUR                  S/X2S9nUR                  R                  5       / SQ:X  d   eUR                  SS/X2S9nUR                  R                  5       / SQ:X  d   eUR                  SS/S	UUS
9nUR                  R                  5       / SQ:X  d   eUR                  SS/S	S/UUS
9n[        SUS   R                  5       S-  SUS   R                  5       S-  US	/S-  S/S-  -   X!S	   R                  5       US   R                  5       -   0SSX2/S9n	[        R
                  " X5        UR                  5       n
SU
R                  l        U
R                  5       nUR                  R                  5       SS/:X  d   eg )NrK   r4   r9   r   rI   r6   r:   )r   r4   r9   r   )r   r   r4   r9   r   rI   rJ   r6   r:   r   r
   r   rY   foor@   )r   r   rB   r   rN   rO   copyname)rC   r$   r:   r6   result15result16result17result18result19
expected19df20result20s               r#   test_custom_var_and_value_name'TestMelt.test_custom_var_and_value_name   s   77H7D&&(UEN:::77E7X7U&&(,AAAA77ENX  
 &&(,HHHH77EN!	  
 &&(,HHHH77ENSz!	  
 r%y'')A-r%y'')A-3%"*urz1W^^-30@@	 E88

 	h3wwy!99;&&(UG,<<<<r%   rM   r/   c                 f    UR                  US9nUR                  R                  5       SS/:X  d   eg )NrL   r/   r@   rA   )rC   rM   r2   r"   s       r#   test_col_levelTestMelt.test_col_level  s2    hhh+{{!!#w'7777r%   c                 h    UR                  5       nUR                  R                  5       / SQ:X  d   eg )N)r/   r0   r@   rA   )rC   r2   r"   s      r#   test_multiindexTestMelt.test_multiindex  s)    hhj{{!!#'>>>>r%   col2010   z
US/Pacific)r   tz)rh   ri   crh   dcategoryr   )r   rn   r   r   r   c                 |   [        [        S5      U/ SQUS.5      n[        R                  " [        R                  " / SQ5      U/SS9n[        USS/SS	S
9n[        [        [        S5      5      S-  [        R                  " U/S-  SS9S/S-  S/S-  -   US.5      n/ SQUl        [        R                  " XE5        g )Nr   )rn   r   r   r   r   )klassr   attr1attr2Tignore_indexr   r   	attributer@   r   r
   r   r   r   rn   r
      )r   r   r   r@   )
r   rangepdconcatSeriesr   r   r   rN   rO   )rC   r   r$   expected_valuerD   rc   s         r#   test_pandas_dtypesTestMelt.test_pandas_dtypes  s     Ahs_sS
 BIIo$>#DSWX%(;7
 a>A%99cUQYT:9q=G9q=0!	
 B
f/r%   c                     [        SS/[        R                  " SS/5      S.5      n[        US/S/5      n[        [        R                  " SS/5      SS/SS/S.5      n[        R
                  " X#5        g )	Nrn   r
   XYrb   r   r   )r   r?   r@   )r   r   Categoricalr   rN   rO   )rC   datarD   rc   s       r#   test_preserve_categoryTestMelt.test_preserve_category;  so    1vBNNC:,FGHdSEC5)..#s,3*PQSTvV
 	f/r%   c                    [        [        R                  R                  S5      R	                  S5      [        S5      S9nSn[        R                  " [        US9   UR                  SS/S	S
/5        S S S 5        [        R                  " [        US9   UR                  SS/SS
/5        S S S 5        [        R                  " [        US9   UR                  / SQSS
/5        S S S 5        UR                  5       n[        S5      [        S5      /Ul        [        R                  " [        US9   UR                  S/S/5        S S S 5        [        R                  " [        US9   UR                  S/S/SS9  S S S 5        g ! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nx= f! , (       d  f       g = f)Nr
   )r   r   abcdrY   zEThe following id_vars or value_vars are not present in the DataFrame:rs   rh   ri   Cr   r   r   )rh   ri   not_hereor_therer   )Erh   rj   Fr   rL   )r   r   r   r   r   r   ru   rv   KeyErrorr   r   r   )rC   r$   rx   multis       r#    test_melt_missing_columns_raises)TestMelt.test_melt_missing_columns_raisesE  s^    II!!!$44V<d6l

 V]]83/GGS#Jc
+ 0 ]]83/GGS#Jc
+ 0 ]]
 GG6c
C	
 	ftF|4]]83/JJ
|j\2 0 ]]83/JJuseqJ1 0/) 0/ 0/
 
 0/ 0/s<   FFF$.F5$G
F
F!$
F25
G
Gc                     [        S/S/S/S/S.5      n[        USS/SS	/S
9n[        S/S-  S/S-  [        S5      SS/S.5      n[        R                  " X#5        g )Nr   barrn   r
   )r   rh   ri   r   r   rh   ri   r   rH   bd)r   rh   r?   r@   )r   r   r   rN   rO   rC   r$   rD   rc   s       r#   test_melt_mixed_int_str_id_vars(TestMelt.test_melt_mixed_int_str_id_varsh  sp    E7%s!EFb1c(SzB!5'A+4:QRTUPVW
 	f/r%   c                     [        S/S/S.5      n[        USS/S9n[        SS/SS/S.5      n[        R                  " X#5        g )Nr   r   )r   rh   r   rh   )rJ   r?   r@   r   r   rN   rO   r   s       r#   "test_melt_mixed_int_str_value_vars+TestMelt.test_melt_mixed_int_str_value_varsq  sJ    E7%12baX.1c(eU^LM
f/r%   c                     [        S/S/S.S/S9n[        USS9n[        SS	/SS/S
.SS/S9n[        R                  " X#5        g )Nr   rn   r   r   firstr   Fr   r   r   r   r   r   s       r#   test_ignore_indexTestMelt.test_ignore_indexx  sV    sA3/yAbu-1a&9'7AS
 	f/r%   c                 (   [         R                  R                  SS/SS/S9n[        SS/SS	/S
.US9n[	        USS9n[         R                  R                  SS/S-  SS/S9n[        S/S-  S/S-  -   / SQS.US9n[
        R                  " X55        g )N)r   second)r   thirdbazfoobarr1   r   rn   r
   r   r   r   Fr   r   r   r   r   )r   
MultiIndexfrom_tuplesr   r   rN   rO   rC   r   r$   rD   expected_indexrc   s         r#   test_ignore_multiindexTestMelt.test_ignore_multiindex  s    )) "45eX=N * 
 1vq!f5UCbu-22 "459%AR 3 
 1w{2\J 

 	f/r%   c                     [        SS/SSS9n[        SS/SS	/S
.US9n[        USS9n[        SS/S-  SSS9n[        / SQ/ SQS.US9n[        R                  " X55        g )Nr   r   r   r   )r   r   r   rn   r
   r   )xyr   Fr   )r   r   r   r   r   r   )r   r   r   rN   rO   r   s         r#   test_ignore_index_name_and_type(TestMelt.test_ignore_index_name_and_type  su    uenJUCaV1a&1?bu-u~1%P-E 

 	f/r%   c                     [        / SQ// SQS9nUR                  S/S/S9n[        / SQ/ SQ// S	QS9n[        R                  " X#5        g )
N)idr
   r   )rh   ri   ri   rY   rh   ri   rH   )r   ri   r
   )r   ri   r   )rh   r?   r@   r   r   s       r#    test_melt_with_duplicate_columns)TestMelt.test_melt_with_duplicate_columns  sK    ~?#C59^,6P
 	f/r%   r   Int8Int64c                 
   [        [        R                  " SS/SS9[        R                  " SS/US9S.5      nUR                  5       n[        / SQ[        R                  " / S	QUS9S
.5      n[        R
                  " X45        g )Nrn   r
   r   r   r   r   rh   ri   )rh   rh   ri   ri   )rn   r
   r   r   r   )r   r   r   r   rN   rO   )rC   r   r$   rD   rc   s        r#   test_melt_ea_dtypeTestMelt.test_melt_ea_dtype  st     YY1vV4YY1vU3
 0<u=
 	f/r%   c                 ,   [        SSSS.SSSS.SS	S
S.S.5      nUR                  R                  S5      Ul        UR                  S/S/S9n[        [	        S5      [
        R                  " S/S-  SS9/ SQS.5      n[        R                  " X#5        g )Nrh   ri   r   rm   rn   r   r   r
   r      )r   r   r   zstring[python]r   r   rH   r.   r   )rn   r   r   )r   r?   r@   )	r   r   r   r   r   r   r   rN   rO   r   s       r#   test_melt_ea_columnsTestMelt.test_melt_ea_columns  s    -qQ'qQ'
 ZZ&&'78
#C59%[IIseai7GH"
 	f/r%   c                    [        S[        R                  " SSS9[        R                  " SSS9S.S[        R                  " SSS9[        R                  " SSS9S./S	S
/S9nUR                  S/SS/SSS9n[        SSSSS.SSSSS.[        R                  " SSS9[        R                  " SSS9[        R                  " SSS9[        R                  " SSS9S.S.5      n[        R
                  " X#5        g )NA0z
2023/03/01z
Asia/Tokyo)r   z
2023/03/10)type
start_dateend_dateA1z
2023/03/11aaaabbbbr   r   r  r  r  	start/enddater   r   z2023-03-01 00:00:00+0900z2023-03-10 00:00:00+0900z2023-03-11 00:00:00+0900)r  r  r	  )r   r   	Timestampr   rN   rO   r   s       r#   test_melt_preserves_datetime%TestMelt.test_melt_preserves_datetime  s    !"$,,|"M "\l K !"$,,|"M "\l K 6"
 H$j1 	  
  Tdt<##!!	 ||$><P||$><P||$><P||$><P	
" 	f/r%   c                     [        / SQ/ SQS./ SQS9nUR                  SSSS	9n[        / SQS
/S-  / SQS.5      n[        R                  " X#5        g Nrn   r
   r   r   r   r   r   112233r  rh   r   rn   r   ri   r   )rh   r   rn   r   r   s       r#   #test_melt_allows_non_scalar_id_vars,TestMelt.test_melt_allows_non_scalar_id_vars  s\     y1$
   

 9#yIJ
f/r%   c                     [        / SQ/ SQS./ SQS9nUR                  S/SSS	9n[        / SQS
/S-  / SQS.5      n[        R                  " X#5        g r  r   r   s       r#   $test_melt_allows_non_string_var_name-TestMelt.test_melt_allows_non_string_var_name  s^     y1$
 E  

 9#yIJ
f/r%   c                     [        / SQ/ SQS./ SQS9n[        R                  " [        SS9   UR	                  S/S	S
/S9  S S S 5        g ! , (       d  f       g = f)Nr  r  r   r  r  z.* must be a scalar.rs   rh   rn   r
   r|   )r   ru   rv   rw   r   rC   r$   s     r#   $test_melt_non_scalar_var_name_raises-TestMelt.test_melt_non_scalar_var_name_raises  sK     y1$
 ]]:-DEGGSEQFG3 FEEs   A


Ar5   N),__name__
__module____qualname____firstlineno__rE   rP   rV   r^   ru   markparametrizetupler   r   arrayrd   rk   r   rp   ry   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  __static_attributes__r5   r%   r#   r<   r<   6   sD   @MO2  [[WudBHH&=>0 ?00 [[2 !)iIF#&337%.8!H	 !)iIF#&337%.8!H		
:0;:0 [[*&\:&$	
==264:(=T [[[1e*58 68? [[IIj|DEII/zBIIo&	
00(0!2F0000$00 [[Wvw&780 90"0('0R004r%   r<   c                       \ rS rSrS rSrg)TestLreshapei  c                    / SQ/ SQ/ SQ/ SQ/ SQS[         R                  SSS	/S
[         R                  [         R                  SS// SQS[         R                  SSS/S[         R                  [         R                  SS/S.
n[        U5      n[        SS5       Vs/ s H	  nSUS 3PM     sn[        SS5       Vs/ s H	  nSUS 3PM     snS.n[	        X$5      n/ SQ/ SQ/ SQ/ SQ/ S Q/ S!QS".n[        XeR
                  S#9n[        R                  " XW5        [	        X$S$S%9n/ S&Q/ S'Q/ S(Q/ S)QS*S+S,S-S.S[         R                  SSS	S
[         R                  [         R                  SS/S/SS0S1S2S[         R                  SSSS[         R                  [         R                  SS/S".n[        XeR
                  S#9n[        R                  " XW5        [        SS35       Vs/ s H	  nSUS 3PM     sn[        SS5       Vs/ s H	  nSUS 3PM     snS.nS4n[        R                  " [        US59   [	        X$5        S S S 5        g s  snf s  snf s  snf s  snf ! , (       d  f       g = f)6N)	08jan2009	20dec2008	30dec2008	21dec2008	11jan2009)      C  %  )e   f   g   h   i   )MaleFemaler:  r:  r:  )r.  	22dec2008	04jan2009	29dec2008	20jan2009	21jan2009	22jan2009	31dec2008	03feb2009	05feb2009	02jan2009	15feb2009)i  i
  i  i  i       l@     @     @     ߱@     @     b@     Ų@)
birthdtbirthwtr   sexvisitdt1visitdt2visitdt3wt1wt2wt3rn   r   visitdtr   wt)rV  rW  )r*  r+  r,  r-  r.  r*  r,  r-  r.  r*  r-  r.  )r/  r0  r1  r2  r3  r/  r1  r2  r3  r/  r2  r3  )r4  r5  r6  r7  r8  r4  r6  r7  r8  r4  r7  r8  )r9  r:  r:  r:  r:  r9  r:  r:  r:  r9  r:  r:  )r.  r;  r<  r=  r>  r?  r@  rA  rB  rC  rD  rE  )     |@rH       4@     ĩ@     Ұ@rF  rG  rH  rI  rJ  rK  rL  )rM  rN  r   rO  rV  rW  rY   F)dropna)r*  r+  r,  r-  r.  r*  r+  r,  r-  r.  r*  r+  r,  r-  r.  )r/  r0  r1  r2  r3  r/  r0  r1  r2  r3  r/  r0  r1  r2  r3  )r4  r5  r6  r7  r8  r4  r5  r6  r7  r8  r4  r5  r6  r7  r8  )r9  r:  r:  r:  r:  r9  r:  r:  r:  r:  r9  r:  r:  r:  r:  r.  r;  r<  r=  r>  rX  rY  rZ  r[  r   z$All column lists must be same lengthrs   )r   nanr   r   r   r   rN   rO   ru   rv   rw   )	rC   r   r$   ispecrD   exp_dataexprx   s	            r#   
test_pairsTestLreshape.test_pairs  sk    6+C %bffk;T$bffbffk;O1BFFFFF;BFFBFFFF;-
2 t_ 27q!=A'!A=',Q{3{!R!u:{3
 "# OuH
R ..9
f*"51"""$ $ mg
P ..9
f* 27q!=A'!A=',Q{3{!R!u:{3
 5]]:S1R 21E >3z >3 21s$   I;II=I-I
I$r5   N)r  r  r   r!  rb  r&  r5   r%   r#   r(  r(    s    `r%   r(  c                       \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS r\R.                  R1                  SSS/5      S 5       rSrg)TestWideToLongi   c                    [         R                  R                  S5      R                  S5      n[	        SSSS.SSS	S.S
SSS.SSSS.[        [        [        S5      U5      5      S.5      nUR                  US'   UR                  5       UR                  5       -   / SQ/ SQ/ SQ/ SQS.n[	        U5      nUR                  SS/5      / SQ   n[        USS/SSS9n[        R                  " XT5        g )Nr
   r   rh   ri   r   rm   r   ef      @333333?ffffff?皙	@?皙?)A1970A1980B1970B1980r   r   rh   ri   r   r   rg  rh  ri  rj  rk  rl  rm  rn    rv  rv    rw  rw  r   rn   r
   r   rn   r
   r   r   r   yearr   rz  r   r   r   r   r   r^  jr   r   r   r   r   dictzipr   r   rB   	set_indexr   rN   rO   rC   r   r$   r`  rc   rD   s         r#   test_simpleTestWideToLong.test_simple  s    II!!!$44Q7 SS1 SS1 SS1 SS1#eAh*+
 884ahhj(//8$
 X&%%tVn5oFb3*?
f/r%   c                 j    [        / SQ/ SQ/5      n/ SQUl        SS/n[        XSSS9  USS/:X  d   eg )	N)r   rn   r
   r      )r   r   r      	   )r   inc1inc2edu1edu2incedur   ager|  )r   r   r   )rC   r$   stubss      r#   
test_stubsTestWideToLong.test_stubs  s?    9:;
R$%0&&&r%   c                    [         R                  R                  S5      R                  S5      n[	        SSSS.SSS	S.S
SSS.SSSS.[        [        [        S5      U5      5      S.5      nUR                  US'   UR                  5       UR                  5       -   / SQ/ SQ/ SQ/ SQS.n[	        U5      nUR                  SS/5      / SQ   n[        USS/SSSS9n[        R                  " XT5        g )Nr
   r   rh   ri   r   rm   r   rg  rh  ri  rj  rk  rl  rm  rn  )zA.1970zA.1980zB.1970zB.1980r   r   rs  rt  ru  rx  ry  rz  r{  r   r   .r^  r}  sepr~  r  s         r#   test_separating_character(TestWideToLong.test_separating_character#  s     II!!!$44Q7!cc2!cc2!cc2!cc2#eAh*+
 884ahhj(//8$
 X&%%tVn5oFb3*CH
f/r%   c                    [         R                  R                  S5      R                  S5      n[	        SSSS.SSS	S.S
SSS.SSSS.[        [        [        S5      U5      5      S.5      nUR                  US'   UR                  5       UR                  5       -   / SQ/ SQ/ SQ/ SQS.n[	        U5      nUR                  SS/5      / SQ   n[        USS/SSS9n[        R                  " XT5        g )Nr
   r   rh   ri   r   rm   r   rg  rh  ri  rj  rk  rl  rm  rn  )zA(quarterly)1970zA(quarterly)1980zB(quarterly)1970zB(quarterly)1980r   r   rs  rt  ru  rx  )r   A(quarterly)B(quarterly)rz  r   rz  )r   r  r  r  r  r|  r~  r  s         r#   test_escapable_characters(TestWideToLong.test_escapable_characters=  s    II!!!$44Q7(+$<(+$<(+$<(+$<#eAh*+
 884ahhj(::8$
 X&%%tVn51
 b>>"BdfU
f/r%   c                 @   [        SS/SS/SS/SS/S	.5      nUR                  US
'   / SQ/ SQSS[        R                  [        R                  // SQ/ SQS.n[        U5      nUR	                  S
S/5      / SQ   n[        USS/S
SS9n[        R                  " XC5        g )N      ?       @      @      @      @      @X1X2A2010A2011B2010r   r   r  r  r  r  r  r  r  r  )r   rn   r   rn   )  r    r  )r   r   r   r   rz  rz  r{  r   r   r|  )r   r   r   r]  r  r   rN   rO   rC   r$   r`  rc   rD   s        r#   test_unbalancedTestWideToLong.test_unbalancedW  s    sssD\	
 884)%sBFFBFF+,
 X&%%tVn5oFb3*?
f/r%   c                 Z   [        / SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQS.5      nUR                  US	'   [        / S
Q/ S
Q/ SQ/ SQ/ SQ/ SQ/ SQS.5      nUR                  S	S/5      / SQ   n[        U/ SQS	SS9n[        R
                  " UR                  SS9UR                  SS95        g )Na11a22a33a21r  a23b11b12b13b21b22b23r  r  [   \   ]   )A11A12B11B12BB11BB12BBBXBBBZr   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rn   r
   r   r   r   r   rx     r  r     r  r  )r  r  r   r   BBr   rz  rz  )r  r  r   r   r  r   r   r  r|  rn   axisr   r   r  r   rN   rO   
sort_indexrC   r$   rc   rD   s       r#   test_character_overlap%TestWideToLong.test_character_overlapn  s    ,,,,!!$$	
 88400??((0

 %%tVn56VWb"2dfE
f//Q/79L9LRS9L9TUr%   c           	         Sn[        SS/SS/SS/SS	/S
.5      nUR                  US'   S/ / / / / / / S.n[        U5      R                  S[        R                  05      nUR                  SS/5      / SQ   nUR                  R                  SS/SS9Ul        [        USS/SSUS9n[        R                  " UR                  SS9UR                  SS95        g )Nznope!r  r  r  r  r  r  r  r  r  r    )r   r  r  r  r   rz  r   r   rz  )r   r  r  r  r   r   r   rn   levelr   r   r  r  r   r   r   r   r    r  
set_levelsr   rN   rO   r  )rC   r  r$   r`  rc   rD   s         r#   test_invalid_separator%TestWideToLong.test_invalid_separator  s    sssD\	
 884	
 X&--vrxx.@A%%tVn56
 "22Aq62Cb3*CH
f//Q/79L9LRS9L9TUr%   c                 Z   [        / SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQS.5      nUR                  US	'   [        / S
Q/ S
Q/ SQ/ SQ/ SQ/ SQ/ SQS.5      nUR                  S	S/5      / SQ   n[        U/ SQS	SS9n[        R
                  " UR                  SS9UR                  SS95        g )Nr  r  r  r  r  r  r  )r  r  r  r  r  r  AratingArating_oldr   r  r  r  r  rx  r  )r  r  r   r   r  r   rz  rz  )r  r  r   r   r  r  r|  rn   r  r  r  s       r#   test_num_string_disambiguation-TestWideToLong.test_num_string_disambiguation  s     ,,,,!!'+	
 88437??((0

 %%tVn56
 b"2dfE
f//Q/79L9LRS9L9TUr%   c           	         [        SS/SS/SS/SS/S	.5      nUR                  US
'   S/ / / / / / / S.n[        U5      R                  S[        R                  05      nUR                  S
S/5      nUR                  R                  SS/SS9Ul        [        USS/S
SS9n[        R                  " UR                  SS9UR                  SS95        g )Nr  r  r  r  r  r  r  r  )AoneAtwoBoner   r   r  )r   r  r  r  r   rz  r   r   rz  r   rn   r  r   r   r|  r  r  r  s        r#   test_invalid_suffixtype&TestWideToLong.test_invalid_suffixtype  s     c
c
c
D\	
 884	
 X&--vrxx.@A%%tVn5!22Aq62Cb3*?
f//Q/79L9LRS9L9TUr%   c                     [        / SQ/ SQ/ SQ/ SQS.5      n[        / SQ/ SQ/ SQ/ S	QS
.5      nUR                  / SQ5      S/   n[        USSS/SS9n[        R                  " X25        g )N)	rn   rn   rn   r
   r
   r
   r   r   r   )	rn   r
   r   rn   r
   r   rn   r
   r   )	ffffff@333333@皙@r
   ?ffffff?r  ffffff@ @)	333333@ffffff@r  rl  r  333333@ffffff
@r  r  )famidbirthht1ht2)r  r  r  r  r  r  r  rl  r  r  r  r  r  r  r  r  r  r  )rn   rn   rn   rn   rn   rn   r
   r
   r
   r
   r
   r
   r   r   r   r   r   r   )rn   rn   r
   r
   r   r   rn   rn   r
   r
   r   r   rn   rn   r
   r
   r   r   )rn   r
   rn   r
   rn   r
   rn   r
   rn   r
   rn   r
   rn   r
   rn   r
   rn   r
   )htr  r  r  )r  r  r  r  r  r  r  r|  r   r  r   rN   rO   r  s       r#   test_multiple_id_columns'TestWideToLong.test_multiple_id_columns  s|    44BD	
 ( POM/
6 %%&?@$Hb$7G*<F
f/r%   c                     [        / SQ/ SQ/ SQS.5      nSn[        R                  " [        US9   [	        USS/SS	S
9  S S S 5        g ! , (       d  f       g = f)N)rn   r
   r   r   r   )rn   rn   rn   rn   rn   )A_A1B_B1r   z3the id variables need to uniquely identify each rowrs   A_AB_Br   colnamer|  r   ru   rv   rw   r   rC   r$   rx   s      r#   test_non_unique_idvars%TestWideToLong.test_non_unique_idvars  sL     $oOT
 D]]:S1eU^si@ 211s   A		
Ac                     [        / SQ/ SQ/ SQ/ SQ/ SQS.5      n[        / SQ/ SQ/ S	Q/ S
QS.5      R                  SS/5      n[        USS/SSSS9n[        R                  " X25        g )N)CCH PounderJohnny DeppChristoph Waltz)Joel David MooreOrlando BloomRory Kinnear)     @@     @     |@)     @@     @     x@)AvatarPirates of the CaribbeanSpectre)actor_1actor_2actor_fb_likes_1actor_fb_likes_2title)r  r  r  r  r  r  )r  r  r  r  r  r  )rn   rn   rn   r
   r
   r
   )r  r  r  r  r  r  )actoractor_fb_likesnumr#  r#  r&  r$  r%  _r  r  r  s       r#   test_cast_j_intTestWideToLong.test_cast_j_int  s    LP$>$:J
  #S)
* )We$
%+ 	, *+w%S
 	f/r%   c                     [        SS/SS/SS/SS/S	.5      nS
n[        R                  " [        US9   [	        USS/SSS9  S S S 5        g ! , (       d  f       g = f)Nr  r  r  r  r  r  r  r  )r  r  r  r   z,stubname can't be identical to a column namers   r   r   r
  r|  r  r  s      r#   test_identical_stubnames'TestWideToLong.test_identical_stubnamesB  s`    sssD\	
 =]]:S1c3Z3)< 211s   A
Ac           	         [        SS/SS/SS/SS/S	.5      n[        / S
Q/ SQSS[        R                  [        R                  // SQS.5      nUR                  SS/5      n[	        USS/SSSSS9n[
        R                  " X25        g )Nr  r  r  r  r  r  r  r  )treatment_placebotreatment_testresult_placebor   r  )placebor1  testr2  r  r   r
  rD   	treatmentr   r
  rD   r4  z[a-z]+r'  r^  r}  suffixr  r   r   r]  r  r   rN   rO   r  s       r#   test_nonnumeric_suffix%TestWideToLong.test_nonnumeric_suffixO  s    &)3Z#&*#&*D\	
 -ARVVRVV41	
 %%sI&67;'3)HRU
 	f/r%   c           	          [        SS/SS/SS/SS/S	S
/S.5      n[        / SQ/ SQ/ SQ/ SQS.5      R                  SS/5      n[        USS/SSSSS9n[        R                  " X25        g )Nr  r  r   r  r  r  r  r  r  r  )r   result_1
result_footreatment_1treatment_foor  )1r?  r   r   )              "@r  r  r  r3  r   r
  rD   r4  z.+r'  r5  r  r  s       r#   test_mixed_type_suffix%TestWideToLong.test_mixed_type_suffixf  s    D\F"Cj #Sz"%s
 -3.1	
 )S)$
% 	 ;'3)Dc
 	f/r%   c                    [        SS/SS/SS/SS/S	S
/S.5      n[        / SQ/ SQSSSS[        R                  [        R                  [        R                  [        R                  /[        R                  [        R                  [        R                  [        R                  SSSS/S.5      nUR                  SS/5      n[	        USS/SSSSS9n[
        R                  " X25        g )Nr  r  r  r  r  r  r   r  r  r  )ztreatment_1.1ztreatment_2.1z
result_1.2r;  r   )r  r  r  r  r  r  r  r  )rj  rj  r  r  皙?rE  r  r  r@  rA  r3  r   r
  rD   r4  z[0-9.]+r'  r5  r7  r  s       r#   test_float_suffix TestWideToLong.test_float_suffix}  s    "%s"%s"CjFD\
 ECS#rvvrvvrvvrvvN ffbffbffbffc3SQ	
 %%sI&67;'3)ISV
 	f/r%   c           
          SSSSSS.SSS	S
SS.SSSSSS.SSSSSS.SSSSSS.S.n[         R                  " U5      n[        US/SS/SS9n[        USSS/SS9n[        R                  " XC5        g )Nr   rn   r
   r   r   )r   rn   r
   r   r   g?r@  g      ?r  gQ?gGz?gQ?g\(\?g333333?gp=
ף?g{Gz?gp=
ף?gq=
ףp?g(\?rk  )node_idr   PA0PA1PA3PArI  r   time)	stubnamesr^  r}  )r   	from_dictr   rN   rO   )rC   	wide_datawide_dfrc   rD   s        r#   test_col_substring_of_stubname-TestWideToLong.test_col_substring_of_stubname  s    
 qQ15cdst<$3?$4@$4@
	 %%i0D6i=MQWXg)S9IVT
f/r%   c                     [        [        S5      [        SSS5      S.5      n[        R                  " [
        [        R                  " S5      S9   UR                  SSS	9  S S S 5        g ! , (       d  f       g = f)
Nr-   r      r
   )r   r@   zvalue_name (value) cannot matchrs   r@   r   )	r   r   r   ru   rv   rw   reescaper   r  s     r#   test_raise_of_column_name_value.TestWideToLong.test_raise_of_column_name_value  s]     tE{U2r15EFG]]bii(IJ
 GGGG8
 
 
s   A**
A8r   Ostringc                    [        SS/SS/SS/S.5      nUR                  SU05      n[        US	S
/SSSS9n[        / SQSS9n[        / SQ[        R
                  /S-  S.US9nUR                  R                  S   R                  U5      nUR                  R                  USS9Ul        [        R                  " X55        g )Nr?  2d      ,    )r   za-1za-2r   rh   ri   r&  -)rO  r^  r}  r  ))r?  rn   )r^  rn   )r?  r
   )r^  r
   )r   r&  )r   )r_  r`  ra  rb  r   r   r   r   r  )r   r   r   r   r   r]  r   levelsr  rN   rO   )rC   r   r$   rD   r   rc   	new_levels          r#   test_missing_stubname$TestWideToLong.test_missing_stubname  s     sCj#sS#JOPYYe}%Cj
 4
 &bffX\:
 NN))!,33E:	!229A2F
f/r%   r5   N)r  r  r   r!  r  r  r  r  r  r  r  r  r  r  r  r(  r+  r8  rB  rF  rS  rY  ru   r"  r#  rf  r&  r5   r%   r#   re  re     s    00'04040.V<V<VBV:'0RA%0N=0.0.000 	9 [[WsHo60 70r%   re  c                     [         R                  " S5        [        SS0SS0SS0SS0SS0S.5      n U R                  R	                  S5      U l        [        U SSS	S
SS9n[        SS/SS/SS//[        SS/[        S9[        R                  R                  / SQ[        / SQSS9/SS	/S9S9n[        R                  " X5        g )Npyarrowr   rn   r
   )IDR_test1R_test2R_test3Dzstring[pyarrow_numpy]Rrj  	UNPIVOTEDr'  z.*)rO  r^  r}  r  r6  rn  r   )rn   rn   rn   )test1test2test3r   r   )ru   importorskipr   r   r   r   r   r   r   r   from_arraysrN   rO   )r$   rD   rc   s      r#   (test_wide_to_long_pyarrow_string_columnsrv    s    
	"	a&1v1v1vQ	

B ""#:;BJ
cT[c$F 
Q!Q!Q sCj/mm''19PQ % ( 

H &+r%   )rW  numpyr   ru   pandasr   r   r   r   r   r   r   pandas._testing_testingrN   fixturer$   r2   r6   r:   r<   r(  re  rv  r5   r%   r#   <module>r|     s    	        
 
    c4 c4La aHF0 F0R,r%   