
    biu)                       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 ej                   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ej4                  d        Zd Zd Zd Zd Zej                   j#                  dddgddgg      ej                   j#                  dg d      d               Z ej                   j#                  dddgddgg      ej                   j#                  dddg      d               Z!d  Z"d! Z#d" Z$y)#    )annotationsN)tm)	assert_eq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                         y )Nr	   )pdget_dummiesddfrom_pandasr   r   assert_index_equalcolumns)r   expddataress       \/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/dask/dataframe/tests/test_reshape.pytest_get_dummiesr!      sR     ..
CNN4#E
..
Cc3#++s{{3    c                    t        j                  g dg dd      } t        j                  | d      }|j	                  ddg      }t        j
                  | j                  d	            }t        j
                  |      }t        ||       y )
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_orderr0   "   sj    	5<UV	WB
..
+C
..#s.
,CNN299Z01ENN3EeUr"   c            	     R   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        t        j                  t              5  t	        j                  |j                         d d d        t        j                  t              5  t	        j                  |dg       d d d        y # 1 sw Y   xY w# 1 sw Y   PxY w# 1 sw Y   y xY w)	Nr   r   r   r   cr	   r   r3   r(   r   )r   r)   Categoricallistr   r   r   r   r   r   r   pytestraisesNotImplementedErrorr   r,   r-   r   r   s       r    test_get_dummies_objectr:   +   s4   	 89j!Z 01	

B ..Q
C ..c3Z
0C
..sCj
1Cc3#++s{{3	*	+ 
s 
*	+ 
suu 
*	+ +
sSE*+ +  + +s$   +F" F#F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        ||       y )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_kwargsrH   E   s   
		**=A
..33
7C	1	B
..CC
8Cc3
..t
,C
..
-Cc3 			1aArvvq"&&!4JGA
..
C	1	B
..
Cc3 ..T
*C
..d
+Cc3r"   c               #     K   t        j                         5  t        j                  dt        d       d  d d d        y # 1 sw Y   y xY ww)Nignorez/`np.bool8` is a deprecated alias for `np.bool_`)r   message)warningscatch_warningsfilterwarningsDeprecationWarning r"   r    ignore_numpy_bool8_deprecationrQ   _   sD      
	 	 	" 'E	

 	  s   A!A	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        |j                         j                  j                  }|j                  t        d      k(  sJ |j                  t        k(  sJ t        |j                  j                         j                  t         j                        sJ t        j
                  | j!                  d	      d      }t        j
                  |j!                  d	      d      }t               5  t        ||       d d d        t        |j"                  j                         j                  t         j                        sJ y # 1 sw Y   GxY w# 1 sw Y   UxY w)
Nr   r   r   r2   r   r	   Tsparser   r   name)r   rC   r4   r   r   r   rQ   r   computer   r   
fill_valueboolsubtype
isinstanceSparseDtypeto_framea_a)rF   rG   r   r   r   s        r    test_get_dummies_sparser`   l   sU   
		".._MNA	1	B
..4
(C
..D
)C	'	) #s KKMOO!!EtAw&&&==D   ceemmo++R^^<<<
..-d
;C
..#.t
<C	'	) #scggoo'--r~~>>>  s   =G;GGG%c                 j   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        |j                         j                  j                  }|j                  t        d	      k(  sJ |j                  t        k(  sJ t        |j                  j                         j                  t         j                        sJ y # 1 sw Y   xY w)
NrS   r2   r   r   r   r   ABr	   TrT   r   )r   r)   r4   r   r   r   rQ   r   rX   A_ar   rY   rZ   r[   r\   r]   )r,   r-   r   r   r   s        r    test_get_dummies_sparse_mixrg      s    	OL	

B ..Q
C
..D
)C
..T
*C	'	) #s KKM##EtAw&&&==D   cggoo'--r~~>>> s   D))D2c                    t        j                  t        j                  g dg d      g dd      } t        j                  | d      }t        j
                  | d      }t        j
                  |d      }t        ||       |j                         j                  j                  dk(  sJ t        t        j
                  | d      |       |j                         j                  j                  dk(  sJ y )	NrS   r2   r   rb   rc   r	   float64r   )
r   r)   r4   r   r   r   r   rX   rf   r   r9   s       r    test_get_dummies_dtyperj      s    	OL	

B ..Q
C
..9
-C
..I
.Cc3;;=""i/// bnnRy137;;=""i///r"   c                 8   t        j                  t              5  t        j                  g d      } t        j                  | d      }t        j                  |       d d d        t        j                  t        d      t        d      d      }t        j                  |d      }|j                  d      }t        j                  t              5  t        j                  |       d d d        t        j                  t              5  t        j                  |dd	g
       d d d        t        j                  t              5  t        j                  |j                         d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   dxY w# 1 sw Y   y xY w)Nr   r	   abcbcbcbcb)xyr&   r   rn   ro   r(   )r6   r7   r8   r   rC   r   r   r   r)   r5   r+   rn   )rF   rG   r,   r-   s       r    test_get_dummies_errorsrp      s'   	*	+ II./^^Aq!
r	 
DMW>	?B
..
+C
**Z
 C	*	+ 
s 
*	+ 0
sS#J/0 
*	+ 
suu #  0 0 s0   AE+E8F F+E58FFFvaluesre   Daggfunc)meansumcountfirstlastc                <   t        j                  t        j                  j	                  t        d      d      t        j                  j                  d      t        j                  t        j                  j	                  t        d      d            t        j                  j                  d      d      }t        j                  |d      j                  d      }t        j                  |dd	| |
      }t        j                  |dd	| |d      }|dk(  r|j                  t        j                        }t        ||       |j                  dd	| |
      }|j                  dd	| |d      }|dk(  r|j                  t        j                        }t        ||       y )NXYZd   sizeabcrd   re   Crr   rA   r      (   <   P   b   c   rd   r   indexr   rq   rs   Fr   r   rq   rs   observedrv   )r   r)   rD   randomchoicer5   randnr4   r   r   repartitionpivot_tabler+   ri   r   rq   rs   r,   r-   r   r   s         r    test_pivot_tabler      sG    
!!$u+C!8%		 0 0e3 0 GH%		

B ..Q

+
+,G
HC
..CVW
UC
..
#s67UC 'jj$c3 //S/
QC
..3vw  C 'jj$c3r"   rw   rx   c                   t        j                  t        j                  j	                  t        d      d      t        j                  j                  d      t        j                  t        j                  j	                  t        d      d            t        j                  j	                  t        d      d      d      }t        j                  |d      j                  d      }t        j                  |dd	| |
      }t        j                  |dd	| |d      }t        ||       |j                  dd	| |
      }|j                  dd	| |d      }t        ||       y )Nrz   r{   r|   r~   r   rA   r   rd   r   r   Fr   )r   r)   rD   r   r   r5   r   r4   r   r   r   r   r   r   s         r    test_pivot_table_firstlastr      s    
!!$u+C!8%		 0 0e3 0 GH!!$u+C!8		

B ..Q

+
+,G
HC
..CVW
UC
..
#s67UC c3 //S/
QC
..3vw  C c3r"   c                 0   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	d      j                  t        j                        }t        ||       y )NAABBABAB)r   r	   r
   r   rd   re   r   r	   rd   re   r   rv   r   rV   )r   Fr   )r   r)   r5   r4   r   r   r   CategoricalIndexrC   rD   ri   r   assert_series_equaldtypesr+   r   )r,   r-   r   	exp_indexr   s        r    test_pivot_table_dtyper      s    	6lV!=LQ
B ..Q
C
..CS'
RC##S#JS9I
))RZZL1$I
6C3::s+
..
#s3%fRZZ  c3r"   c                 Z   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 y )Nz
2019-08-01r
   1D)startperiodsfreqr~   )r   r	   r
   r   r	   rd   re   r   rv   r   zdatetime64[ns])r   r)   
date_ranger4   r5   r   r   r   r   r   rD   )r,   r-   r   s      r    test_pivot_table_index_dtyper     s    	\14HU,	

B ..Q
C
..CS'
RC99??bhh'78888r"   c                 \   t        j                  t        j                  j	                  t        d      d      t        j                  j                  d      t        j                  t        j                  j	                  t        d      d            d      } t        j                  | d      }d}t        j                  t              5 }t        j                  |dgdd	
       d d d        |t        j                        v sJ d}t        j                  t              5 }t        j                  |ddgd	
       d d d        |t        |j                        v sJ d}t        j                  t              5 }t        j                  |ddd	gg
       d d d        |t        |j                        v sJ d}t        j                  t              5 }t        j                  |ddd	dg       d d d        |t        |j                        v sJ t        j                  t              5 }t        j                  |ddd	d       d d d        |t        |j                        v sJ |j                   j"                  j%                         |d<   d}t        j                  t              5 }t        j                  |ddd	g
       d d d        |t        |j                        v sJ t        j                  t        j                  j	                  t        d      d      t        j                  j                  d      t        j                  j	                  t        d      d      d      } t        j                  | d      }d}t        j                  t              5 }t        j                  |ddd	
       d d d        |t        |j                        v sJ y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   [xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   WxY w# 1 sw Y   qxY w)Nr~   
   r|   r   r	   z.'index' must be the name of an existing columnrd   r   re   )r   r   rq   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'ru   r   xxz$'columns' must have known categoriesz 'columns' must be category dtype)r   r)   rD   r   r   r5   r   r4   r   r   r6   r7   
ValueErrorr   strvaluer   cat
as_unknown)r,   r-   msgerrs       r    test_pivot_table_errorsr     sU   	!!$u+B!7$		 0 0e2 0 FG	

B ..Q
C
:C	z	" Bc
s3%SAB#cii.   
<C	z	" Bc
s#uSAB#cii.   
@C	z	" Dc
s#sSE7CD#cii.   
JC	z	" Qc
s#s3PQ#cii.   	z	" Nc
s#s3MN#cii.    uuyy##%CH
0C	z	" Bc
s#sC5AB#cii.   	!!$u+B!7$!!$u+B!7	

B ..Q
C
,C	z	" @c
s#s3?@#cii.   OB BB BD D
Q QN NB B@ @sT   O"O!9O.O;'P%PP"O!O+.O8;PPP"P+)%
__future__r   
contextlibrL   numpyrD   pandasr   r6   dask.dataframe	dataframer   dask.dataframe._compatr   dask.dataframe.utilsr   markparametrizerC   r4   r)   r5   r!   r0   r:   rH   contextmanagerrQ   r`   rg   rj   rp   r   r   r   r   r   rP   r"   r    <module>r      s   "       % * 
		**=		."..!9lST*Z@P1QR	
	4	4+44 	 	?*?(0&, C#c
#;<$MN O =@ C#c
#;<Wf$56 7 =6$92!r"   