
    >ie3-                    >   d dl mZ d dlZd dlZd dlZd dlZd dlZd dl	m
Z d dlmZ d dlmZmZ d dlmZ d dlmZmZ ej                            d ej        g dd	
           ej         ej        g dg d                     ej        g d ej         ed                    d          g          d             Zd Zd Zd Z d Z!ej"        d             Z#e!d             Z$e!d             Z%d Z&d Z'ej                            dddgddgg          ej                            dg d          d                         Z(ej                            dddgddgg          ej                            dd d!g          d"                         Z)d# Z*d$ Z+d% Z,dS )&    )annotationsN)parse)PANDAS_VERSIONtm)_get_dummies_dtype_default)	assert_eq	make_metadata   r   r      r   r         categorydtype)r   r   r   r   
categoriesr   r   r   r   r   r   r   r   abcdabcdabc                    t          j        |           }t          j        | d          }t          j        |          }t	          ||           t          j        |j        |j                   d S )Nr   )pdget_dummiesddfrom_pandasr   r   assert_index_equalcolumns)r
   expddataress       Alib/python3.11/site-packages/dask/dataframe/tests/test_reshape.pytest_get_dummiesr%      s`     .

CN4##E
.

Cc3#+s{33333    c                 .   t          j        g dg dd          } t          j        | d          }|                    ddg          }t          j        |                     d	                    }t          j        |          }t          ||           d S )
N)        r(         ?r)   r(   )r)   r(   r)   r(   r)   r   r   npartitionsr   r   r    r   )r   	DataFramer   r   
categorizer   astyper   )dfddfres_pres_ds       r$   !test_get_dummies_categories_orderr4   $   s    	555<U<U<UVV	W	WB
.
+
+
+C
..#s.
,
,CN299Z0011EN3EeUr&   c            	     N   t          j        t          j        g d          t          d          t          j        t          d                    d          } t	          j        | d          }t          j        | ddg          }t	          j        |ddg          }t          ||           t          j	        |j
        |j
                   t          j        t                    5  t	          j        |           d d d            n# 1 swxY w Y   t          j        t                    5  t	          j        |j                   d d d            n# 1 swxY w Y   t          j        t                    5  t	          j        |dg           d d d            d S # 1 swxY w Y   d S )	Nr   r   r   r   cr   r   r7   r,   r   )r   r-   Categoricallistr   r   r   r   r   r   r    pytestraisesNotImplementedErrorr   r0   r1   r!   r#   s       r$   test_get_dummies_objectr>   -   s;   	 8 8 899j!!Z 0 011	
 	

 
B .Q

C .c3Z
0
0
0C
.sCj
1
1
1Cc3#+s{333	*	+	+  
s               
*	+	+  
su               
*	+	+ + +
sSE****+ + + + + + + + + + + + + + + + + +s6   &DDD+EEE5FF!Fc            
        t          j        g dd          } t          j        | dd          }t          j        | d          }t          j        |dd          }t          ||           t          j        | d	          }t          j        |d	          }t          ||           t          j        d
d
d
dt          j        dt          j        dgd          } t          j        |           }t          j        | d          }t          j        |          }t          ||           t          j        | d          }t          j        |d          }t          ||           d S )Nr   r   r   X-)prefix
prefix_sepr   T)
drop_firstr   r      )dummy_na)r   Seriesr   r   r   r   npnan)sr!   dsr#   s       r$   test_get_dummies_kwargsrL   G   sL   
	****===A
.33
7
7
7C	1		B
.CC
8
8
8Cc3
.t
,
,
,C
.
-
-
-Cc3 		1aArvq"&!4JGGGA
.

C	1		B
.

Cc3 .T
*
*
*C
.d
+
+
+Cc3r&   c                      fd}|S )Nc                     t          j        d          5 }               d d d            n# 1 swxY w Y   t          t          d          k    rt	          d | D                       sJ d S | rJ d S )NT)recordz1.4.0c              3  B   K   | ]}d t          |j                  v V  dS )z*In a future version, passing a SparseArrayN)strmessage).0rs     r$   	<genexpr>zFcheck_pandas_issue_45618_warning.<locals>.decorator.<locals>.<genexpr>j   sC         =AIN     r&   )warningscatch_warningsr   parse_versionall)rO   	test_funcs    r$   	decoratorz3check_pandas_issue_45618_warning.<locals>.decoratorf   s    $D111 	VIKKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]73333           
 s   .22 )rZ   r[   s   ` r$    check_pandas_issue_45618_warningr]   a   s$    
	 	 	 	 	 r&   c               #     K   t          j                    5  t          j        dt          d           d V  d d d            d S # 1 swxY w Y   d S )Nignorez/`np.bool8` is a deprecated alias for `np.bool_`)r   rR   )rV   rW   filterwarningsDeprecationWarningr\   r&   r$   ignore_numpy_bool8_deprecationrb   t   s       
	 	"	"  'E	
 	
 	
 	

 	                 s   !AAAc                    t          j        t          j        g dg d                    } t          j        | d          }t          j        | d          }t          j        |d          }t                      5  t          ||           d d d            n# 1 swxY w Y   |                                j	        j
        }|j        t          d          k    sJ |j        t          k    sJ t          |j	                                        j
        t           j                  sJ t          j        |                     d	          d          }t          j        |                    d	          d          }t                      5  t          ||           d d d            n# 1 swxY w Y   t          |j                                        j
        t           j                  sJ d S )
Nr   r   r   r6   r   r   Tsparser   r   name)r   rG   r8   r   r   r   rb   r   computer   r   
fill_valuer   subtype
isinstanceSparseDtypeto_framea_a)rJ   rK   r!   r#   r   s        r$   test_get_dummies_sparserp      s   
	".___MMMNNA	1		B
.4
(
(
(C
.D
)
)
)C	'	)	)  #s               KKMMO!E9!<<<<<<=66666cemmoo+R^<<<<<
.--d
;
;
;C
.#..t
<
<
<C	'	)	)  #s              cgoo''-r~>>>>>>>s$   <BB BF%%F),F)c                 Z   t          j        t          j        g dg d          g dd          } t          j        | d          }t          j        | d          }t          j        |d          }t                      5  t          ||           d d d            n# 1 swxY w Y   |                                j	        j
        }|j        t          d	          k    sJ |j        t          k    sJ t          |j	                                        j
        t           j                  sJ d S )
Nrd   r6   r   r   r   r   ABr   Tre   r   )r   r-   r8   r   r   r   rb   r   ri   A_ar   rj   r   rk   rl   rm   )r0   r1   r!   r#   r   s        r$   test_get_dummies_sparse_mixrw      s]   	OOOLLL	
 	

 
B .Q

C
.D
)
)
)C
.T
*
*
*C	'	)	)  #s               KKMM#E9!<<<<<<=66666cgoo''-r~>>>>>>>s   BB"%B"c                    t          j        t          j        g dg d          g dd          } t          j        | d          }t          j        | d          }t          j        |d          }t          ||           |                                j        j	        dk    sJ t          t          j        | d          |           |                                j        j	        dk    sJ d S )	Nrd   r6   r   rr   rs   r   float64r   )
r   r-   r8   r   r   r   r   ri   rv   r   r=   s       r$   test_get_dummies_dtyperz      s    	OOOLLL	
 	

 
B .Q

C
.9
-
-
-C
.I
.
.
.Cc3;;=="i//// bnRy1113777;;=="i//////r&   c                 z   t          j        t                    5  t          j        g d          } t          j        | d          }t          j        |           d d d            n# 1 swxY w Y   t          j        t          d          t          d          d          }t          j        |d          }t          dddt          j                              |_        t          j        t                    5  t          j        |           d d d            n# 1 swxY w Y   t          j        t                    5  t          j        |d	d
g           d d d            n# 1 swxY w Y   t          j        t                    5  t          j        |j                   d d d            d S # 1 swxY w Y   d S )Nr   r   abcbcbcbcb)xyr*   r   parent_metar~   r   r,   )r:   r;   r<   r   rG   r   r   r   r-   r9   r	   _metar~   )rJ   rK   r0   r1   s       r$   test_get_dummies_errorsr      s   	*	+	+  I...//^Aq!!
r	               
DMMW>>	?	?B
.
+
+
+Cz**  CI 
*	+	+  
s               
*	+	+ 0 0
sS#J////0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
*	+	+  
su                 sH   A A&&A*-A*;DD #D  E%%E),E)	F00F47F4valuesru   Daggfunc)meansumcountfirstlastc                l   t          j        t          j                            t          d          d          t          j                            d          t          j        t          j                            t          d          d                    t          j                            d          d          }t          j	        |d          
                    d          }t          j        |dd	| |
          }t          j        |dd	| |
          }|dk    r|                    t          j                  }t          ||           |                    dd	| |
          }|                    dd	| |
          }|dk    r|                    t          j                  }t          ||           d S )NXYZd   sizeabcrt   ru   Cr   rE   r      (   <   P   b   c   rt   r   indexr    r   r   r   )r   r-   rH   randomchoicer9   randnr8   r   r   repartitionpivot_tabler/   ry   r   r   r   r0   r1   r#   r!   s         r$   test_pivot_tabler      ss    
!!$u++C!88%%	 0 0e3 0 G GHH%%		
 	

 
B .Q


+
+,G
H
HC
.CVW
U
U
UC
.3FG
T
T
TC'jj$$c3 //S/
Q
QC
..sC.
P
PC'jj$$c3r&   r   r   c                   t          j        t          j                            t          d          d          t          j                            d          t          j        t          j                            t          d          d                    t          j                            t          d          d          d          }t          j	        |d          
                    d          }t          j        |dd	| |
          }t          j        |dd	| |
          }t          ||           |                    dd	| |
          }|                    dd	| |
          }t          ||           d S )Nr   r   r   r   r   rE   r   rt   r   r   )r   r-   rH   r   r   r9   r   r8   r   r   r   r   r   r   s         r$   test_pivot_table_firstlastr      sD    
!!$u++C!88%%	 0 0e3 0 G GHH!!$u++C!88		
 	

 
B .Q


+
+,G
H
HC
.CVW
U
U
UC
.3FG
T
T
TCc3 //S/
Q
QC
..sC.
P
PCc3r&   c                 &   t          j        t          d          t          j        t          d                    g dd          } t	          j        | d          }t	          j        |dddd	
          }t          j        ddgd          }t          j        t          j
        gdz  |          }t          j        |j        |           t          j        | dddd	
                              t          j
                  }t          ||           d S )NAABBABAB)r   r   r   r   rt   ru   r   r   rt   ru   r   r   r   rg   )r   )r   r-   r9   r8   r   r   r   CategoricalIndexrG   rH   ry   r   assert_series_equaldtypesr/   r   )r0   r1   r#   	exp_indexr!   s        r$   test_pivot_table_dtyper     s    	6llV!=!=LLLQQ
 
B .Q

C
.CS'
R
R
RC#S#JS999I
)RZL1$I
6
6
6C3:s+++
.
#s3  fRZ  c3r&   c                 F   t          j        t          j        ddd          t          j        t	          d                    g dd          } t          j        | d          }t          j        |d	d
dd          }|j        j	        t          j	        d          k    sJ d S )Nz
2019-08-01r   1D)startperiodsfreqr   )r   r   r   r   r   rt   ru   r   r   r   zdatetime64[ns])r   r-   
date_ranger8   r9   r   r   r   r   r   rH   )r0   r1   r#   s      r$   test_pivot_table_index_dtyper      s    	\14HHHU,,	
 	

 
B .Q

C
.CS'
R
R
RC9?bh'788888888r&   c                    t          j        t          j                            t          d          d          t          j                            d          t          j        t          j                            t          d          d                    d          } t          j	        | d          }d}t          j        t                    5 }t          j        |dgdd	
           d d d            n# 1 swxY w Y   |t          |j                  v sJ d}t          j        t                    5 }t          j        |ddgd	
           d d d            n# 1 swxY w Y   |t          |j                  v sJ d}t          j        t                    5 }t          j        |ddd	gg
           d d d            n# 1 swxY w Y   |t          |j                  v sJ d}t          j        t                    5 }t          j        |ddd	dg           d d d            n# 1 swxY w Y   |t          |j                  v sJ t          j        t                    5 }t          j        |ddd	d           d d d            n# 1 swxY w Y   |t          |j                  v sJ t!          t"          t$          ddt          j                              |_        d}t          j        t                    5 }t          j        |ddd	g
           d d d            n# 1 swxY w Y   |t          |j                  v sJ t          j        t          j                            t          d          d          t          j                            d          t          j                            t          d          d          d          } t          j	        | d          }d}t          j        t                    5 }t          j        |ddd	
           d d d            n# 1 swxY w Y   |t          |j                  v sJ d S )Nr   
   r   r   r   z.'index' must be the name of an existing columnrt   r   ru   )r   r    r   z0'columns' must be the name of an existing columnz4'values' must refer to an existing column or columnsz>aggfunc must be either 'mean', 'sum', 'count', 'first', 'last'r   r   xxr   r   z$'columns' must have known categoriesz 'columns' must be category dtype)r   r-   rH   r   r   r9   r   r8   r   r   r:   r;   
ValueErrorr   rQ   valuer	   objectfloatr   )r0   r1   msgerrs       r$   test_pivot_table_errorsr   .  s   	!!$u++B!77$$	 0 0e2 0 F FGG	
 	

 
B .Q

C
:C	z	"	" Bc
s3%SAAAAB B B B B B B B B B B B B B B#ci..    
<C	z	"	" Bc
s#uSAAAAB B B B B B B B B B B B B B B#ci..    
@C	z	"	" Dc
s#sSE7CCCCD D D D D D D D D D D D D D D#ci..    
JC	z	"	" Qc
s#s3PPPPQ Q Q Q Q Q Q Q Q Q Q Q Q Q Q#ci..    	z	"	" Nc
s#s3MMMMN N N N N N N N N N N N N N N#ci..     5z22  CI 1C	z	"	" Bc
s#sC5AAAAB B B B B B B B B B B B B B B#ci..    	!!$u++B!77$$!!$u++B!77	
 	

 
B .Q

C
,C	z	"	" @c
s#s3????@ @ @ @ @ @ @ @ @ @ @ @ @ @ @#ci..      s~   C66C:=C:4EE!EF??GG=H$$H(+H( JJ
J
9LL#&L#?P$$P(+P()-
__future__r   
contextlibrV   numpyrH   pandasr   r:   packaging.versionr   rX   dask.dataframe	dataframer   dask.dataframe._compatr   r   dask.dataframe.reshaper   dask.dataframe.utilsr   r	   markparametrizerG   r8   r-   r9   r%   r4   r>   rL   r]   contextmanagerrb   rp   rw   rz   r   r   r   r   r   r   r\   r&   r$   <module>r      s   " " " " " "               4 4 4 4 4 4       5 5 5 5 5 5 5 5 = = = = = = 5 5 5 5 5 5 5 5 
	****===	.".!9!9!9lllSSSTT***Z@P@P1Q1QRR	
 	
	 	4 4	 	4  + + +4  4  & 	 	 	 "? ? "!?* "? ? "!?(0 0 0&  0 C#c
#;<<$M$M$MNN  ON =<8 C#c
#;<<Wf$566  76 =<.  $9 9 94! 4! 4! 4! 4!r&   