
    >ie+                       d dl m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mZ d dlmZ d dlmZmZ erdndZd	 Zd
 Zej        j        d             Zd Zd Zd Zd Zd Zej                             dddg          d             Z!ej                             dddg          d             Z"d Z#ej                             dddg          d             Z$d Z%ej                             dddg          d             Z&d Z'd Z(dS )    )annotationsN)	Blockwiseoptimize_blockwise)PANDAS_GE_200PANDAS_GE_220tm)optimize_dataframe_getitem)	assert_eqget_string_dtypeMEMc            	        t           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        t          k    sJ | d                                         j        t          k    sJ | d                                         j        t!                      k    sJ | j        j        dk    sJ |                                 j        j        | j        j        k    sJ | j        t'          t          j        dddt                               k    sJ t          j        |                                 |                                            t           j                            ddt          t          t
          dddt           d          }t           j                            ddt          t          t
          dddt           d          }t           j                            ddt          t          t
          dddt           d          }t           j                            ddt          t          t
          dddt           d          }t           j                            ddt          t          t
          dddt           d          }t          j        |                                |                                           |                    d          |                    d          k                                                                    rJ |j        |j        k    sJ |j        |j        k    sJ |j        |j        k    sJ |j        |j        k    sJ d S )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dtyper   indexnametuple
date_rangeassert_frame_equalall_name)dfabcdes         Alib/python3.11/site-packages/dask/dataframe/io/tests/test_demo.pytest_make_timeseriesr@      s   		 	 #C((2xx 
! 
 
B <?bl<888888<r|L999999"*bh&?&?@@@c7<<>>5((((c7<<>>3&&&&c7<<>>#3#5#555558=K''''7799?28=0000<5VhRThh!W!W!WXXXXXX"''))RWWYY///
#C((2xx 	  	 	A 	#C((2xx 	  	 	A 	#C((2xx 	  	 	A 	#C((2xx 	  	 	A 	#C((2xx 	  	 	A !&&((AFFHH---r

affRjj(--//33555557ag7ag7ag7ag    c                     t           j                                        } d| j        cxk     rdk     sn J t	          | j                  dk    sJ t	          t          | j                            dk    sJ d S )N   i  )r$   r%   r&   npartitionslenr.   setdtypesr9   s    r?   test_make_timeseries_no_argsrI   U   s|    		 	 	"	"Br~$$$$$$$$$$rz??Qs29~~""""""rA   c                    t           j                                        ddg         fdt          j                  D             } t                                          |           }d |j                                        D             d         }t          |j        |         j
                  ddhk    sJ t                                          |           }|j        }t          |                                          d         }t          |          dk    sJ t          ||         t                    sJ d S )Nxyc                "    g | ]}j         |fS  )r8   .0ir9   s     r?   
<listcomp>z2test_make_timeseries_blockwise.<locals>.<listcomp>`   s    999aRXqM999rA   c                <    g | ]}|                     d           |S )zmake-timeseries-)
startswith)rP   ks     r?   rR   z2test_make_timeseries_blockwise.<locals>.<listcomp>e   s*    
N
N
NQ\\:L-M-M
N1
N
N
NrA   r   rC   )r$   r%   r&   rangerD   r	   __dask_graph__layerskeysrF   r.   r   listrE   
isinstancer   )rY   graphkeyrX   r3   r9   s        @r?   test_make_timeseries_blockwiser^   \   s%   		 	 	"	"B	S#JB99995#8#8999D 'r'8'8':':DAAE
N
Nel''))
N
N
Nq
QCu|C ())c3Z7777 r0022D99E\Fq!Dv;;!fTlI.......rA   c                      t           j                            dddt          iddt                      t           fdt           j        dz
            D                       sJ d S )	Nr   2001r   3hr!   r   c              3    K   | ]}                     |          j                                                                                             |d z             j                                                                        k     V  dS )rC   N)get_partitionr2   maxcomputeminrO   s     r?   	<genexpr>z#test_no_overlaps.<locals>.<genexpr>v   s          	!%%''//11


1q5
!
!
'
+
+
-
-
5
5
7
7	8     rA      )r$   r%   r&   r'   r   r7   rV   rD   rH   s   @r?   test_no_overlapsri   q   s    		 	 e4B 
! 
 
B      r~)**         rA   c            	     d   t           j                            ddt          t          t          dddt
           dd          } | j                                        }| j                                        }t          j
        ||d	
          \  }}d|cxk     rdk    sn J d|cxk     rdk    sn J d S )Nr   r`   r   r"   r   @B rh   )r   r   A_lamB_lamsingle-threaded	schedulerd   逖 rC   )r$   r%   r&   r(   r)   r   r   nuniquer   daskre   r9   a_cardinalityb_cardinalityaabbs        r?   test_make_timeseries_keywordsrz   }   s    		 	 #&&2xx 
! 
 
B DLLNNMDLLNNM\-BSTTTFBxr====S========rA   c            	     d   t           j                            ddt          t          t          dddt
           dd          } | j                                        }| j                                        }t          j
        ||d	
          \  }}d|cxk     rdk    sn J d|cxk     rdk    sn J d S )Nr   r`   )A_BB_r   r"   r   rk   rh   )r   r   A_B_lamB__lamrn   ro   rq   rr   rC   )r$   r%   r&   r(   r)   r   r|   rs   r}   rt   re   ru   s        r?   #test_make_timeseries_fancy_keywordsr      s    		 	 3S))2xx 
! 
 
B FNN$$MEMMOOM\-BSTTTFBxr====S========rA   c                 $   t           j                                        } | | j        dk             }|                                }|d                                         dk    sJ t          | j                  t          |j                  k    sJ d S )Nr   rL   )r$   r%   r&   rL   re   rf   rZ   r.   )r9   df2df3s      r?   $test_make_timeseries_getitem_computer      s{     
	 	 	"	"B
RTAX,C
++--Cs8<<>>A
tCK00000000rA   c                    t           j                            ddddt           d          } t	          | dg                                         |                                 dg                    t	          |                     d                              d	d
d                                          |                                                     d                              d	d
d                     d S )Nr`   2002r"   r!   *   r   rK   r3   sumrd   )rK   rL   )r$   r%   r&   r   r
   re   groupby	aggregate)ddfs    r?   &test_make_timeseries_column_projectionr      s    
'
!
!T(b(( "  C c3%j  ""CKKMM3%$8999F%%E&>&>??GGIIf%%//e%0H0HII    rA   r    r   c                   ddl m}m}  |dd          } |||           }t          |t          j                  sJ |j        dk    s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 |                                }t          |          dk    sJ dS )z*Make a dataset with default random columnsr   )DatasetSpec	with_specr#   rh   )nrecordsrD   r    i1f1c1s1r   int64r   r   categoryr   N)dask.dataframe.io.demor   r   r[   r$   	DataFramerD   r.   tolistr1   r'   r3   r   re   rE   )r    r   r   specr   ress         r?   test_with_specr      s    >=======;222D
)Dt
$
$
$Cc2<(((((?a;#;#;#;;;;;t9?g%%%%t9?e####t9?:----t9?.000000
++--Cs88r>>>>>>rA   c                H   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	        
                                g dk    sJ t          r|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 |                                                                }t%          |          dk    sJ t'          |j        j        j                  ddhk    sJ |j                                        d	k    sJ |j                                        d
k    sJ t5          d |j        
                                D                       sJ t%          |j                                                  dk    sJ d S ) Nr   )
ColumnSpecr   RangeIndexSpecr      r#   int32rh   )r1   steprQ   rC   rq   T)prefixr1   lowhighrandomffloat32r   r1   r   r<   r   applebanana)r   r1   choicess   )r   r1   lengthr   )rD   r   
index_speccolumn_specsr   r   r   r   r   r   c              3  <   K   | ]}t          |          d k    V  dS )r   NrE   rP   r   s     r?   rg   z-test_with_spec_non_default.<locals>.<genexpr>   s,      55s1vv|555555rA   )r   r   r   r   r   r)   r[   r$   r   r.   r   r   r2   r1   r3   r   re   
sort_indexrE   rF   r   cat
categoriesr   rf   rd   r7   r   unique)r    r   r   r   r   r   r   r   s           r?   test_with_spec_non_defaultr      s               ;!>a888Jcac$OOOJc4@@@Jcgx=PQQQJcREEE	
	
 
 
D )Dt
$
$
$Cc2<(((((;#;#;#;;;;; *y'))))t9?g%%%%t9?i''''t9?:----t9?.000000
++--
"
"
$
$Cs88r>>>>svz$%%'8)<<<<<6::<<16::<<355SV]]__55555555sv}}2%%%%%%rA   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	        
                                dgk    sJ |d         j        d	k    sJ |                                }|d         j        d	k    sJ t          d |d         
                                D                       sJ d S )Npyarrowz1.0.0zpyarrow is required)reasonr   r   r   r   rC   r#   zstring[pyarrow]T)r1   r   r   rD   r   r   r   r   string_pyarrow1c              3  <   K   | ]}t          |          d k    V  dS )r#   Nr   r   s     r?   rg   z)test_with_spec_pyarrow.<locals>.<genexpr>  s,      EEs1vv|EEEEEErA   )pytestimportorskipr   r   r   r   r[   r$   r   r.   r   r1   re   r7   r   r   r   r   r   r   s         r?   test_with_spec_pyarrowr      s>   
	73HIIIIIIIIIIIIII;J.r$GGG
  D )Dr
"
"
"Cc2<(((((;$5#66666 !'+<<<<<
++--C !'+<<<<<EES):%;%B%B%D%DEEEEEEEEEErA   c           
        ddl m}m}m}  |dd |t                     |t                     |t                     |t                    g          } |||           }|j                                        g dk    sJ d S )	Nr   r   rC      r1   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     s    IIIIIIIIII;JS!!!JS!!!JS!!!JS!!!	
	 	 	D )Dt
$
$
$C;#C#C#CCCCCCCrA   c                     ddl m} m}m}  |dd | dd          g          } ||d	
          }|                                }|j        j        j                                        g dk    sJ d S )Nr   r   rC      r   r#   )r1   rs   r   r   r   )
01020304050607080910)	r   r   r   r   re   	category1r   r   r   r   s         r?   test_with_spec_category_nuniquer     s    IIIIIIIIII;JZ444
  D )Dr
"
"
"C
++--C='..00 5 5 5      rA   c           
        ddl m}m}m}  |dd |t                     |t                     |t                     |t                    g          } |||           }|                                }|j        D ]T}d||                                         cxk     rd	k     sn J d||                                         cxk     rd	k     sn J Ud S )
Nr   r   rC   r   r   r   r   i  i  )	r   r   r   r   r(   re   r.   rf   rd   )r    r   r   r   r   r   r   cols           r?   test_with_spec_default_integerr   1  s$   IIIIIIIIII;JS!!!JS!!!JS!!!JS!!!	
	 	 	D )Dt
$
$
$C
++--C{ + +SX\\^^****d******SX\\^^****d*******+ +rA   c                 X   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          }|                                }|d                                         g dk    sJ |d                                         g dk    sJ |d                                         g dk    sJ |d                                          g d!k    sJ |d"                                         g d#k    sJ |d$                                         g d%k    sJ |d&                                         g d'k    sJ d S )(Nr   r   rC   r   poispoisson)r   r1   methodnormnormalunifuniformbinombinomial)rq   g?)r   r1   r   argschoice)r#   randTr#   )r   r1   r   r   r   r   r   r   r   pois1)i  i  i  i  i  norm1)iiiU  i  i  unif1)i  i  i  i  i  binom1)"   .   &   %   +   choice1)r   r   rC      r   rand1)   r   	   r   r   rand2)is  h      i     )r   r   r   r   r(   re   r   r   s         r?   test_with_spec_integer_methodr   F  s   IIIIIIIIII;JfC	BBBJfCAAAJfC	BBBJgS*UUUJhc(OOOJfC!"MMMJfC===
  D )Dr
"
"
"C
++--Cw<  $@$@$@@@@@w<  $@$@$@@@@@w<  $=$=$=====x=!!%9%9%99999y>  ""ooo5555w<  OOO3333w<  $=$=$=======rA   c            	        ddl m} m}m}m}  |d |dddd           | t
          	          g
          } ||d          }|j        j        dk    sJ |                                }t          |          dk    sJ d S )Nr   )r   r   DatetimeIndexSpecr   r#   zdatetime64[ns]1hz
2023-01-02r"   )r1   r   r   r   r   )r   r   r   r   r   )
r   r   r   r  r   r(   r2   r1   re   rE   )r   r   r  r   r   r   r   s          r?   test_with_spec_datetime_indexr  a  s                ;$$"\RV
 
 
 !js+++,  D )Dr
"
"
"C9?.....
++--Cs88r>>>>>>rA   ))
__future__r   pandasr+   r   rt   dask.dataframe	dataframer$   dask.blockwiser   r   dask.dataframe._compatr   r   r   dask.dataframe.optimizer	   dask.dataframe.utilsr
   r   r   r@   rI   markskip_with_pyarrow_stringsr^   ri   rz   r   r   r   parametrizer   r   r   r   r   r   r   r  rN   rA   r?   <module>r     sX   " " " " " "             8 8 8 8 8 8 8 8 C C C C C C C C C C > > > > > > < < < < < < < <#TTB B BJ# # # &/ / '&/(	 	 	  &  &1 1 1	 	 	 $,,  -," $,,"& "& -,"&JF F F( $,,D D -,D"  4 $,,+ + -,+(> > >6    rA   