
    Mhx"                        S SK r S SKrS SKrS SKrS SKJr  S r	\R                  R                  S\" S5      S4/ S4\" S5      S4/5      S 5       r\R                  R                  SS	S S
\R                  " S5      \R                  " S5      /5      S 5       rS rS rS r\R                  R                  SSS/SS//SS/S.S S // SQ/ SQS./ SQ4SS/SS//SS/S.\R(                  " S S /SS9/ SQ/ SQS.\R(                  " / SQSS94SS/SS//SS/S.\R*                  R-                  S S /SS//SS/S 9/ SQ/ SQS.\R*                  R-                  / SQ/ S!Q/SS/S 94SS/SS//SS/S.\R*                  R-                  S S /SS//SS/S 9/ SQ/ SQS.\R*                  R-                  / SQ/ S!Q/SS/S 94/5      S" 5       rS# rS$ r\R                  R                  S%\" S5      \R4                  " S SS\R6                  \R6                  SS\R6                  /\" S&5      \S'9SS	S(S)S\R6                  S*S+\R6                  /S,.\" S&5      4\" S-5      \R4                  " S SS\R6                  \R6                  SS\R6                  /\" S&5      \S'9S/ S.Q/ S.Q/ S.QS/ S*S+/S*S+/\R6                  /S,.\" S&5      4/5      S/ 5       rS0 rg)1    Nc                     [         R                  " [         R                  " / SQ[        R                  / S/[        S5      S9SS.5      n [        R                  " [        SS9   U R                  [        S	5      /5        S S S 5        [        R                  " [        S
S9   U R                  [        S	5      5        S S S 5        [        S	5      U l
        [        R                  " [        [        R                  " S5      S9   U R                  S5        S S S 5        g ! , (       d  f       N= f! , (       d  f       Nw= f! , (       d  f       g = f)Nr               abcdindexr   ABz/column must be a scalar, tuple, or list thereofmatchAAzcolumn must be uniquez:DataFrame columns must be unique. Duplicate columns: ['A']r   )pd	DataFrameSeriesnpnanlistpytestraises
ValueErrorexplodecolumnsreescape)dfs    Y/var/www/html/env/lib/python3.13/site-packages/pandas/tests/frame/methods/test_explode.py
test_errorr"   
   s    	iiBFFB7tF|LSTU
B 
K
 	

DJ< 

 
z)@	A


4: 
B dBJ	iiTU
 	

3	
 

 

 
B	A
 
s$   #D D, D=
D),
D:=
Ezinput_subset, error_messageACz)columns must have matching element countszcolumn must be nonemptyc           	         [         R                  " / SQ[        R                  / S/S/ SQS/ / SQ/S.[	        S5      S	9n[
        R                  " [        US
9   UR                  U 5        S S S 5        g ! , (       d  f       g = f)Nr   r   r   abcfoo)defr   r   Cr
   r   r   )	r   r   r   r   r   r   r   r   r   )input_subseterror_messager    s      r!   test_error_multi_columnsr1      sg    & 
RVVR0!5"o>	

 6l
B 
z	7


<  
8	7	7s   A33
Bscalarr&   g      ?z1 daysz
2019-12-31c                    [         R                  " U [         R                  " / SQ[        R                  / S/[        S5      S9SS05      nUR                  U 5      n[         R                  " U [         R                  " SSS[        R                  [        R                  S	S
/[        S5      [        S9SS05      n[        R                  " X#5        g )Nr   r   r
   r   r   r   r   r   r   r	   aaabcddr   dtype)
r   r   r   r   r   r   r   objecttmassert_frame_equal)r2   r    resultexpecteds       r!   
test_basicr<   =   s    
 
	Irvvr6:$v,OQTVWX
B ZZF||BIIAq"&&"&&!Q/tIf 		
H &+    c                     [         R                  " [        R                  " / SQ[        R                  / S/[
        S9SS.[         R                  R                  / SQ5      S9n U R                  S5      n[         R                  " [         R                  " S	SS
[        R                  [        R                  SS/[         R                  R                  / SQ5      [
        S9SS.5      n[        R                  " X5        g )Nr   r   r6   r   r   )r&   r   r&   r   r'   r   r'   r   r   r   r   r   r   r	   )r@   r@   r@   rA   rB   rC   rC   r5   )r   r   r   arrayr   r7   
MultiIndexfrom_tuplesr   r   r8   r9   r    r:   r;   s      r!   test_multi_index_rowsrH   Q   s    	hh	2662v6fEANmm''(PQ
B
 ZZ_F||Aq"&&"&&!Q/mm//
  !	
H( &+r=   c                     [         R                  " [        R                  " / SQ[        R                  / S/[
        S9SS.5      n U R                  S5      n[         R                  " [         R                  " SSS[        R                  [        R                  S	S
/[         R                  " / SQ5      [
        S9SS.5      n[        R                  " X5        g )Nr   r   r?   r   )r   r   )r   r   rJ   r   r   r   r	   )r   r   r   r   r   r   r   r5   )r   r   r   rD   r   r7   r   r   Indexr8   r9   rG   s      r!   test_multi_index_columnsrL   o   s    	88YF;6JVWX
B ZZ!F||iiAq"&&"&&!Q/hh45
 	
	H &+r=   c                     [         R                  " S[        S5      S/S[        S5      S//[        S5      S9R	                  S	5      n U R                  S
5      n[         R                  " / SQ[        R                  " / SQ[        S9/ SQS.[        S5      S9R	                  S	5      n[        R                  " X5        [         R                  " / SQ/ SQ// SQS9n U R                  U R                  R                  R                  S5      S9R                  S5      n[         R                  " / SQ/ SQ/ SQ/ SQ// SQ/ SQS9n[        R                  " X5        g )N      
      r      ABC)r   r.   r   )rN   rN   rN   rN   rN   rQ   rQ   rQ   )r   r   r   r   r	   r   r   r   r?   )rP   rP   rP   rP   rP   rR   rR   rR   r-   )
2014-01-01AlicezA B)
2014-01-02BobzC D)dtnametext )rZ   rZ   )rT   rU   r   )rT   rU   r   )rV   rW   r.   )rV   rW   D)r   r   r   r   )r   r   )r   r   ranger   	set_indexr   r   rD   r7   r8   r9   assignrZ   strsplitrG   s      r!   test_usecaserb      s#    

eAh	b%(B/0$u+
in  ZZ_F||12&A1	

 U in  &+ 
	')EF&
B YYBGGKK--c2Y3;;FCF||((&&		
 '	H &+r=   z6input_dict, input_index, expected_dict, expected_indexr   r   r   r	   r)   bar)col1col2)r   r   r   r	   )r)   r)   rc   rc   )r   r   r   r   my_index)rY   my_first_indexmy_second_index)names)r   r   r   r   c                     [         R                  " X[        S9nUR                  S5      n[         R                  " X#[        S9n[        R
                  " XV5        g )Nr5   rd   )r   r   r7   r   r8   r9   )
input_dictinput_indexexpected_dictexpected_indexr    r:   r;   s          r!   test_duplicate_indexro      sA    L 
j6	BBZZF||MvNH&+r=   c                  
   [         R                  " [        SSS5      [        S5      [        S5      /S.5      n U R	                  SSS	9n[         R                  " / S
Q[        S5      S./ SQS9n[
        R                  " X5        g )Nr   rR   rP   abcd)idvaluesrt   T)ignore_index)r   r   rP   rP   r
   )r   r   r   r   r   )r   r   r]   r   r   r8   r9   rG   s      r!   test_ignore_indexrv      si    	U1b"-$t*d4j9QR	SBZZtZ4F||f6lH &+r=   c                      [         R                  " SS1/S/S.S/S9n U R                  SS9R                  SS9n[         R                  " SS/SS/S.SS/S9n[        R
                  " X5        g )	Nxyr   )r&   r'   r   r&   )column)by)r   r   r   sort_valuesr8   r9   rG   s      r!   test_explode_setsr}      sn    	c3ZLs3A3	?BZZsZ#//3/7F||3*Aq6:1a&IH&+r=   z+input_subset, expected_dict, expected_indexaaabcdder5   r'   r(   r*   r+   r-   r   r%   c           	      6   [         R                  " / SQ[        R                  / S[        R                  /S/ SQS/ SS/[        R                  /S.[	        S	5      S
9nUR                  U 5      n[         R                  " X5      n[        R                  " XE5        g )Nr   r   r   r%   r)   r*   r+   r-   abcder   )r   r   r   r   r   r   r8   r9   )r/   rm   rn   r    r:   r;   s         r!   test_multi_columnsr      s|    T 
RVVR8!5"sCj"&&A	

 7m
B ZZ%F||M:H&+r=   c                     [         R                  " SS/S// SS/// SQSS/[        R                  / SS//S.5      n U R	                  S	S
/5      n[         R                  " [        R
                  " SSS[        R                  SS/[        S9/ SQ[        R
                  " SS[        R                  [        R                  SS/[        S9S./ SQS9n[        R                  " X5        g )Nr   r   rO   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   rD   r7   r8   r9   rG   s      r!   test_multi_columns_nan_emptyr     s    	a&1#rAq6*a&"&&"q!f-	

B ZZc
#F||1aBFFAq1@#1aA6fE	

 !H &+r=   )r   numpyr   r   pandasr   pandas._testing_testingr8   r"   markparametrizer   r1   	Timedelta	Timestampr<   rH   rL   rb   rK   rE   from_arraysro   rv   r}   r   r   r7   r   r    r=   r!   <module>r      s   	    ( ! J7	

 %	

 J7	
"!#"! !S",,x(",,|*DE,	, ,<,&#,L < !fq!f%u~>F!+GH		
 !fq!f%u~>HHaV*-!+GHHH\
3		
 !fq!f%u~>MM%%Q!Q )9;L(M &  "+GHMM%%|,'):; & 
	
 !fq!f%u~>MM%%1v1v&6z4>P%Q!+GHMM%%|,Z4F & 		
1 #H,I#H,,, 1 JYY1bffbffaBFF;z* 
 3UBFFCbffE 	
 IYY1bffbffaBFF;z* 
 ####J#JFF	$ )	
$'P,Q'P,,r=   