
    bi(                       d dl m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mZ d dlmZmZ erdndZd Zd Zd	 Zd
 Zd Zd Zd Zej2                  j5                  dddg      d        Zej2                  j5                  dddg      d        Zd Zej2                  j5                  dddg      d        Zd Zej2                  j5                  dddg      d        Z d Z!d Z"y)    )annotationsN)PANDAS_GE_220tm)	assert_eqget_string_dtypeMEMc            	     &   t         j                  j                  ddt        t        t
        dddt               } | j                  d   t        j                  d      k(  sJ | j                  d	   t        j                  d
      k(  sJ t        j                  | j                  t        j                  g d             | d   j                         j                  t        k(  sJ t!        j"                  | d   j                         t         j$                        sJ | d   j                         j                  t'               k(  sJ | j(                  j*                  dk(  sJ | j                         j(                  j*                  | j(                  j*                  k(  sJ | j                  t-        t        j.                  dddt                     k(  sJ t        j0                  | j                         | j                                t         j                  j                  ddt        t        t
        dddt         d      }t         j                  j                  ddt        t        t
        dddt         d      }t         j                  j                  ddt        t        t
        dddt         d      }t         j                  j                  ddt        t        t
        dddt         d      }t         j                  j                  ddt        t        t
        dddt         d      }t        j0                  |j                         |j                                |j                  d      |j                  d      k(  j3                         j3                         rJ |j4                  |j4                  k(  sJ |j4                  |j4                  k7  sJ |j4                  |j4                  k7  sJ |j4                  |j4                  k7  sJ y )N20002015ABC2D6freqpartition_freqr   z
2000-01-31z
2014-07-31r   r   r   	timestamp)startendr   {   r   r   seedi  31D
   )dddemomake_timeseriesfloatintstrr   	divisionspd	Timestampr   assert_index_equalcolumnsIndexheaddtypenp
issubdtypeintegerr   indexnametuple
date_rangeassert_frame_equalall_name)dfabcdes         \/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/dask/dataframe/io/tests/test_demo.pytest_make_timeseriesr?      sB   		 	 #C(2$x 
! 
B <<?bll<8888<<r||L9999"**bhh&?@c7<<>5(((==C444c7<<>#3#555588==K'''779??288==000<<5VPQRTQUh!WXXXX"'')RWWY/
#C(2$x 	  	A 	#C(2$x 	  	A 	#C(2$x 	  	A 	#C(2$x 	  	A 	#C(2$x 	  	A !&&(AFFH-r
affRj(--/3355577agg77agg77agg77agg    c                     t         j                  j                         } d| j                  cxk  rdk  sJ  J t	        | j
                        dkD  sJ t	        t        | j                              dkD  sJ y )N   i  )r    r!   r"   npartitionslenr*   setdtypesr8   s    r>   test_make_timeseries_no_argsrH   T   sb    		 	 	"Br~~$$$$$$rzz?Qs299~"""r@   c                      t         j                  j                  dddt        iddt                t         fdt         j                  dz
        D              sJ y )	Nr   2001r   3hr   r   c              3    K   | ]v  }j                  |      j                  j                         j                         j                  |d z         j                  j	                         j                         k   x yw)rB   N)get_partitionr1   maxcomputemin).0ir8   s     r>   	<genexpr>z#test_no_overlaps.<locals>.<genexpr>`   sm        	!!%%'//1


1q5
!
'
'
+
+
-
5
5
7	8s   A<A?   )r    r!   r"   r#   r   r6   rangerC   rG   s   @r>   test_no_overlapsrV   [   sb    		 	 e4!B4 
! 
B   r~~)*   r@   c            	     \   t         j                  j                  ddt        t        t        dddt
         dd      } | j                  j                         }| j                  j                         }t        j                  ||d	
      \  }}d|cxk  rdk  sJ  J d|cxk  rdk  sJ  J y )Nr   rJ   r   r   r   @B rT   )r   r   A_lamB_lamsingle-threaded	schedulerd   逖 rB   )r    r!   r"   r$   r%   r   r   nuniquer   daskrO   r8   a_cardinalityb_cardinalityaabbs        r>   test_make_timeseries_keywordsrg   g   s    		 	 #&2$x 
! 
B DDLLNMDDLLNM\\-BSTFBxr=S===r@   c            	     \   t         j                  j                  ddt        t        t        dddt
         dd      } | j                  j                         }| j                  j                         }t        j                  ||d	
      \  }}d|cxk  rdk  sJ  J d|cxk  rdk  sJ  J y )Nr   rJ   )A_BB_r   r   r   rX   rT   )r   r   A_B_lamB__lamr[   r\   r^   r_   rB   )r    r!   r"   r$   r%   r   ri   r`   rj   ra   rO   rb   s        r>   #test_make_timeseries_fancy_keywordsrm   z   s    		 	 3S)2$x 
! 
B FFNN$MEEMMOM\\-BSTFBxr=S===r@   c                    t         j                  j                         } | | j                  dkD     }|j	                         }|d   j                         dkD  sJ t        | j                        t        |j                        k(  sJ y )Nr   y)r    r!   r"   ro   rO   rP   listr*   )r8   df2df3s      r>   $test_make_timeseries_getitem_computers      sj     
	 	 	"B
RTTAX,C
++-Cs8<<>A

tCKK0000r@   c                    t         j                  j                  ddddt         d      } t	        | dg   j                         | j                         dg          t	        | j                  d      j                  d	d
d      j                         | j                         j                  d      j                  d	d
d             y )NrJ   2002r   r   *   r   xr2   sumrN   )rw   ro   )r    r!   r"   r   r   rO   groupby	aggregate)ddfs    r>   &test_make_timeseries_column_projectionr|      s    
''
!
!TAbT( " C c3%j  "CKKM3%$89F%%E&>?GGIf%//e%0HIr@   r   rv   c                   ddl m}m}  |dd      } |||       }t        |t        j
                        sJ |j                  dk(  sJ |j                  j                         g dk(  sJ |d   j                  d	k(  sJ |d
   j                  t        k(  sJ |d   j                  j                  dk(  sJ |d   j                  t               k(  sJ |j                         }t        |      dk(  sJ y)z*Make a dataset with default random columnsr   )DatasetSpec	with_specr   rT   )nrecordsrC   r   i1f1c1s1r   int64r   r   categoryr   N)dask.dataframe.io.demor~   r   
isinstancer    	DataFramerC   r*   tolistr-   r#   r2   r   rO   rD   )r   r~   r   specr{   ress         r>   test_with_specr      s     >2D
Dt
$Cc2<<(((??a;;#;;;;t9??g%%%t9??e###t9??:---t9??.0000
++-Cs8r>>r@   c                   ddl m}m}m}m}  |dd |dd       |ddd	d
d       |ddd       |ddddg       |dt
        dd      g      } |||       }t        |t        j                        sJ |j                  j                         g dk(  sJ |j                  j                  dk(  sJ |d   j                  dk(  sJ |d   j                  dk(  sJ |d   j                  j                  dk(  sJ |d   j                  t               k(  sJ |j                         j!                         }t#        |      dk(  sJ t%        |j&                  j(                  j*                        ddhk(  sJ |j,                  j/                         d	k\  sJ |j,                  j1                         d
k  sJ t3        d |j4                  j                         D              sJ t#        |j4                  j7                               dk  sJ y ) Nr   )
ColumnSpecr~   RangeIndexSpecr      r   int32rT   )r-   steprR   rB   r^   T)prefixr-   lowhighrandomffloat32r   r-   r   r;   r   applebanana)r   r-   choicess   )r   r-   lengthr   )rC   r   
index_speccolumn_specsr   r   r   r   r   r   c              3  8   K   | ]  }t        |      d k(    yw)r   NrD   rQ   r   s     r>   rS   z-test_with_spec_non_default.<locals>.<genexpr>   s     5s1v|5   )r   r   r~   r   r   r%   r   r    r   r*   r   r1   r-   r2   r   rO   
sort_indexrD   rE   r   cat
categoriesr   rP   rN   r6   r   unique)r   r   r~   r   r   r   r{   r   s           r>   test_with_spec_non_defaultr      s     !a8cac$Oc4@cgx=PQcRE	
	
D Dt
$Cc2<<(((;;#;;;;99??g%%%t9??g%%%t9??i'''t9??:---t9??.0000
++-
"
"
$Cs8r>>svvzz$$%'8)<<<<66::<166::<35SVV]]_5555svv}}2%%%r@   c            	        t        j                  ddd       ddlm} m}m}  |dd | d	dd
      g      } ||d      }t        |t        j                        sJ |j                  j                         dgk(  sJ |d   j                  d	k(  sJ |j                         }|d   j                  d	k(  sJ t        d |d   j                         D              sJ y )Npyarrowz1.0.0zpyarrow is required)reasonr   r   r~   r   rB   r   zstring[pyarrow]T)r-   r   r   rC   r   r   rv   r   string_pyarrow1c              3  8   K   | ]  }t        |      d k(    yw)r   Nr   r   s     r>   rS   z)test_with_spec_pyarrow.<locals>.<genexpr>   s     Es1v|Er   )pytestimportorskipr   r   r~   r   r   r    r   r*   r   r-   rO   r6   r   r~   r   r   r{   r   s         r>   test_with_spec_pyarrowr      s    
	73HIII.r$G
D Dr
"Cc2<<(((;;$5#6666 !''+<<<<
++-C !''+<<<<ES):%;%B%B%DEEEEr@   c           
         ddl m}m}m}  |dd |t               |t               |t               |t              g      } |||       }|j
                  j                         g dk(  sJ y )	Nr   r   rB      r-   r   r   )int1int2int3int4)r   r   r~   r   r$   r*   r   )r   r   r~   r   r   r{   s         r>   test_same_prefix_col_numberingr      sg    IIS!S!S!S!	
	D Dt
$C;;#CCCCr@   c                     ddl m} m}m}  |dd | dd      g      } ||d	
      }|j	                         }|j
                  j                  j                  j                         g dk(  sJ y )Nr   r   rB      r   r   )r-   r`   r   rv   r   )
01020304050607080910)	r   r   r~   r   rO   	category1r   r   r   r   s         r>   test_with_spec_category_nuniquer      sp    IIZ4
D Dr
"C
++-C==''..0 5   r@   c           
     h   ddl m}m}m}  |dd |t               |t               |t               |t              g      } |||       }|j                         }|j                  D ]D  }d||   j                         cxk  rd	k  sJ  J d||   j                         cxk  rd	k  rAJ  J  y )
Nr   r   rB   r   r   r   r   i  i  )	r   r   r~   r   r$   rO   r*   rP   rN   )r   r   r~   r   r   r{   r   cols           r>   test_with_spec_default_integerr     s    IIS!S!S!S!	
	D Dt
$C
++-C{{ +SX\\^*d*****SX\\^*d*****+r@   c                    ddl m} m}m}  |dd | dt        d       | dt        d	       | d
t        d       | dt        dd       | dt        dd       | dt        ddd       | dt        d      g      } ||d      }|j                         }|d   j                         g dk(  sJ |d   j                         g dk(  sJ |d   j                         g dk(  sJ |d    j                         g d!k(  sJ |d"   j                         g d#k(  sJ |d$   j                         g d%k(  sJ |d&   j                         g d'k(  sJ y )(Nr   r   rB   r   poispoisson)r   r-   methodnormnormalunifuniformbinombinomial)r^   g?)r   r-   r   argschoice)r   randTr   )r   r-   r   r   r   r   r   rv   r   pois1)i  i  i  i  i  norm1)iiiU  i  i  unif1)i  i  i  i  i  binom1)"   .   &   %   +   choice1)r   r   rB      r   rand1)   r   	   r   r   rand2)is  h      i     )r   r   r~   r   r$   rO   r   r   s         r>   test_with_spec_integer_methodr   /  sT   IIfC	BfCAfC	BgS*Uhc(OfC!"MfC=
D Dr
"C
++-Cw< $@@@@w< $@@@@w< $====x=!%9999y>  "o555w< O333w< $====r@   c            	         ddl m} m}m}m}  |d |dddd       | t
        	      g
      } ||d      }|j                  j                  dk(  sJ |j                         }t        |      dk(  sJ y )Nr   )r   r~   DatetimeIndexSpecr   r   zdatetime64[ns]1hz
2023-01-02r   )r-   r   r   r   r   )r   r   r   rv   r   )
r   r   r~   r   r   r$   r1   r-   rO   rD   )r   r~   r   r   r   r{   r   s          r>   test_with_spec_datetime_indexr   J  sz      $"\RV
 !s+,D Dr
"C99??....
++-Cs8r>>r@   )#
__future__r   numpyr.   pandasr'   r   ra   dask.dataframe	dataframer    dask.dataframe._compatr   r   dask.dataframe.utilsr   r   r   r?   rH   rV   rg   rm   rs   r|   markparametrizer   r   r   r   r   r   r   r    r@   r>   <module>r      s   "      4 <TBJ#	&&1	 $, -" $,!& -!&HF( $,D -D"4 $,+ -+(>6r@   