
    >ie                   8   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Zd dl	m	Z	m
Z
 d dlmZ d dlmZ 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 d dlZd dlmZ d dlm Z! d dl"Zd d	lm#Z# d d
l$m%Z% d dl&m'Z' d dlm(Z(m)Z) d dl*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1 d dl2m3Z3 d dl4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z< d dl=m>Z>m?Z?m@Z@mAZAmBZBmCZC d dlDmEZE d dlFmGZGmHZHmIZImJZJ d dlKmLZLmMZM 	 d dlNZNn# eO$ r dZNY nw xY w	 d dlPmQZQ n# eO$ r eRZQY nw xY w ejS        g dg ddg d           ejS        g dg ddg d           ejS        g dg ddg d          dZT eBd d d ejU        g d            ejS                    !          ZV e!jS        eTd"eVg d#          ZWeWX                                ZYd.d$ZZd% Z[d& Z\d' Z]d( Z^d) Z_d* Z`d+ Zad, Zbd- Zcd. Zdd/ Zed0 Zfd1 Zgd2 Zhd3 Zid4 Zjd5 Zkd6 Zld7 Zmd8 Znd9 Zoejp        q                    d: ejr        d;d<ejp        s                    eN d=>          ?          d@g          dA             Ztejp        q                    dBddddCdDgfdddg dEfdddg dFfdddg dGfddddHdIgfdJdKgddLdMgdfeju        gdddfdK eA            gddLdNgdfddK eA            gddf eA            dOdPgdddfg          dQ             ZvdR ZwdS ZxdT ZydU ZzdV Z{ejp        q                    dWeGj|        eGj}         ejr        eGj~        ejp                            dX>          g?           ejr        eGj        ejp                            dX>          g?          g          dY             ZdZ Zejp        q                    d[d\d]g          d^             Zd_ Zd` Zda Zdb Zdc Zdd Zde Zdf Zdg Zdh Zejp                            di>          dj             Zdk Zdl Zdm Zejp        q                    dnddog          dp             Zdq Zdr Zds Zdt Zdu Zdv Zdw Zdx Zejp        q                    dydodzg          d{             Zd| Zd} Zd~ Zd Zd Zd Zd Zejp        q                    d ejr        d;ejp        s                    eN d=>          ?          dg          ejp        q                    dd          d                         Zejp        q                    d ejr        d;ejp        s                    eN d=>          ?          dg          d             Zejp        q                    d ejr        d;ejp        s                    eN d=>          ?          dg          d             Zej        d.d            Zejp                            d          ejp        q                    d ejr        d; ej        g dg d           ejS        g dg dgdLdNgg d          fejp        s                    eN d=>          ?          d ej        g dg d           ejS        g dg dgdLdNgg d          ffg          ejp        q                    dg d          d                                     Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zejp        q                    dg d          d             Zejp        q                    dg d          d             Zd Zd Zd Zd Zd Zejp        j        d             Zd Zd Zejp        q                    ddodzg          ejp        q                    dg d          ejp        q                    dg d          ejp        q                    dedg          ejp        q                    dd d g          d                                                             Zejp        q                    ddodzg          ejp        q                    dddg          ejp        q                    dddg          ejp        q                    dd dÄ g          dĄ                                                 Zdń ZdƄ ZdǄ ZdȄ ZdɄ Zejp        j        ejp        q                    dg dˢ          ejp        q                    dg d͢          ejp        q                    dg dϢ          ejp        q                    dg dѢ          d҄                                                             Zdӄ ZdԄ ZdՄ Zdք Zejp        q                    dd؄ eeg          dل             Zejp        q                    ddde0redfndfe0rdndddfddde0redfndfddddddddde0rdnde0redfndfde0rdnddfde0rdnde0redfndfe0rdnde0rdnddfde0rdnde0redfndfde0rdnde0redfndfde0rdnddfde0rdnddf ej        d           ej        d          dfg          d             Zd Zؐd  Zِd Zڐd Zېd Zejp        q                    ddodzg          d             Zݐd Zސd Zߐd Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zejp        q                    degdfdegfej         eA            gegfdOgdfg          d             Zd Zd Zd Zd Zd Zd Zd Zd Zejp        q                    ddgg g          d             Zd  Zd! Zd" Zd# Zd$ Zd% Zd& Zd' Zejp        q                    d(dzdzg          d)             Zejp        q                    d(dzdog          d*             Z ejp        q                    d+g d,dzdfd-dodz ej        g d./          fg          d0             Zd1 Zejp        q                    d2g d          d3             Zd4 Zd5 Zejp        s                    e/ d6>          ejp        q                    d7dd8g          d9                         Zejp        s                    e/d:>          d;             Zd< Zd= Z	d> Z
d? Zd@ Zejp        q                    dd ejr        doejp        s                    e- dA>          ?           ejr        dzejp        s                    e- dA>          ?          g          dB             ZdC Zejp        j        ejp        q                    dd ejr        doejp        s                    e- dA>          ?           ejr        dzejp        s                    e- dA>          ?          g          dD                         ZdE Zejp        j        dF             ZdG Zejp        q                    dHddg          dI             Zejp        j        dJ             Zejp        q                    d ejr        dejp                            e.dK>          ?           ejr        doejp        s                    e- dA>          ?           ejr        dzejp        s                    e- dA>          ejp                            e-dK>          g?          g          dL             ZdM ZdN ZdO ZdP ZdQ ZdR ZdS ZdT Zejp        s                    e.dU>          dV             ZdW Z dX Z!dY Z"ejp        q                    ddZd[ej#        $                    d\d]gd^_          g          d`             Z%da Z&db Z'dc Z(dd Z)de Z*df Z+dg Z,d/dhZ-di Z.dj Z/dk Z0dl Z1dm Z2dn Z3ejp        q                    dodej4        ej5        g          dp             Z6dq Z7dr Z8ds Z9dt Z:du Z;dv Z<dw Z=ejp        q                    dxdodzg          ejp        q                    dy ej>        dz           e?ej@        @                    dz{                     ejA        d|dz}          g          d~                         ZBejp        q                    dWddg          d             ZCd ZDd ZEd ZFd ZGd ZHejp        q                    deej        ej        ejU        g          d             ZId ZJd ZKd ZLd ZMd ZNejp        q                    dg d          d             ZOejp        q                    dg d          d             ZPd ZQd ZRejp        q                    dddg          d             ZSejp        q                    dg d          ejp        q                    dddg          ejp        q                    dg d          d                                     ZTejp        q                    dddg          d             ZUejp        q                    dddg          d             ZVd ZWd ZXd ZYd ZZejp        q                    ddodzg          ejp        q                    ddodzg          d                         Z[ejp        q                    ddodzg          ejp        q                    ddodzg          d                         Z\ejp        q                    ddodzg          d             Z]ejp        q                    ddodzg          ejp        q                    ddodzg          d                         Z^ejp        q                    dg d          d             Z_d Z`d Zaejp        q                    dd ejr        d;ejp        s                    eN d=>          ?          g          d             Zbd Zcejp        q                    ddz ejr        doejp        j        ?          g          d             Zdd Zeejp        q                    dejf        d gddgg          d             Zgejp        q                    dd dg          d             Zhd Zid Zjejp        q                    ddddzdzddgfdddzdodgfdddzdzddgfdddodzdgfdddzdzddgfdddzdoddgfdddzdodgfdddzdzdgfdddodzdgfdddzdzddgfg
          dÄ             Zkejp        q                    d eldŦ          d df eldŦ          ddf eldŦ          ddfg dƢddfg dƢddfg dƢddfg dƢddf ejA        dǐdŐ}          ddf ejA        dǐdŐ}           ejm        dǦ          df ejA        dǐdŐ}          d ejm        dȦ          f ejA        dǐdŐ}           ejm        dɦ          df ejA        dǐdŐ}          d ejm        dʦ          fg          d˄             Znd̄ Zod̈́ Zpd΄ Zqdτ ZrdЄ Zsejp        q                    dWejt        eGju        g          dф             Zvd҄ Zwdӄ ZxdԄ ZydՄ Zzdք Z{ejp        j|        dׄ             Z}d؄ Z~dل Zdڄ Zdۄ Zd܄ Zd݄ Zdބ Zd߄ Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zejp        q                    dddg          ejp        q                    dddg          ejp        q                    ddzdog          ejp        q                    ddzdog          d                                                 Zejp        j|        d             Zejp        j|        d             Zd Zejp        q                    ddodzg          ejp        q                    dd dg          d                         Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd  Zd Zd Zd Zd Zd Zejp        s                    e.d>          d             Zd Zd	 Zejp        s                    e.d>          d
             Zd Zd Zd Zejp        q                    deeg          ejp        q                    dddg          ejp        q                    dddg          d                                     Zd Zd Zd Zejp        s                    e- d>          ejp        q                    dg d          d                         Zejp        s                    e- d>          d             Zd Zejp        q                    dWddg          d             Zejp        q                    d ejS        d"ddgiddg          dogdzggf ejS        ddgddgdZ          dodzgdodzggf ejS        ddgddgdZ          dodogdzdzggf ejS        g dg ddZ          dodogdodogdzdzgdzdzggf ejS        g dg ddZ          dodzgdodzgdodzgdodzggfg          d             Zejp        q                    dd d!d"ifd#d!d"ifd$i fdi fg          d%             Zd& Zd' Zejp        q                    d(dodzg          d)             Zejp        q                    d*dodzg          d+             Zejp        j        d,             Zd- ZdS (0      )annotationsNdatetime	timedelta)product)add)dedent)PerformanceWarning)format)delayed)compute_as_if_collection)
fuse_roots)_compatmethods)PANDAS_GE_133PANDAS_GE_140PANDAS_GE_150PANDAS_GE_200PANDAS_GE_210PANDAS_GE_220tm)to_pyarrow_string)Scalar_concat_map_freq_to_period_startacahas_parallel_typeis_broadcastablerepartition_divisionstotal_mem_usage)	assert_eqassert_eq_dtypesassert_max_depsget_string_dtype	make_metapyarrow_strings_enabled)
timeseries)Mis_dataframe_likeis_series_like	put_lines)_check_warning	hlg_layer)ArrowNotImplementedError                  ab)r   r0   r2   indexr2   r1   r0   )r5   r6         r=   	   r   r   r   )r@   r@   r@   xr   rD   r0   rD   r1   i8)r;   parent_metarD   )r   r5   r@   r@   c                   t          | t          j                  r.t          j        | j        d|f<   |                     dd           nCt          | t          j                  r|                     dgdd           nt          d          | S )zNTODO: In pandas 2.0, mean is implemented for datetimes, but Dask returns None.meanallT)howinplaceignore)labelsrM   errorsz&Expected Series or DataFrame with mean)

isinstancepd	DataFramenpnanatdropnaSeriesdropNotImplementedError)dfcols     Clib/python3.11/site-packages/dask/dataframe/tests/test_dataframe.py
_drop_meanr^   S   s    "bl## LVfck
		eT	****	B		"	" L
xh????!"JKKKI    c                 8    t           j        j        } d}|| v sJ d S )N5Some inconsistencies with the Dask version may exist.)dr   __doc__)doc
disclaimers     r]   test_dataframe_docrf   _   s'    
%-CHJr_   c                      G d d          } t                               d| j        |            	 t           j        j        }d}||v sJ d|v sJ 	 t          j        `d S # t          j        `w xY w)Nc                      e Zd Zd ZdS )/test_dataframe_doc_from_non_pandas.<locals>.Fooc                    dS )zyThis is a new docstring that I just made up

            Parameters:
            ----------
            None
            N )selfs    r]   fooz3test_dataframe_doc_from_non_pandas.<locals>.Foo.foog   s      r_   N)__name__
__module____qualname__rm   rk   r_   r]   Foori   f   s#        	 	 	 	 	r_   rq   rm   )originalra   z!new docstring that I just made up)rb   _bind_operator_methodrm   rc   ddrS   )rq   rd   re   s      r]   "test_dataframe_doc_from_non_pandasru   e   s            E37S999emL
S    2c99999 LBLs   A A-c                    t          j        g dg dd          } t          t          d         dz   |            t	          j        t          j        t          j        ddg                     t          t          t          d         dk             t          t          d         dk                        t          t          ddg         t          ddg                    t          t          j	        t          j	                   t          j
                                                                        t          j
                                        k    sJ t          j        t          j
                                                                        t          j
                                                  sJ t          j        t          j
                                                                        t          j
                                                  sJ t          j        j        t          j        j        k    sJ t'          t                    sJ d S )N)	r1   r2   r4   r5   r6   r?   r=   r@   
   	r   r0   r2   r5   r6   r=   r@   r@   r@   r8   )r;   namer0   r9   r1   )rR   rX   r!   rb   r   assert_index_equalcolumnsIndexfullr8   r9   rJ   computerT   allclosevarstdr;   _namerepr)expecteds    r]   test_Dataframer   z   s   y$$$,G,G,Gc  H afqj(###!)RXsCj%9%9:::a#
mT$s)a-0111ac
mT3*-...ac46388::46;;==0000;qswwyy((**DFJJLL99999;qswwyy((**DFJJLL999997=AGM))))77NNNNNr_   c                 	   t          t                              d          t                              d                     t          t                              d          t                              d                     t          t                              d          t          d                             d                     t          t          d                             d          t          d                             d                     t          t          d                             d          t          d                             d                     t          t          d                             d          t          d         d                             d                     t          t                              dd          j                  t          t                              dd          j                  k    sJ t          t                              dd          j                  t          t                              dd          j                  k    sJ t          t                              d          t                              d                     t          t                              d          t                              d                     t          t                              d          t          d                             d                     t          t          d                             d          t          d                             d                     t          t          d                             d          t          d                             d                     t          t          d                             d          t          d         d                             d                     t          t                              dd          j                  t          t                              dd          j                  k    sJ t          t                              dd          j                  t          t                              dd          j                  k    sJ d S )Nr1   r2   rC   r8   Fr~   rF   )r!   rb   headr}   dsksorteddasktailrk   r_   r]   test_head_tailr      sl   affQii1&&&affQii1&&&affQiiX++A..///afkk!nnd3innQ//000afkk!nnd3innQ//000afkk!nnc(mC055a88999!&&E&**/00F	q%  %5 5     !&&E&**/00F	q%  %5 5     affQii1&&&affQii1&&&affQiiX++A..///afkk!nnd3innQ//000afkk!nnd3innQ//000afkk!nnc(mC055a88999!&&E&**/00F	q%  %5 5     !&&E&**/00F	q%  %5 5      r_   c                 8   t          t                              dd          t                              d                     t          t                              ddd          t                              d                     t          t                              dd          t                              d                     t          t                              dd          t                              d                     t          t                              dd          t                              d                     t	          j        t                    5  t                              dd           d d d            d S # 1 swxY w Y   d S )Nr5   r1   npartitionsF)r   r~   r?   )r!   rb   r   r}   pytestraises
ValueErrorrk   r_   r]   test_head_npartitionsr      s`   affQAf&&		!555affQAuf55tyy||DDDaffQBf''1666affQBf''1666affQBf''1666	z	"	" ! !	qa   ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !s   %FFFc                     d} t          j        t          |           5  t                              d           d d d            n# 1 swxY w Y   d} t          j        t          |           5  t                              d           d d d            n# 1 swxY w Y   t          j        t          |           5  t                              d           d d d            n# 1 swxY w Y   t          j        t          |           5  t                              dd           d d d            n# 1 swxY w Y   d	D ]O}t          j        d
          5 }t                              d|           d d d            n# 1 swxY w Y   |rJ Pt          j        t          j
        dg di          d          }t          j        d
          5 }|                                 d d d            n# 1 swxY w Y   |rJ d S )Nz%5 elements requested, only 3 elementsmatchr5   zInsufficient elementsd   r?   r1   r   )r2   r   Trecordrw   rD   r/   r0   )r   warnsUserWarningrb   r   warningscatch_warningsrt   from_pandasrR   rS   )r   nr   d2s       r]   test_head_npartitions_warnr      sG   3E	k	/	/	/  	q			               $E	k	/	/	/  	s               
k	/	/	/  	q			               
k	/	/	/ ! !	qa   ! ! ! ! ! ! ! ! ! ! ! ! ! ! !   $D111 	&VFF21F%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 
c999%566A	F	F	FB		 	-	-	- 
			              sk   AA	A	-BBB:C!!C%(C%D00D47D4E==F	F	G//G36G3c                    t          t          j                            d          t          j        d d                    t          t          j                            d          t          j        d d                    d S Nr1   r2   )r!   rb   r;   r   r}   rk   r_   r]   test_index_headr      sT    agll1ootz"1"~...agll1ootz"1"~.....r_   c                     t          t          j        t          j                  sJ t          t          j        dz   t          j                  sJ t          t          dz   t          dz              d S Nr0   )rQ   rb   r8   rt   rX   r!   r}   rk   r_   r]   test_Seriesr      sX    ac29%%%%%acAgry)))))q1utax     r_   c            	        t          j        t          j                            dd          t          d                    t          j        t          j                            dd          t          j        ddd                    fD ]N} t          j        | d          }t          |j
        | j
                   t          j        t          |fd	           Od S )
Nrw   r5   
abcdefghijr:   z
2011-01-01D)freqperiodsr2   c                    | j         j         S Nr:   ddfs    r]   <lambda>ztest_Index.<locals>.<lambda>   s
    cio r_   )rR   rS   rT   randomrandnlist
date_rangert   r   r!   r;   r   r   AttributeError)caser   s     r]   
test_Indexr      s    
RY__R++43E3EFFF
IOOB""-3CCC	
 	
 	
 	G 	G nT1%%#)TZ(((n&E&E&EFFFF	G 	Gr_   c                 &   t          j        ddgddgd          } t          j        | d          }t	          |j                  t	          | j                  k    sJ t          d t          |j        | j                  D                       sJ d S )Nr0   r1   r2   r4   col1col2r   c              3  <   K   | ]\  }}t          ||          V  d S r   r!   .0rb   ps      r]   	<genexpr>ztest_axes.<locals>.<genexpr>   s.      BB41ayABBBBBBr_   )rR   rS   rt   r   lenaxesrK   zip)pdfr[   s     r]   	test_axesr      s    
,AA77
8
8C		+	+	+Brw<<3sx==((((BB3rw+A+ABBBBBBBBBBr_   c                    t          j        dg          } t          j        | d          }t	          |j                  t	          | j                  k    sJ t          d t          |j        | j                  D                       sJ d S )Nabcder1   r   c              3  <   K   | ]\  }}t          ||          V  d S r   r   r   s      r]   r   z#test_series_axes.<locals>.<genexpr>   s.      AA41ayAAAAAAAr_   )rR   rX   rt   r   r   r   rK   r   )psdss     r]   test_series_axesr      s    	G9		B		*	*	*Brw<<3rw<<''''AA3rw+@+@AAAAAAAAAAr_   c                    t          j        d          } t          d| idd          }t          |d          sJ dt	          |          v sJ t          ||            t          |          dk    sJ t          j        d          } t          d| id|           }t          |d          rJ dt	          |          vsJ t          ||            t          |          dk    sJ d S )	Nr0   r8   r   r8   rG   dtypezdd.Scalar<a, dtype=int64>z
2001-01-01zdd.Scalar<a, type=Timestamp>)	rT   int64r   hasattrdirr!   r   rR   	Timestamp)valss     r]   test_Scalarr      s    
(1++C#T**A1gc!ffa7711111
,|
$
$C#S))Aq'"""""#a&&    a774444444r_   c                     t          j        d          } t          d| idd          }d}t          j        t
          |          5  t          |           d d d            d S # 1 swxY w Y   d S )Nr0   r   r8   rG   z&cannot be converted to a boolean valuer   )rT   r   r   r   r   	TypeErrorbool)r   r   msgs      r]   test_scalar_raisesr     s    
(1++C#T**A
2C	y	,	,	,  Q                 s   A""A&)A&c                 N    dt          t                    v sJ dt          t                    vsJ t          j        t          d            t          j        t          j        dg di          d           dt                     vsJ t          j        t          j        ddgddgd	          d           dt                     v sJ d
t                     vsJ t          j        t          j
                    d           t          j        t           fd           d S )Nr8   rm   c                     t           j        S r   )rb   rm   rk   r_   r]   r   z!test_attributes.<locals>.<lambda>  s    !% r_   za b cr/   r1   r   r0   )r8   r5   r5   r2   c                      j         S r   rm   r[   s   r]   r   z!test_attributes.<locals>.<lambda>  s	    "& r_   )r   rb   r   r   r   rt   r   rR   rS   r   makeTimeDataFramer   s   @r]   test_attributesr     s   #a&&====A
M.--000	gyyy%9::	J	J	JB#b''!!!!	Aq6q!f%=%=>>A	N	N	NB#b''>>>>CGG	133	C	C	CB
M.....11111r_   c                    t          j        t          j        t	          j        ddg                     t          j        t          ddg         j        t	          j        ddg                     t          d         j        dk    sJ t          d         dz   j        dk    sJ t          d         t          d         z   j        J d S )Nr8   r9   r0   )r   rz   rb   r{   rR   r|   ry   rk   r_   r]   test_column_namesr     s    !)RXsCj%9%9:::!S#J-/3*1E1EFFFS6;#cFQJ####cFQsVO!)))))r_   c                 6   t          j        g dg ddg d          } t          j        | d          }|j        dk    sJ t          |d         | j                   t          |j        j        d	dgk              sJ t          |d	         | j                   d S )
Nr0   r1   r2   r4   r8   r9   crb   )_meta	divisions)r   r0   r2   r5   r:   r1   )r   r2   r5   r   r   )	rR   rS   rt   r   r   r!   rK   r   r{   r[   r   s     r]   %test_columns_named_divisions_and_metar   &  s    	,,-A-A-ABBll
 
 
B .Q

C=I%%%%c+---sy Wk$::;;;;;c'lBH%%%%%r_   c                 X   t           j        j        J t          j        g dd          } t          j        t          j                            dd          |           }t          j
        |d          }|j        j        dk    sJ |j                                        j        dk    sJ d S )N
r   r0   r1   r2   r4   r5   r6   r?   r=   r@   rD   ry   rw   r5   r2   )rb   r;   ry   rR   r|   rS   rT   r   r   rt   r   r~   )idxr[   r   s      r]   test_index_namesr   4  s    7<
(111
<
<
<C	bioob!,,c	2	2B
.Q

C9>S    9#s******r_   c                 |   t          j        g dg dd          } t          j        | d          }ddg|_        ddg| _        t          j        |j        t          j        ddg                     t          j        |j        j        t          j        ddg                     t          ||            d}t          j        t                    5 }g d|_        d d d            n# 1 swxY w Y   |t          |j                  v sJ t          j        g d	g dd
          } t          j        | d          }ddg| _        ddg|_        t          j        |j        t          j        ddg                     t          j        |j        j        t          j        ddg                     t          ||            d S )Nr0   r1   r2   r4   r5   r6   r?   )r?   r6   r5   r4   r2   r1   r0   r7   r1   rD   yzILength mismatch: Expected axis has 2 elements, new values have 4 elementsr   )r0   r1   r1   r2   )A0)Br0   r   )rR   rS   rt   r   r{   r   rz   r|   r   r!   r   r   r   strvalue)r[   r   r   errs       r]   test_rename_columnsr   >  s   	1118M8M8MNN	O	OB
.Q

C*CKsBJ#+rxc
';';<<<#)+RXsCj-A-ABBBc2
VC	z	"	" #c"ll# # # # # # # # # # # # # # ##ci..     
<<<<<<HH	I	IB
.
+
+
+CsBJ*CK#+rxc
';';<<<#)+RXsCj-A-ABBBc2s   
C%%C),C)c                 (   t          j        g dd          } t          j        | d          }d| _        d|_        | j        dk    sJ t          ||            | j        }|j        }d|_        d|_        |j        dk    sJ t          ||           d S )Nr   rD   r   r1   renamed)rR   rX   rt   r   ry   r!   r;   )r   r   inddinds       r]   test_rename_seriesr  Y  s    
	'''c222A	1		BAFBG6Yb!
'C8DCHDI8y    dCr_   c                 n   t          j        g dd          } t          j        | d          }t	          |                    d          |                     d                     |j        dk    sJ t	          |                                |                                            t	          ||            d S )Nr   rD   r   r1   r   )rR   rX   rt   r   r!   renamery   r   r   s     r]   test_rename_series_methodr  k  s    
	'''c222A	1		Bbiinnahhsmm,,,7c>>>>biikk188::&&&b!r_   c                    t          j        g dd          } t          j        | d          }dD ]}|                    d |          }t          ||                     d                      |j        |k    sJ |                    | |          }t          ||                     |                      |j        |k    sJ t          j        t                    5  |                    d	 d
           d d d            n# 1 swxY w Y   t          |                    d           |                     d                      |                    |          }t          ||                     |                      |j        rJ |
                                }|                    d d
          }t          ||                     d                      |j        rJ t          j        t          d          5  |                    d d
d
          }d d d            n# 1 swxY w Y   ||u sJ |                     d d
           t          ||            d S )N)r8   r9   r   rb   efgrD   r   r1   TFc                    | dz  S Nr1   rk   rD   s    r]   r   z-test_rename_series_method_2.<locals>.<lambda>}  
    !Q$ r_   )sorted_indexc                    | dz  S r  rk   r  s    r]   r   z-test_rename_series_method_2.<locals>.<lambda>~  s
    !Q$ r_   c                    |  S r   rk   r  s    r]   r   z-test_rename_series_method_2.<locals>.<lambda>  s    QB r_   Tc                    |  S r   rk   r  s    r]   r   z-test_rename_series_method_2.<locals>.<lambda>  s    1" r_   c                    |  S r   rk   r  s    r]   r   z-test_rename_series_method_2.<locals>.<lambda>  s    1" r_   c                    | dz  S r  rk   r  s    r]   r   z-test_rename_series_method_2.<locals>.<lambda>  s
    q!t r_   c                    | dz  S r  rk   r  s    r]   r   z-test_rename_series_method_2.<locals>.<lambda>  s
    ad r_   rM   r   c                    | dz  S r  rk   r  s    r]   r   z-test_rename_series_method_2.<locals>.<lambda>  r  r_   )rM   r  c                    | dz  S r  rk   r  s    r]   r   z-test_rename_series_method_2.<locals>.<lambda>  s
    q!t r_   rM   )rR   rX   rt   r   r  r!   known_divisionsr   r   r   clear_divisionsr   FutureWarning)r   r   	is_sortedresds2s        r]   test_rename_series_method_2r"  w  s   
	555C@@@A	1		B" 0 0	iiYi??#qxx//000"i////ii	i22#qxx{{###"i/////	z	"	" 3 3
		,,T	2223 3 3 3 3 3 3 3 3 3 3 3 3 3 3bii%%qxx'='=>>>
))B--Cc188A;;""""




C
**^^$*
7
7Cc188NN++,,,""""	m9	5	5	5 I Iii4iHHI I I I I I I I I I I I I I I"9999HH^^TH***b!s$   DDD9HH#&H#zmethod,test_valuestdigest)r6   rw   zRequires crick)reason)marks)r   )r4      c           
        t          j        t          t          |d                             |d         z            }t          j        t          t          |d                             |d         z  t          t          |d                             |d         z  d          }t          j        ||d                   }t          j        ||d                   }ddg}t          |                                |                    |                      t          |                                |                    |                      t          |                    |          |                    ||                      t          |                                |                    d	| 
                     t          |                                |                    d	| 
                     t          j        t          t          |d                             |d         z  t          t          |d                             |d         z  t          dd |d                            |d         z  d          }t          j        ||d                   }t          |                                |                    |                      t          |                                |                    d	| 
                     d S )Nr0   r   r7         ?      ?percentiles_methodpercentiles)r-  r+  r1   )split_everyr+  abcdefr8   r9   r   )	rR   rX   r   rangerS   rt   r   r!   describe)methodtest_valuesr   r[   r   r   test_quantiless          r]   test_describe_numericr6    s    		$u[^,,--A>??A	eKN++,,{1~=eKN++,,{1~=	
 	

 
B 
;q>	*	*B
.[^
,
,CD\NbkkmmS\\V\DDEEEajjllBKK6KBBCCC
//FKK   ajjllBKKA&KQQRRRbkkmmS\\aF\SSTTT 
eKN++,,{1~=eKN++,,{1~=h/Q/011KNB	
 	

 
B .[^
,
,CbkkmmS\\V\DDEEEbkkmmS\\aF\SSTTTTTr_   z"include,exclude,percentiles,subsetr   rb   )r   rb   r  )r   rb   r  )r   rb   r  r  r  r  )rK   NNNnumberr(        ?r)  r   r   c                   g ddz  g ddz  g ddz  t          j        d          t          j        d          t          j        d          t          j        d          d d gdz  t          j        d	d
          t          j        dd
          d d t          j        d	d
          t          j        dd
          gdz  g ddz  d}t          j        |          }|d                             t                                |d<   ||j        d d |f         }t          j	        |d          }t          sddi}ni } |j        d| ||d|} |j        d| ||d|}	d|	v r|st          rt          |	d          }	t          ||	           |_dD ]^}
 ||
         j        d| |d|}	|
dk    r|st          rt          |	          }	 ||
         j        d| |d|}t          |	|           ]d S d S )Naaabbbr<  NNzzzr1   Nr   r0   r1   r2   r4   Nr   r0   r4   2017-05-09 00:00:00.0060002017-05-09 07:56:23.8586942017-05-09 05:59:58.938999r2   r   r0   TFT)r8   r   rb   r
  r  r  r8   datetime_is_numericT)includeexcluder-  r
  )r8   r   r
  r  rE  rF  rk   )rR   r   rT   timedelta64rS   astyper$   locrt   r   r   r2  r^   r!   )rE  rF  r-  subsetdatar[   r   datetime_is_numeric_kwargactualr   r\   s              r]   test_describerO    s   $ 6559"""Q&\\AL566L566L566L566
  N1c""N1c""N1c""N1c""
  !  1$- D4 
d		Bgnn-//00BsGVAAAvI
.Q

C '%:D$A!!$&! S\   $	 F r{   $	 H h5h,,fh ~' 		( 		(C'r#w'  4M H czz8zMz%h//&SX&  4M F h'''' ~		( 		(r_   c            	     .   g ddz  g ddz  g ddz  t          j        d          t          j        d          t          j        d          t          j        d          d d gdz  d	} t          j        |           }t          j        |d          }|                                }t          rt          |d
          }t          |                                |           dD ]B}t          ||                                         ||                                                    Ct          rt          |j	                                                  }t          ||j	                                                   t          j        t          d          5  |j	                            d           d d d            d S # 1 swxY w Y   d S t          j        t          d          5  |j	                                         d d d            d S # 1 swxY w Y   d S )Nr:  r1   r>  r?  r4   r@  rA  rB  )r8   r   rb   r
  r
  r8   r   z/datetime_is_numeric is removed in pandas>=2.0.0r   T)rD  zVTreating datetime data as categorical rather than numeric in `.describe` is deprecated)rR   r   rS   rt   r   r2  r   r^   r!   r
  r   r   r   r   r  )rL  r[   r   r   r\   s        r]   )test_describe_without_datetime_is_numericrR  #  s   5559"""Q&\\AL566L566L566L566
 	 D 
d		B
.Q

C {{}}H -h,,cllnnh'''  ; ;"S'""$$c#h&7&7&9&9:::: bdmmoo..(CENN,,---]C
 
 
 	5 	5 ENNtN444		5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 \h
 
 
 	 	 ENN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   F;;F?F?#H

HHc                    t          j        dd d gi          } t          j        | d          }t          j        g g d          }t          j        |d          }t          j        t          j        i           d          }t	          |                                 |                    d                                                     t          j        t                    5  |                    d                                           d d d            n# 1 swxY w Y   t          j
        t                    5  |                    d                                           d d d            d S # 1 swxY w Y   d S )Nr   r1   r   r   r   r*  )rR   rS   rt   r   r!   r2  r~   r   r   RuntimeWarningr   r   df_noneddf_nonedf_len0ddf_len0
ddf_nocolss        r]   test_describe_emptyr\  S  s   lC$.//G~gq))Hl"--..G~gq))HR 0 0!44J H---HHPPRR   
n	%	% ? ?V44<<>>>? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 
z	"	" A Av66>>@@@A A A A A A A A A A A A A A A A A As$   ")DDD;)E11E58E5c                    t          j        d           t          j        dd d gi          } t	          j        | d          }t          j        dg i          }t	          j        |d          }t	          j        t          j        i           d          }t          |                                 |                    d                                                     t          j
                    5  t          j        dt                     t          |                                |                    d                     t          |                                |                    d                     d d d            n# 1 swxY w Y   t          j        t                    5  |                    d                                           d d d            d S # 1 swxY w Y   d S )Ncrickr   r1   r#  r*  rN   )r   importorskiprR   rS   rt   r   r!   r2  r~   r   r   simplefilterrU  r   r   rV  s        r]   test_describe_empty_tdigestra  g  sP   
   lC$.//G~gq))HlC9%%G~gq))HR 0 0!44J H---KKSSUU   
	 	"	" W W 	h777'""$$h&7&79&7&U&UVVV'""$$h&7&79&7&U&UVVVW W W W W W W W W W W W W W W 
z	"	" D Dy99AACCCD D D D D D D D D D D D D D D D D Ds%   /BFF	F&)GG #G c                    t          j        dd          } t          j        |           }dg dg dg dfD ]}t          t
          t          j        fD ]}|)|                    |          	                                }n1|                     ||                    	                                }t          |d         d	           t          |d
         d           t          |d         d           dS )zmake sure describe is sorting percentiles parameter, q, properly and can
    handle lists, tuples and ndarrays.

    See https://github.com/dask/dask/issues/4642.
    r   e   Nr(  r8  r)  r(  r8  r)  Gz?r)  r8  r(  r,  z25%      9@z50%      I@z75%     R@)daarangert   from_dask_arrayr   tuplerT   arrayr2  r~   r!   )r   r   q	f_convertrs        r]   %test_describe_for_possibly_unsorted_qrs    s    		!SA		A		B&&&(@(@(@BSBSBST 	& 	&rx0 	& 	&IyKKAK..6688KKIIaLLK99AACCah%%%ah%%%ah%%%%	&	& 	&r_   c                    d t          d          D             } t          j        t          j                            dd          t          d          |           }t          j        t          j                            dd          t          d          |           }t          j        |d          }t          j        |d          }t          |
                                |
                                           t          |                                |                                           t          |                                |                                           t          |                                |                                           t          |
                    d          |
                    d                     t          |                    d          |                    d                     t          |                    d          |                    d                     t          |                    d          |                    d                     t          j
        ||           t          ||
                                           t          j        ||           t          ||                                           |                    |           t          ||                                           |                    |           t          ||                                           t          j
        ||d	           t          ||
                    d                     t          j        ||d	           t          ||                    d                     |                    |d	           t          ||                    d                     |                    |d	           t          ||                    d                     t          |j        
                                |j        
                                           t          |j                                        |j                                                   t          |j                                        |j                                                   t          |j                                        |j                                                   t          j        dd
t          j        dddddgdd
t          j        t          j        t          j        dt          j        t          j        gt          j        gdz  d          }t          j        |d          }t          |
                                |
                                           t          |                                |                                           t          |                                |                                           t          |                                |                                           t          |
                    d          |
                    d                     t          |                    d          |                    d                     t          |                    d          |                    d                     t          |                    d          |                    d                     t          |
                    d          |
                    d                     t          |                    d          |                    d                     t          |                    d          |                    d                     t          |                    d          |                    d                     t          |
                    dd          |
                    dd                     t          |                    dd          |                    dd                     t          |                    dd          |                    dd                     t          |                    dd          |                    dd                     t          j        t          j                            dd          t          d                    }t          j        |d          }t          |
                                |
                                           t          |                                |                                           t          |                                |                                           t          |                                |                                           t          |
                    d          |
                    d                     t          |                    d          |                    d                     t          |                    d          |                    d                     t          |                    d          |                    d                     t          |
                    d          |
                    d                     t          |                    d          |                    d                     t          |                    d          |                    d                     t          |                    d          |                    d                     t          |
                    dd          |
                    dd                     t          |                    dd          |                    dd                     t          |                    dd          |                    dd                     t          |                    dd          |                    dd                     d S )Nc                    g | ]}d |d	S )row03drk   r   is     r]   
<listcomp>z#test_cumulative.<locals>.<listcomp>  s     ///q]1]]]///r_   r   r5   r   r{   r;   r0   axis)out)r~  r}  r1   r4   r6   r?   r=   r0  r2   Fskipnar}  r  abbr{   )r1  rR   rS   rT   r   r   r   rt   r   r!   cumsumcumprodcummincummaxr8   rU   )r;   r[   df_outr   ddf_outs        r]   test_cumulativer    s	   //E#JJ///E	biooc1--tG}}E	R	R	RB\")//#q114==PUVVVF
.Q

CnVQ''GcjjllBIIKK(((ckkmmRZZ\\***cjjllBIIKK(((cjjllBIIKK(((cjjaj  ")))"3"3444ckkqk!!2::1:#5#5666cjjaj  ")))"3"3444cjjaj  ")))"3"3444Icwgryy{{###Js    grzz||$$$JJ7Jgryy{{###JJ7Jgryy{{###IcwQ''''gryyay(()))Jsa((((grzzqz))***JJ7J###gryyay(()))JJ7J###gryyay(()))cellnnbdkkmm,,,cemmoort||~~...cellnnbdkkmm,,,cellnnbdkkmm,,, 
Q1aA.Q2626B&A	
 	

 
B .Q

Cbiikk3::<<(((biikk3::<<(((biikk3::<<(((bjjllCKKMM***biiui%%szzz'?'?@@@biiui%%szzz'?'?@@@biiui%%szzz'?'?@@@bjjj&&5(A(ABBBbiiQi!3!3444biiQi!3!3444biiQi!3!3444bjjaj  #++1+"5"5666biiQui--szzqz/O/OPPPbiiQui--szzqz/O/OPPPbiiQui--szzqz/O/OPPPbjjaj..50Q0QRRR 
biooc1--tE{{	C	C	CB
.Q

Cbiikk3::<<(((biikk3::<<(((biikk3::<<(((bjjllCKKMM***biiui%%szzz'?'?@@@biiui%%szzz'?'?@@@biiui%%szzz'?'?@@@bjjj&&5(A(ABBBbiiQi!3!3444biiQi!3!3444biiQi!3!3444bjjaj  #++1+"5"5666biiQui--szzqz/O/OPPPbiiQui--szzqz/O/OPPPbiiQui--szzqz/O/OPPPbjjaj..50Q0QRRRRRr_   funcz?ValueError: Can only compare identically-labeled Series objectsc                   t          j        dg di          }t          j        |d          }t	           | ||j        dk                         | ||j        dk                                   t          j        dg di          }t          j        |d          }t	           | ||j        dk                         | ||j        dk                                   d S )NrD   r0   r1   r2   r4   r5   r6   r?   r=   r4   r   r5   )
r0   r1   r2   r4   Nr5   r6   Nr?   r=   )rR   rS   rt   r   r!   rD   r  r[   r   s      r]    test_cumulative_empty_partitionsr    s    0 
s4445	6	6B
.
+
+
+Cdd2bdQh<  $$s3519~"6"6777	s@@@A	B	BB
.
+
+
+Cdd2bdQh<  $$s3519~"6"677777r_   c            
     h   t          j        t          j        dddt          j        dgddt          j        dt          j        t          j        gddddt          j        dgdg d          } t	          j        | d          }t          |j                                        | j                                                   t          |j	                                        | j	                                                   t          |j
                                        | j
                                                   t          |                                |                                            t          |                    d	
          |                     d	
                     t          |                    dg          |                     dg                     t          |                    ddg          |                     ddg                     t          |                    ddgd	          |                     ddgd	                     t          |                    d           |                     d                      t          |                    d          |                     d                     t          |                    d          |                     d                     t          |                    d          |                     d                     t          |                    d          |                     d                     t          j        t          d          5  |                    d	d           d d d            n# 1 swxY w Y   t          j        ddt          j        gg dd          } t	          j        | d          }t          |                    dg          |                     dg                     d S )Nr1   r2   r4   r6   r0   rD   r   zrw   r&     (   2   <   r:   rK   rL   rD   rK  r   r  )rK  rL   )threshr   z,cannot set both the how and thresh argumentsr   )rL   r  r/   )_0_1r   r  )rR   rS   rT   rU   rt   r   r!   rD   rW   r   r  r   r   r   r   s     r]   test_dropnar    s   	&!Q261-Q26262Q1bfa(	
 	

 '&&
 
 
B .Q

Ccellnnbdkkmm,,,cellnnbdkkmm,,,cellnnbdkkmm,,,cjjllBIIKK(((cjjUj##RYY5Y%9%9:::cjjj&&		#	(?(?@@@cjjc
j++RYYsCjY-I-IJJJ

3*%
00
		#s	//   cjjj%%ryyy'='=>>>cjjj""BIIQI$7$7888cjjj""BIIQI$7$7888cjjj""BIIQI$7$7888cjjj""BIIQI$7$7888 
y(V	W	W	W ( (

uQ
'''( ( ( ( ( ( ( ( ( ( ( ( ( ( ( 
aBF^999==	>	>B
.
+
+
+Ccjjj''4&)A)ABBBBBs   N11N58N5zlower, upper)r1   r5   )      @      @c                d   t          j        g dg dd          }t          j        |d          }t          j        g d          }t          j        |d          }t          |                    | |          |                    | |                     t          |                    |           |                    |                      t          |                    |          |                    |                     t          |                    | |          |                    | |                     t          |                    |           |                    |                      t          |                    |          |                    |                     d S )N	r0   r1   r2   r4   r5   r6   r?   r=   r@   	r2   r5   r1   r5   r?   r1   r4   r1   r4   r7   r2   )lowerupper)r  r  )rR   rS   rt   r   rX   r!   clip)r  r  r[   r   r   r   s         r]   	test_clipr  A  s{   	)))0K0K0KLL
 
B .Q

C
	---..A	1		BchhU%h00"''U'2S2STTTchhUh##RWW5W%9%9:::chhUh##RWW5W%9%9:::bggEg//e51Q1QRRRbggEg""AFFF$7$7888bggEg""AFFF$7$788888r_   c                    t          j        dg di          } t          j        ddgi          }t          j        ddd          }t          j        | d          }t          j        |d          }t          j        |d          }t          |                                 |                                           t          t          j        dgd          |                                           t          |                                |                                           t          j        t                    5 }|                    d	           d d d            n# 1 swxY w Y   t          |           d
}|t          |j                  v sJ t          j        t                    5 }|                    d	           d d d            n# 1 swxY w Y   dd dt          |           }|t          |j                  v sJ t          j        t                    5 }|                    d	           d d d            n# 1 swxY w Y   dt          |           }|t          |j                  v sJ d S )NrD   )r0   r2   r6   r   r   )testr9   r2   r1   r   r|  z& does not support squeeze along axis 0zNo axis z for object type r  zNo axis test for object type )rR   rS   rX   rt   r   r!   squeezer   r   rZ   typer   r   r   )r[   df2r   r   ddf2r   infor   s           r]   test_squeezer  T  s   	sIII&	'	'B
,aSz
"
"C
	13''((A
.Q

C>#q!!D	1		BbjjllCKKMM***bi#&&&777bjjllAIIKK(((	*	+	+ t              #YY
>
>
>C#dj//!!!!	z	"	" d              
4Q
4
4c
4
4C#dj//!!!!	z	"	" !d   ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
5$s))
5
5C#dj//!!!!!!s6   >E!!E%(E%/GGG#II
I
c                 
   t          j        g dg dd          } t          j        | d          }t          j        g ddz  g ddz  d          }t          j        |d          }t          j        g dg ddg d	          }t          j        |d          }t          j        g ddz  g ddz  dg d
	          }t          j        |d          }t          j        g dg dg d
dg d	          }t          j        |d          }	t          j        g ddz  g ddz  dgdz  dgdz  dg d
	          }
t          j        |
d          }||| |f|                    g d          || |f||||f|                    g d          |                    g d          ||f|	|||
f|	                    g d          |||
f||| |f||||f|	|
||
fg	}|D ]0\  }}}}t          |t          j                  sJ t          |t          j        t           j        f          sJ t          |t           j                  sJ t          |t           j                  sJ t          |                    |          |                    |                     t          |                    |          |                    |                     t          |                    ||           |                    ||                      t          |                    ||           |                    ||                      t          |                    |j	        |           |                    |j	        |                      t          |                    |j	        |           |                    |j	        |                      t          |j	                            |j	                  |j	                            |j	                             t          |j	                            |j	                  |j	                            |j	                             t          |j	                            |j	        |j	                   |j	                            |j	        |j	                              t          |j	                            |j	        |j	                   |j	                            |j	        |j	                              2d S )Nr  r  r7   r1   rC  r2   FFT)	r   r0   r1   r2   r4   r5   r6   r?   r=   r:   )	r5   r6   r?   r=   r@   rw            )	r@   r4   r1   r6   r1   r2   r0   r6   r1   r0  Fr@   Tr   )r   r2   r6   r=   )r   r4   r6   r=   )r5   r@   rw   r  )r   r4   r?   r=   )
rR   rS   rt   r   repartitionrQ   r!   wheremaskr8   )pdf1ddf1pdf2r  pdf3ddf3pdf4ddf4pdf5ddf5pdf6ddf6casesr   ddcondr   pdconds                    r]   test_where_maskr  q  s&   <)))0K0K0KLL D >$""D<111A5<P<P<PST<TUUVVD>$""D <)))0K0K0KLL)))  D >$""D<!!!A%,@,@,@1,DEE---  D >$""D <,,,,,,000	
 	

 *))  D >$""D<$$$q(%%%)1!		
 	
 .--  D >$""D 
tT4 			,,,	'	'tT:	tT4 			,,,	'	')9)9...)I)I4QUV	tT4 			,,,	'	'tT:	tT4 	tT4 	tT4 E %* N N VS&#r|,,,,,&2<">?????#r|,,,,,&",/////#))F##SYYv%6%6777#((6""CHHV$4$4555#))FSD))399VcT+B+BCCC#((6C4((#((6C4*@*@AAA#))FHsd++SYYvx#-F-FGGG#((68cT**CHHVXt,D,DEEE#%++fh''VX)>)>???#%**VX&&

68(<(<===#%++fh//VXv1N1NOOO#%**VXv..

68ceV0L0LMMMM!N Nr_   c                 N   t          t          j        d t          j        t          j                  t          j        t          j        z              t          t          j        d t          j        t          j        d          t          j        t          j        z   dz              d S )Nc                    | |z   S r   rk   r7   s     r]   r   z4test_map_partitions_multi_argument.<locals>.<lambda>  s
    QU r_   c                    | |z   |z   S r   rk   r0  s      r]   r   z4test_map_partitions_multi_argument.<locals>.<lambda>  s    !a%!) r_   r0   )r!   rt   map_partitionsrb   r8   r9   r}   rk   r_   r]   "test_map_partitions_multi_argumentr    sy    b 2 2AC==tvOOO
33QS!#qAA46DF?UVCV    r_   c                    t          t                              d t                    t                     t          t                              d           t                     t                              d           } t	          | j        d          }|                                r
J |            t          | t                              d                     t          t                              d           t          j	        g d	t          j        
          d           t          ddidt                    }t          j        d |          } | j        t          j        t          j        fv r|                                 dk    sJ t          j        d |          } | j        t          j        k    r|                                 dk    sJ d S )Nc                    | S r   rk   r   s    r]   r   z%test_map_partitions.<locals>.<lambda>      " r_   metac                    | S r   rk   r   s    r]   r   z%test_map_partitions.<locals>.<lambda>  r  r_   c                .    |                      d          S )Nr0   r|  sumr   s    r]   r   z%test_map_partitions.<locals>.<lambda>  s    Q r_   zlambda-r0   r|  c                    dS r   rk   r   s    r]   r   z%test_map_partitions.<locals>.<lambda>      A r_   )r0   r0   r0   r   Fcheck_divisionsrC   rD   c                    dS r  rk   r  s    r]   r   z%test_map_partitions.<locals>.<lambda>       r_   r1   c                    dS )N      @rk   r  s    r]   r   z%test_map_partitions.<locals>.<lambda>  s     r_   r  )r!   rb   r  r}   r-   r   is_materializedr  rR   rX   rT   r   r   intrt   r   int32r~   float64)resultlayerrD   s      r]   test_map_partitionsr    s   a}}155t<<<a}}--t4447788Ffk9--E$$&&-----fdhhAh&&'''	&&
	)))28,,,   
 	!}c3''A{{A..F<BHbh///FNN4D4D4I4I4I4I}}a00F<2:%%&..*:*:c*A*A*A*A*A*Ar_   c                     t                               t                                        d          } t	          | t
          j                  sJ t          d | D                       sJ d S )Nsingle-threaded	schedulerc              3  6   K   | ]}|t           j        k    V  d S r   )rR   rS   r   rD   s     r]   r   z+test_map_partitions_type.<locals>.<genexpr>  s)      11QqBL 111111r_   )rb   r  r  r~   rQ   rR   rX   rK   r  s    r]   test_map_partitions_typer    sh    d##++6G+HHFfbi(((((11&1111111111r_   c                 B   dd} t                               | t                     }t          |j        d          }|                                rJ |j                                         |                    d          }t          |          t          j	        k    sJ d S )Nc                   |J d|v sJ d|v sJ t           d|d         f                             |           sJ t           dt          j                            |d                   f                             |           sJ | S )Nr7  divisionrD   )r   equalsrb   r   r;   )r[   partition_infos     r]   r  z-test_map_partitions_partition_info.<locals>.f  s    )))>))))^++++C123::2>>>>>C**>*+EFFGHOOPRSSSSS	r_   r  zf-r  r  r   )
rb   r  r-   r   r  validater~   r  rR   rS   )r  r[   r  r  s       r]   "test_map_partitions_partition_infor    s        
		!!		$	$Bbgt$$E$$&&&&&GZZ"3Z44F<<2<''''''r_   c            	        d } t          t          j        | t          t                    j                  t          t          j        | t          t                    j                  k    sJ t          t          j        d t          t          d          j                  t          t          j        d t          t          d          j                  k    sJ d } t          t          j        | t          t          t                    j                  t          t          j        | t          t          t                    j                  k    sJ d S )Nc                    | S r   rk   r  s    r]   r   z+test_map_partitions_names.<locals>.<lambda>  s    Q r_   r  c                    | S r   rk   r  s    r]   r   z+test_map_partitions_names.<locals>.<lambda>  s    a r_   r0   )r  tokenc                    | S r   rk   r  s    r]   r   z+test_map_partitions_names.<locals>.<lambda>  r  r_   c                    | S r   rk   rD   r   s     r]   r   z+test_map_partitions_names.<locals>.<lambda>  s     r_   )r   rt   r  rb   r   )r  s    r]   test_map_partitions_namesr    s6   ;D"#D!!4449::f
$***/? ?     "#KK!DDDIJJf
++qq:::?O O     >D"#D!QQ777<==
$11---2B B      r_   c                 H   t          j        g dg dd          } t          j        | d          }t          j        d ||          }t          j        |j        |j                   t          | |           t          j        d |j	        |j	                  }|j
        |j	        j
        k    sJ t          | j	        |           t          j        d	 |j	        |j	                  }|j
        |j	        j
        k    sJ t          | j	        |           t          j        d
 |          }t          |t          j                  sJ |j        dk    sJ t          j        d |d          }t          |t          j                  sJ |j
        dk    sJ |j        dk    sJ d S )Nr   r5   r6   r?   r=   r  r1   r   c                    | S r   rk   r  s    r]   r   z1test_map_partitions_column_info.<locals>.<lambda>  r  r_   r  c                    | S r   rk   r  s    r]   r   z1test_map_partitions_column_info.<locals>.<lambda>  r  r_   c                    | S r   rk   r  s    r]   r   z1test_map_partitions_column_info.<locals>.<lambda>  r  r_   c                     | j         | j        z   S r   r  r   s    r]   r   z1test_map_partitions_column_info.<locals>.<lambda>  s    RTBD[ r_   rG   c                    | j         dz   S r   r  r   s    r]   r   z1test_map_partitions_column_info.<locals>.<lambda>  s    RTAX r_   rD   rG   rD   )rR   rS   rt   r   r  r   rz   r{   r!   rD   ry   rQ   rX   r   r[   r8   r9   s      r]   test_map_partitions_column_infor    s   	LLL|||<<	=	=B
rq)))A
++qq111A!)QY///b!
++qs555A6QSXbdA
++qs555A6QSXbdA
00!44Aa#####7d????
--q{CCCAa#####6S====7d??????r_   c                 $   t          j        g dg dd          } t          j        | d          }|                    d           }t          |t          j                  sJ t          j        |j        |j                   |                    d           }t          |t          j	                  sJ |j
        dk    sJ |                    d	 d
          }t          |t          j	                  sJ |j        dk    sJ |j
        dk    sJ d S )Nr   r  r  r1   r   c                    | S r   rk   r  s    r]   r   z2test_map_partitions_method_names.<locals>.<lambda>  s    1 r_   c                    | j         dz   S r   r  r   s    r]   r   z2test_map_partitions_method_names.<locals>.<lambda>      BD1H r_   rG   c                    | j         dz   S r   r  r   s    r]   r   z2test_map_partitions_method_names.<locals>.<lambda>!  r	  r_   r  r  rD   )rR   rS   rt   r   r  rQ   r   rz   r{   rX   r   ry   r  s      r]    test_map_partitions_method_namesr    s   	LLL|||<<	=	=B
rq)))A	%%Aa&&&&&!)QY///	,,--Aa#####7d????	,,;??Aa#####6S====7d??????r_   c                 4   t          j        t          d          d          } t          j        t	          j        dt          j                  t	          j        ddt          j                  d| 	          }t          j        |d
          }|	                    d g d          }|
                    |j        |j        z             }t          ||           |	                    d           }|                    d          }t          ||           d S )Nr   myindexr   r5   r  rw      rT  r:   r1   r   c                H    |                      | j        | j        z             S )NC)assignr   r   r   s    r]   r   z?test_map_partitions_propagates_index_metadata.<locals>.<lambda>/  s    299rtbd{9++ r_   ))r   i4)r   r  )r  r  r  r  c                ,    |                      d          S )Nnewindex)rename_axisr   s    r]   r   z?test_map_partitions_propagates_index_metadata.<locals>.<lambda>5  s    z(B(B r_   r  )rR   rX   r   rS   rT   rl  r  rt   r   r  r  r   r   r!   r  )r;   r[   r   r   sols        r]   -test_map_partitions_propagates_index_metadatar  '  s   Id7mm)444E	i***2r1R1R1RSS
 
 
B .
+
+
+C


++444   C ))bdRTk)
"
"Cc3


BB
C
CC
..
$
$Cc3r_   znow we use SubgraphCallablesc                    t          j        g dg dd          } t          j        | d          }dd}|j                            |d	          }d
t          t          |j                            v s%dt          t          |j                            v sJ t          | j        dz   |           |j                            |d	          j
        |j                            |d	          j
        k    sJ d S )Nr   r  r  r1   r   r0   c                    | |z   S r   rk   )r   rD   s     r]   r  z4test_map_partitions_keeps_kwargs_readable.<locals>.f?  s    1ur_   r5   r  z['x', 5]z{'x': 5}r6   r0   )rR   rS   rt   r   rD   r  r   dictr   r!   r   )r[   r8   r  r9   s       r]   )test_map_partitions_keeps_kwargs_readabler  :  s    	LLL|||<<	=	=B
rq)))A    	
1""A T!&\\****jCQV<M<M.M.M.M.MbdQh3a1%%+qs/A/A!q/A/I/I/OOOOOOOr_   c                     t          j        t          d                    } t          j        | d          }|                    t          d                                                     d S )Nabcdefghijkr  r1   r  )rR   rS   r   rt   r   rW   r~   r   s     r]   +test_map_partitions_with_delayed_collectionr   L  s[    	d=11	2	2	2B
.Q

CJJd=))J**2244444r_   c                     t          j        dg di          } t          j        | d          }d }t          j        |||j                  }t          ||           d S )NrD   r0   r1   r2   r4   r5   r0   r   c                t    t          |           t          |          k    sJ t          |           dk    sJ | S )Nr   )r   )r[   df_xs     r]   checkzDtest_metadata_inference_single_partition_aligned_args.<locals>.check[  s7    2ww#d))####2ww{{{{	r_   )rR   rS   rt   r   r  rD   r!   )r[   r   r%  r   s       r]   5test_metadata_inference_single_partition_aligned_argsr&  T  sm     
sOOO,	-	-B
.
+
+
+C  
 
E3
.
.Cc3r_   c                    t          j        g dg dd          } t          j        g dg dd          }t          j        | d          }t          j        |d	          }|                    t           j        |d
ddd          }t          j        | |ddd          }t          ||d
d
           |                    t           j        |d
ddd          }t          j        || ddd          }t          ||d
d
           d S )N)r0   r1   r2   r2   r1   r2   r0   r1   r2   r4   r5   r6   rT  )r2   r0   r1   r/   )r   r  r1   r   r0   Fr   left)align_dataframesleft_onright_onrL   )r+  r,  rL   )check_indexr  right)rR   rS   rt   r   r  merger!   )df1r  r  r  rN  r   s         r]   test_align_dataframesr1  d  s,   
,///6H6H6HII
J
JC
,YYYYYY77
8
8C>#1---D>#1---D  
#sSf !  F xS#HHHHfhE5IIII  
$cw !  F xS#IIIHfhE5IIIIIIr_   shuffleTc                   t                                           }t                               d|           }t                                          }t          ||           t          ||           |j        |j        k    sJ t           j                                        }t           j                            d|           }t          j                                        }t          ||           t          ||           |j        |j        k    sJ t           j                                        }t           j                            d|           }t          j                                        }t          ||           t          ||           t                                           }|j                                        }|j                            d|           }t          j                                        }t          ||           t          ||           |j        |j        k    sJ t          j	        t                    5  t                               d           d d d            d S # 1 swxY w Y   d S )Nr1   )r.  r2  F)keep)rb   drop_duplicatesr}   r!   r   r8   r;   r  r   r   rZ   )r2  r   res2r  _ds        r]   test_drop_duplicatesr8  x  sX   




CG<<D



 
 Cc3dC9
""""
#



C31g>>D
&
 
 
"
"Cc3dC9
""""
'
!
!
#
#C7""q'"BBD
*
$
$
&
&Cc3dC	
				B
(
"
"
$
$C8##7#CCD
*
$
$
&
&Cc3dC9
""""	*	+	+ & &	u%%%& & & & & & & & & & & & & & & & & &s   I--I14I1c            
        t          j        g dg dd          } t          j        | d          }ddiddifD ]}t	           | j        j        di | |j        j        di |           d	gd
d	d
gfD ]T}t	           | j        dd|i| |j        dd|i|           t	           | j        |fi | |j        |fi |           Ud S )N)r0   r1   r2   r0   r1   r2   )r8   r8   r9   r9   r   r   r  r1   r   r4  firstlastrD   r   rK  rk   )rR   rS   rt   r   r!   rD   r5  )r[   r   kwargsss       r]   test_drop_duplicates_subsetr>    sQ   	...5S5S5STT	U	UB
.
+
+
+C7#ff%56 Y Y&"$&////1F1F1O1O1O1OPPP5#Sz* 	Y 	YB""66"666##772777   (b(55u557Js7J27W7WQV7W7WXXXX	YY Yr_   c                    t          j        t          j                            dd          t          d                    } t          j        | d          }|j        dk    sJ |	                    d          }t          |t          j                  sJ t          || j        dd	                    |	                    d
          }t          || j        dd                    |	                    d          }t          || j        dd                    t          |          t          |          z   t          |          z   t          |           k    sJ |j        	                    d          }t          |t          j                  sJ t          || j        j        dd	                    |j        	                    d
          }t          || j        j        dd                    |j        	                    d          }t          || j        j        dd                    t          |          t          |          z   t          |          z   t          | j                  k    sJ t!          j        t$                    5  |	                    d           d d d            n# 1 swxY w Y   t!          j        t$                    5  |	                    d	           d d d            d S # 1 swxY w Y   d S )Nrw   r5   r   r  r4   	chunksize)r   r4   r=   r@   r   r2   r0   r?   r1   r=   r@   r   )rR   rS   rT   r   r   r   rt   r   r   get_partitionrQ   r!   rJ  r   r8   rX   r   r   r   )r   r   div1div2div3s        r]   test_get_partitionrF    s   
,ryr1--tG}}
E
E
EC
.
*
*
*C=L(((( QDdBL)))))dCGAaCL!!!QDdCGAaCL!!!QDdCGAaCL!!!t99s4yy 3t99,C8888 5q!!DdBI&&&&&dCEIacN###5q!!DdCEIacN###5q!!DdCEIacN###t99s4yy 3t99,CE

::::	z	"	"  "               
z	"	"  !                 s$   	J++J/2J/K22K69K6c                     t           j        dk    sJ t           j        j        dk    sJ t           j        j        dk    sJ d S )Nr1   r0   )rb   ndimr8   r;   rk   r_   r]   	test_ndimrI    s=    6Q;;;;38q====7<1r_   c                 b    t           j        t          j        k                                    sJ d S r   )rb   dtypesr}   rK   rk   r_   r]   
test_dtyperL    s)    H#((*******r_   c                 `   t          j        dg di          } t          j        | d          }|j                                        }| j                                        }t          ||           |j                            d          }t          ||           |j        |j        k    sJ d S )NrD   r0   r1   r0   r2   r2   r0   r4   r2   r   r1   r.  rR   rS   rt   r   rD   value_countsr!   r   r[   r   r  r   result2s        r]   test_value_countsrT    s    	s1112	3	3B
.
+
+
+CU!!Ft  ""Hfhe  Q //Ggx   <7=((((((r_   c                 h   t          j        dg di          } t          j        | d          }|j                            d          }| j                            d          }t          ||           |j                            d          }t          ||           |j        |j        k    sJ d S )	NrD   rN  r2   r   F)sortr1   rO  rP  rR  s        r]   test_value_counts_not_sortedrW    s    	s1112	3	3B
.
+
+
+CUU++Ft  e ,,Hfhe  Q //Ggx   <7=((((((r_   c            
        t          j        dddddt          j        ddgi          } t	          j        | d          }|j                            d          }| j                            d          }t          ||           |j                            dd	          }t          ||           |j	        |j	        k    sJ d S )
NrD   r0   r1   r2   r4   r   FrW   )r.  rW   
rR   rS   rT   rU   rt   r   rD   rQ  r!   r   rR  s        r]   test_value_counts_with_dropnar[    s    	sQ1aA67	8	8B
.
+
+
+CUu--Ft   ..Hfhe  Qu ==Ggx   <7=((((((r_   c                    t          j        dg di          } t          j        | d          }|j                            d          }| j                            d          }t          ||           |j                            dd          }t          ||           |j        |j        k    sJ |j                            dd	          }t          ||           |j        |j        k    sJ d S )
NrD   rN  r2   r   T)	normalizer1   )r.  r]  )	split_outr]  rP  )r[   r   r  r   rS  result3s         r]    test_value_counts_with_normalizer`    s    	s1112	3	3B
.
+
+
+CU$//Ft  4 00Hfhe  Q$ ??Ggx   <7=((((e  1 ==Ggx   <7=((((((r_   r]  Fc           
        t          j        dddddt          j        ddgi          }t	          j        |d          }|j                            d|           }|j                            d|           }t          ||           |j                            dd| 	          }t          ||           |j	        |j	        k    sJ |j                            dd| 
          }t          ||           |j	        |j	        k    sJ |j                            d| d          }|j                            d|           }t          ||           d S )NrD   r0   r1   r2   r4   r   F)rW   r]  )r.  rW   r]  )r^  rW   r]  T)rW   r]  r^  rZ  )	r]  r[   r   r  r   rS  r_  result4	expected4s	            r]   +test_value_counts_with_normalize_and_dropnard    sM   	sQ1aA67	8	8B
.
+
+
+CUu	BBFt   CCHfhe  Qu	 RRGgx   <7=((((e  1Ui PPGgx   <7=((((e  	Q OOG!!!CCIgy!!!!!r_   c                 8   t          j        g ddddt          j        ddddt          j        dg
d          } t	          j        | d          }t          |j                                        t          j	        | j                                        d	
                     t          |j
                                        t          j	        | j
                                        d
                     t          |j                            d          t          j	        | j                                        d	
                     t          |j
                            d          t          j	        | j
                                        d
                     t          |j                                        | j                                                   |j                            d          j        |j                                        j        k    sJ d S )N)
r0   r1   r0   r2   r2   r0   r4   r1   r2   r0   r8   r   r9   rb   r  r2   r   rD   r   r   r1   rO  )rR   rS   rT   rU   rt   r   r!   rD   uniquerX   r   r;   r   r   r   s     r]   test_uniquerh    s   
,///sCc3RVSI	
 	
 C .!
,
,
,CcellnnbiSAAABBBcellnnbiSAAABBBcellql))29SU\\^^#+N+N+NOOOcellql))29SU\\^^#+N+N+NOOOci  #)"2"2"4"45555<<A<&&,0DDDDDDDr_   c                    g d} t          j        |           }ddgddgd}ddg}t          d          t          d          t          d          g}g dg dg d	g}t          t          j                            |           t          j                            |                      t          t          j                            |          t          j                            |                     t          t          j                            |          t          j                            |                     t          t          j                            |          t          j                            |                      t          t          j                            |          t          j                            |                     t          j	        t                    5  t          j                            t          j                   d d d            n# 1 swxY w Y   t          j                            t          j                            |           t          j                            |                      t          j                            t          j                            |          t          j                            |                     t          j                            t          j                            |          t          j                            |                     t          j                            t          j                            |          t          j                            |                      t          j	        t                    5  t          j                            t          j                   d d d            n# 1 swxY w Y   t          t                              |           t                              |                      t          t                              |          t                              |                     t          t                              |          t                              |                     t          t                              |          t                              |                      t          t                              |          t                              |                     t          |t          fD ]M}t          j	        t                    5  t                              |           d d d            n# 1 swxY w Y   Nd S )
Nr/   r   r2   r0   r1   r7   2)r1   r2   r4   )r2   r4   r5   )rR   rX   r   r!   rb   r8   isinr}   r   r   rZ   rk  utilsr;   )f_listf_seriesf_dictf_list2f_list_delayedf_list_of_listsobjs          r]   	test_isinrt  +  s   YYFy  Hq6A''F#hGajj'!**gajj9N yy)))YYY7O achhvF 3 3444achhx  $&++h"7"7888achhwW!5!5666	  F   	!!O$$   
*	+	+  	               Hqw||F++TZ__V-D-DEEEHqw||H--tzx/H/HIIIHqw||G,,djoog.F.FGGGH	^$$
   
*	+	+  	               affVnndii//000affVnndii//000affWootyy11222	~		&   			/""   8T"  ].// 	 	FF3KKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 s6   (*HH"%H"**O  O$'O$U<<V 	V 	c                     t          j        t          j        ddgddgd          d          } d| v sJ d| v sJ d| vsJ d| vsJ d S )	Nr0   r1   r2   r4   )r   r   r   r   r   )rt   r   rR   rS   r   s    r]   test_contains_framerv  ^  se    	Aq6q!f%=%=>>	B	BB"99997777b====B;;;;;;r_   c                 6   t          t                    t          t                    k    sJ t          t          j                  t          t          j                  k    sJ t          t	          j        t          j                    d                    dk    sJ t          t	          j        t          j        ddg          d                    dk    sJ t          t	          j        t          j        ddg          d                    dk    sJ d S )Nr0   r   r   r1   r  rm   )r   rb   r}   r8   rt   r   rR   rS   rk   r_   r]   test_lenrx  f  s    q66SYYqs88s46{{""""r~blnn!<<<==BBBBr~blAq6:::JJJKKqPPPPr~blE5>BBBPQRRRSSWXXXXXXXr_   c                    t          t          j        t          j                   t          t          j        j        t          j        j                   t          t          j        j        t          j        j                   d S r   )r!   rb   sizer}   r8   r;   rk   r_   r]   	test_sizer{  o  sL    afdi   ach$$$aglDJO,,,,,r_   c                    t           j        } t          | d                                         | d         ft	          t
                    t	          t
          j                  f           t          t          j        |           d         t	          t
                    t	          t
          j                  f           t           j        j        } t          | d                                         t	          t
          j                             t          t          j        |           d         t	          t
          j                  f           t          j	        t          j        g d          d          j        }|d                                         |d         fdk    sJ t          j	        t          j        g g dg           d          j        }|d                                         |d         fd	k    sJ d S )
Nr   r0   r/   r:   r1   r   )r2   r   r7   )r   r1   )rb   shaper!   r~   r   r}   r{   rt   r8   r   rR   rS   )r  shs     r]   
test_shaper  u  s~   WFvay  ""F1I.TC<M<M0NOOObj  #c$iiT\1B1B%CDDDSYFfQi!!3tv;;///bj  #c$&kk^444	9995551	E	E	E	KBqEMMOORU#v----	2B%7%7rBBBPQ	R	R	R	XBqEMMOORU#v------r_   c                     t          t          j        j        t          j        j                   t          t          j        j        t          j        j                   d S r   )r!   rb   r8   nbytesr}   r;   rk   r_   r]   test_nbytesr    s9    acj$&-(((agndj/00000r_   r3  r   quantile)g333333?r8  ?c                   t           j                            ddd          }t          j        |dg          }t          j        d|z
             dz  }|j                            |g|           }t          |          dk    sJ |j
        ||fk    sJ t          |t          j                  sJ |                                }t          |t          j                  sJ |j        d         t!          j        |d	
          k    sJ |j                            ||           }t          |t          j        j                  sJ |                                }|t!          j        |d	
          k    sJ d S )Nr0   i'  i  chunksrD   r  r3  r   皙?)rel)rk  r   exponentialrt   rm  rT   logrD   r  r   r   rQ   rX   r~   rR   ilocr   approxcorer   )r3  r  ro  r[   expr  s         r]   test_quantiler    sj    I!!!V[!BBE		EC5	1	1	1B6!h,
!
#C T]]H:f]55Fv;;!(33333fbi(((((^^Ffbi(((((;q>V]3C8888888 T]]8F]33Ffbgn-----^^FV]3C000000000r_   c                t   t          j        ddt          j        dgi          }t	          j        |d          }|                                }|                    |           }t          ||           |j                                        }|j                            |           }t          ||           d S )Nr   r   r1   r0   r   r  )	rR   rS   rT   rU   rt   r   r  r!   r   )r3  r[   r   r   r  s        r]   test_quantile_missingr    s     
sQN+	,	,B .
+
+
+C{{}}H\\\((Ffht}}HU^^6^**Ffhr_   c                   t           j                            g |           }t          j                            g           }|j        dk    sJ |j        dk    sJ |                                j        dk    sJ t          ||           d S )Nr  )NNr9   )rb   r9   r  r}   r   ry   r~   r!   )r3  r  r  s      r]   test_empty_quantiler    s     S\\"V\,,F
&//"

C|++++;#>> C''''fcr_   c              #     K   |dk    rt           st          j                    }n8| #t          st	          j        t          d          }nt          j                    }|5  d V  d d d            d S # 1 swxY w Y   d S )Nr  default value of numeric_onlyr   )r   
contextlibnullcontextr   r   r   r  )numeric_onlyr  ctxs      r]   #assert_numeric_only_default_warningr    s      z-$&&		m	l=0OPPP$&&	                   s   A00A47A4zTignore:In future versions of pandas, numeric_only will be set to False:FutureWarningzmethod,expected)g      #@g     =@g     3@r   Xr   )      @     8@      -@)r  g     @A@r  r;   r{   )      @g      ;@g      1@)      ?g     5@g      '@)g      ,@g      A@g      8@r  )NTFc                   t          j        t          j        d          t          j        dd          t          j        dd          g ddz  dg d          }t	          j        |d	          }i }|d
|i}|du s	t          r|t          j        t                    5   |j
        di | d d d            n# 1 swxY w Y   t          j        t          t          fd          5   |j
        di | d d d            d S # 1 swxY w Y   d S t          |d          5   |j
        dd| i|}d d d            n# 1 swxY w Y   |j        dk    sJ |j        dk    sJ |                                }t!          |t           j                  sJ |j        dk    sJ t'          ||d         d           t          |d          5   |j
        ddgfd| i|}d d d            n# 1 swxY w Y   |j        dk    sJ |j        dk    sJ |                                }t!          |t           j                  sJ t)          j        |j        t          j        ddg                     t)          j        |j        t          j        g d                     ||d         k                                                                    sJ t5          j        d          5  t5          j        dt:                      |j
        dddi|}d d d            n# 1 swxY w Y   t          |d          5   |j
        dd| d|}d d d            n# 1 swxY w Y   t'          ||           t          j        t<                    5  t          |d          5   |j
        ddgfd| d| d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S ) Nr&  r  rw   r  r   r5   )r   r  r   r  r  r2   r  Fzunsupported operand|no kernelr   r  r3  r0   )r   r  r8  r   check_namesr(  r)  )r(  r)  r  Tr   rN   categoryr}  )r}  r3  rk   )rR   rS   rT   rl  rt   r   r   r   r   r   r  r.   r  r   r   r~   rQ   rX   ry   r!   r   rz   r;   r|   r{   rK   r   r   filterwarningsr  r   )r3  r   r  r[   r   numeric_only_kwargr  s          r]   test_dataframe_quantiler    s   D 
22r""2r""%%%)		
 	
 %$$
 
 
B .Q

C,l;u<3G]9%% 	. 	.BK--,---	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.]019X
 
 
 	/ 	/ CL..-...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/
 1zJJ 	G 	G!S\FFF3EFFF	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G!Q&&&&:----!!&"),,,,,{c!!!!&(1+599990zJJ 	U 	U!S\4,TTvTASTTF	U 	U 	U 	U 	U 	U 	U 	U 	U 	U 	U 	U 	U 	U 	U!Q&&&&<////!!&",/////
flBHdD\,B,BCCC
fnbh.G.GHHH(1+%**,,0022222$D111 	A 	A#H}EEEE"r{@@@-?@@H	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A
 1zJJ 	O 	O!S\NqNN;MNNF	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	&(###]:&& 	T 	T(K*)
 )
 	T 	T CL$SAfSS@RSSS	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	Ts   B88B<?B<%D  DDD99D= D=G""G&)G&+LLL,M		MM=ON."O.N2	2O5N2	6OO
O
c                 h   t          j        g dt           j        gd t          dd          D             z   t          j        dddddd	d
t
          j        g          d          } t          j        | d          }t          |
                    d          | 
                    d                     d S )Nr  c                0    g | ]}t          d |d          S )i  r0   r   rx  s     r]   rz  z=test_quantile_datetime_numeric_only_false.<locals>.<listcomp>E  $    HHHqhtQ22HHHr_   r0   r=   r1   r2   r4   r5   r6   r?   )r  dtr   Fr  )rR   rS   NaTr1  to_timedeltarT   rU   rt   r   r!   r  r   s     r]   )test_quantile_datetime_numeric_only_falser  A  s    	+++6(HHE!QKKHHHH!Q1aArv)FGG	
 	

 
B .Q

Cclll..0O0OPPPPPr_   c                 ^   t          j        dd          } t          j        |           }g dg dg dg dfD ]z}|                    |                                          }t          |j        d         d           t          |j        d	         d
           t          |j        d         d           {|                    dg                                          }t          |j        d         d           |                    d                                          }t          |d           dS )zcheck that quantile is giving correct answers even when quantile parameter, q, may be unsorted.

    See https://github.com/dask/dask/issues/4642.
    r   rc  rd  re  rg  )r(  rf  r)  r8  r(  rh  r8  ri  r)  rj  N)rk  rl  rt   rm  r  r~   r!   rJ  )r   r   rp  rr  s       r]   %test_quantile_for_possibly_unsorted_qr  N  s&    		!SA		A		B 	      	 	% 	% KKNN""$$!%+t$$$!%+t$$$!%+t$$$$
TF##%%AaeDk4   
D!!##Aar_   c                     t          j        dg di          } t          j        | d          }|d                             d                                          }|dk    sJ dS )z,See https://github.com/dask/dask/issues/6551r8   r/   r2   r   r8  r1   N)rR   rS   rt   r   r  r~   )r[   r   rr  s      r]   test_quantile_tiny_partitionsr  i  sb    	sIII&	'	'B
.
+
+
+CC#&&((A666666r_   c                    t          j        dg i          } t          j        | d          }|                     d          }t          |                    d          |           t          j        dt          j        t          j        t          j        t          j        gi          } t          j        | d          }|                     d          }t          |                    d          |           dS )z,See https://github.com/dask/dask/issues/2792r   r1   r   r8  N)rR   rS   rt   r   r  r!   rT   rU   )r[   r   r   s      r]    test_quantile_trivial_partitionsr  q  s    	sBi	 	 B
.
+
+
+C{{3Hcll3***	sRVRVRVRV<=	>	>B
.
+
+
+C{{3Hcll3*****r_   c                 N    t          t          j        t          j                   d S r   )r!   rb   r;   r}   rk   r_   r]   
test_indexr  ~  s    agtz"""""r_   c                    t          j        t          d          d t          dd          D             dt          j        t	          d                              } t          j        | d	          }t          j        | dd
          }|j        rJ |                    dd|j	        
                                |j	        |j        z   d t          j        ddd                    }|                    dd|j	        
                                |j	        |j        z   d t          j        ddd                    }|                     dd| j	        
                                | j	        | j        z   d t          j        ddd                    }t          ||           t          ||           |                    | j	        dz             }t          ||                     | j	        dz                        |                    |j                  }t          ||                     | j                             t          j        t"                    5  |                    | j	        dz              d d d            n# 1 swxY w Y   t          j        t$                    5  |                    t	          t          d                               d d d            n# 1 swxY w Y   t          j        t"                    5  |                    |j	                   d d d            n# 1 swxY w Y   t          j        t"                    5  |                    |j	                   d d d            n# 1 swxY w Y   t          j        dddgi          } |                     d d            t          j        t          j        dddgi          d	          }|                    d d            t          | |           d S )Nr=   c                ,    g | ]}t          |          S rk   )floatrx  s     r]   rz  ztest_assign.<locals>.<listcomp>  s    >>>1eAhh>>>r_   rw      r7   abcdefghr:   r2   r   Fr   rV  r0   stringc                     | j         | j        z   S r   rQ  r  s    r]   r   ztest_assign.<locals>.<lambda>      AC!#I r_   i  r1   r  )r   rb   r
  r  r  r  c                     | j         | j        z   S r   rQ  r  s    r]   r   ztest_assign.<locals>.<lambda>  r  r_   c                     | j         | j        z   S r   rQ  r  s    r]   r   ztest_assign.<locals>.<lambda>  r  r_   r   r@   r   r   c                    | d         S Nr   rk   r   s    r]   r   ztest_assign.<locals>.<lambda>  s
    2c7 r_   c                     | j         | j        z   S r   rT  r   s    r]   r   ztest_assign.<locals>.<lambda>  s     r_   )r   r  c                    | d         S r  rk   r   s    r]   r   ztest_assign.<locals>.<lambda>  s
    BsG r_   c                     | j         | j        z   S r   rT  r   s    r]   r   ztest_assign.<locals>.<lambda>  s    "$+ r_   )rR   rS   r1  r|   r   rt   r   r  r  r8   r  r9   r   r!   r;   r   r   r   r   )r[   r   ddf_unknownr   res_unknownr  s         r]   test_assignr    s   	Ahh>>b">>>??htJ''((
 
 
B .
+
+
+C.???K****
**


%))++
%#%-

<a$$   C $$


-




-+-
'

<a$$ %  K ))


$((**
$+

<a$$   C c3k3
**rtax*
 
 Cc299rtax9(()))
**sy*
!
!Cc299rx9(())) 
z	"	" ' 'RTAX&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 
y	!	! % %

T%((^^
$$$% % % % % % % % % % % % % % % 
z	"	" & &su%%%& & & & & & & & & & & & & & & 
z	"	" & &

{}
%%%& & & & & & & & & & & & & & & 
sQFm	$	$BII""&<&<I===
.sQFm44!
D
D
DCJJ##'='=J>>>b#sH   JJ	J&1K##K'*K'L//L36L3M;;M?M?c                    t          j        t          j        dt	          d          i          d          } |                     | j                                                  }|                     d           }t          ||           d S )Nr   rw   r1   r   )r   c                4    | j                                         S r   r   shiftr  s    r]   r   z&test_assign_callable.<locals>.<lambda>  s    aciikk r_   )	rt   r   rR   rS   r1  r  r   r  r!   r  s      r]   test_assign_callabler    sp    	c599%566A	F	F	FB
		BDJJLL	!!A
		))	**AaOOOOOr_   c                 .   t          j        t          j        ddgddgdddg          d	          } d
t          j        ddg          i} | j        di |}t                      }t          |j        t          j        |d|gg d                     d S )Nr8   r9   r0   r1   r   r   r   rL  r{   r   col3r   1r   )r   r   r  )rL  r;   rk   )	rt   r   rR   rS   rX   r  r$   r!   rK  )r   new_colr   string_dtypes       r]   test_assign_dtypesr    s    
.
*q!f55?O	
 	
 	
 	  C ry#s,,-G
#*

w

C#%%L

	6***	
 	
 	
    r_   c                     t          j        ddgddgd          } t          j        | d          }|                    | d                   }t          ||                     | d                              d S )	Nr0   r1   r5   r6   r8   r0   r   r8   r  )rR   rS   rt   r   r  r!   r   s     r]   test_assign_pandas_seriesr    st    	QF1v..	/	/B
.
+
+
+C
**r#w*

Cc299r#w9''(((((r_   c                    t          j        t          d          g ddt          j        g dd                    } t	          j        | d	          }t          |j                            d
           | j                            d                      d | j        j	        D             }t          |j                            |          | j                            |                     t          |j
                            |          | j
                            |                     t          j        |          }t          |j                            |          | j                            |                     t          |j
                            |          | j
                            |                     t          |j
                            ||j
                  | j
                            |                     t          |j
                            |d          | j
                            |                     d S )Nr@   )	r4   r5   r6   r0   r1   r2   r   r   r   r7   rx   r  r   r:   r2   r   c                    | dz   S r   rk   r  s    r]   r   ztest_map.<locals>.<lambda>  s
    !a% r_   c                    | dz   S r   rk   r  s    r]   r   ztest_map.<locals>.<lambda>  s
    QU r_   c                    i | ]}||d z   	S r  rk   )r   vs     r]   
<dictcomp>ztest_map.<locals>.<dictcomp>  s    	(	(	(q!QU	(	(	(r_   r  )r9   rG   )rR   rS   r1  r|   rt   r   r!   r8   mapvaluesr9   rX   )r[   r   lks      r]   test_mapr    s   	Ahh88899h222CCC
 
 
B .
+
+
+Cceii(("$((??*C*CDDD	(	(BDK	(	(	(BceiimmRTXXb\\***ceiimmRTXXb\\***	2BceiimmRTXXb\\***ceiimmRTXXb\\***ceiii''"666ceiii--rtxx||<<<<<r_   c                     t          t          j        ddg          t          j        ddg          g          } t          | j                  ddgk    sJ t          |           dk    sJ d S )Nr8   r9   r  r   )r   rR   rS   r   r{   r   r  s    r]   test_concatr    sj    sCj1112<c
3S3S3STUUA	??sCj((((q66Q;;;;;;r_   c                    t                               t           j        dz             }  t          |           | j         }t          | |           t          t           j         t          t           j                  t           j        j                    t          t           j                                         t          t           j                                                  t           j                                        j                    d S )Nr0   r  )rb   r  r8   r  _argsr!   r  )r
  r  s     r]   	test_argsr     s    	137AQAaOOOac9499aci()))acggiiacggii!#''))/:;;;;;r_   c                 |    t           j        sJ t          j        t          dt
          g d          } | j        rJ d S )NrD   NNNr   )rb   r  rt   rS   r   r  r   s    r]   test_known_divisionsr    sE    	c30B0B0B	C	C	CB!!!!!!r_   c                 ,   t          j        g dg dd          t          j        g dg dd          t          j        g dg dd          d} t          dddt          j                    	          }t          j        | d
|g d          }|                    d          }t          |j                                        |j                                                   t          |j        |j        z   dz   |j        |j        z   dz              d S )Nr/   r3   r7   r<   r>   rA   rB   rG   rH   rD   )NNNNsyncr  r0   )	rR   rS   r%   rt   r~   r!   r8   r  r9   )r   r  rb   r}   s       r]   test_unknown_divisionsr    s	   ,YYYYYY??@@,YYYYYY??@@,YYYYYY??@@ C
 4d++HHHD
S#t%=%=%=>>A99v9&&Dacggii&&&acACi!mTVdf_q011111r_   c            
        t          j        g dg dg dg          t          j        g dg dg dg          g} d | D             }ddg}t          | |          D ]\  }}|D ]{}dD ]v}t          |                    ||	          |                    ||	                     t          |                    ||	          |                    ||	                     w|d S )
Nr   )Nr5   r6   )r5   r4   r@   )r1   NNc                :    g | ]}t          j        |d           S )r4   r   )rt   r   )r   r[   s     r]   rz  z'test_with_min_count.<locals>.<listcomp>!  s'    <<<"BN21---<<<r_   r   r0   r   r0   r1   r2   )	min_countr}  )rR   rS   r   r!   r  prod)dfsddfsr   r[   r   r}  r  s          r]   test_with_min_countr    s+   
lllLLL)))<==
ooo|||YYY?@@C =<<<<Dq6DsD>> 
 
C 		 		D)  	FFYTF::GGidG;;   GGidG;;HHytH<<   		
 
r_   join)innerouterr)  r.  c                   t          j        t          j                            d          t          j                            d          dg d          }t          j        t          j                            d          t          j                            d          dg d          }t          j        |d          }t          j        |d          }|                    ||           \  }}|                    ||           \  }}t          ||          sJ t          ||          sJ |d                             |d	         |           \  }}|d                             |d	         |           \  }}t          ||          sJ t          ||          sJ |                    || d
          \  }}|                    || d
          \  }}t          ||          sJ t          ||          sJ |d                             |d	         | d
          \  }}|d                             |d	         | d
          \  }}t          ||          sJ t          ||          sJ d S )Nrw   rT  
r0   r  r5   r6   r2   r@   rw   r4   r  r  r:   
r   r2   r1   rw   r5   r6   r?   r=   r  r  r2   r   r   r   r0   )r   
fill_value)	rR   rS   rT   r   r   rt   r   alignr!   	r   df1adf1bddf1addf1bres1r6  exp1exp2s	            r]   
test_alignr  1  sh   <ioob!!	(;(;<<000  D
 <ioob!!	(;(;<<///  D N4##EN4##E U..JD$Dt,,JD$T4     T4      s!!%*4!88JD$cc66JD$T4     T4      U!<<JD$Dt::JD$T4     T4      s!!%*4A!FFJD$cc!DDJD$T4     T4       r_   c                4   t          j        t          j                            d          t          j                            d          t          j                            d          dg d          }t          j        t          j                            d          t          j                            d          t          j                            d          dg d          }t          j        |d          }t          j        |d          }|                    || d	          \  }}|                    || d	          \  }}t          ||          sJ t          ||          sJ |                    || d
	          \  }}|                    || d
	          \  }}t          ||          sJ t          ||          sJ |                    || d	          \  }}|                    || d	          \  }}t          ||          sJ t          ||          sJ |                    || d	          \  }}|                    || d	          \  }}t          ||          sJ t          ||          sJ t          j
        t                    5  |                    || d	           d d d            n# 1 swxY w Y   t          j
        t                    5  |d                             |d         | d
	           d d d            d S # 1 swxY w Y   d S )Nrw   r   r   r  r  r:   )r   r  r   r  r2   r   )r   r}  r0   r;   r{   XXXr   r   )rR   rS   rT   r   r   rt   r   r  r!   r   r   r   r	  s	            r]   test_align_axisr  X  sv   <ioob!!	(;(;")//RTBUBUVV000  D
 <ioob!!	(;(;")//RTBUBUVV///  D N4##EN4##EUA66JD$Dt!44JD$T4     T4     UA66JD$Dt!44JD$T4     T4     UG<<JD$Dt'::JD$T4     T4     UI>>JD$Dt)<<JD$T4     T4      
z	"	" 2 2E51112 2 2 2 2 2 2 2 2 2 2 2 2 2 2 
z	"	" 8 8c
s$Q7778 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8s$   J77J;>J;%LLLc            
        t          j        t          j                            ddt          j        gd          t          j                            g dd          d          } t          j        t          j                            g dd          t          j                            g dd          d          }t          j        | d          }t          j        |d	          }d
 }d }||| |t          d f|d fgf|j	        |j	        | j	        |j	        t          d ft          df|d fgf|j
        |j
        | j
        |j
        |d f|df|d fgffD ]t\  }}}}	}
|
D ]i\  }}|                    |	||          }t          |                    |||          |           t          |                    |	||          |           jut          |                    |t          d          |                     |t          d                     |                    |t                    j        |                    |t                    j        k    sJ d S )Nr0   r1   r   r8   r9   rU   rT  r/   r0  r4   r5   c                    | S r   rk   r7   s     r]   r   ztest_combine.<locals>.<lambda>  s     r_   c                ,    | t           j        ur| |z   n| S r   )rT   rU   r7   s     r]   r   ztest_combine.<locals>.<lambda>  s    ARVOO1q55 r_   rb   )r  F)	overwrite)rR   rS   rT   r   choicerU   rt   r   r   r   r   combiner!   r   )r0  r  r  r  r:  str_addddaddbr8   r9   runsr  r  r  s                 r]   test_combiner!    sb   
,!!1a.#66!!"3"3"3S99	
 	
 C ,!!)))S11!!///377	
 	
 C >#q!!D>#q!!DNE ;:G 
tS#deT];<	dc3Z%'OPFFEEt_wnudm<	

! H HS!Q !% 	H 	HD*))At
);;Cckk#t
kCCSIIIckk!TjkAA3GGGG	H
 T3%00#++c3RW+2X2X   ;;sC  &#++c3*?*?*EEEEEEEr_   c                    t          j        t          j                            ddt          j        gd          t          j                            g dd          d          } t          j        t          j                            g dd          t          j                            g dd          d          }t          j        | d          }t          j        |d	          }t          |	                    |          | 	                    |                     t          |	                    |          | 	                    |                     t          |j
        	                    |j
                  | j
        	                    |j
                             t          |j
        	                    |j
                  | j
        	                    |j
                             t          |j        	                    |j                  | j        	                    |j                             t          |j        	                    |j                  | j        	                    |j                             d S )
Nr0   r1   r   r  rT  r/   r0  r4   r5   )rR   rS   rT   r   r  rU   rt   r   r!   combine_firstr   r   )r0  r  r  r  s       r]   test_combine_firstr$    s   
,!!1a.#66!!"3"3"3S99	
 	
 C ,!!)))S11!!///377	
 	
 C >#q!!D>#q!!D d  &&(9(9#(>(>???d  %%s'8'8'='=>>> df""46**CE,?,?,F,FGGGdf""35))35+>+>su+E+EFFFdf""46**CE,?,?,F,FGGGdf""35))35+>+>su+E+EFFFFFr_   c                    ddl m} m} ddlm} ddlm} t	          j                    }t          j        |d          }|dz   } | | |                    }t          ||            | ||                    }t          ||            | | |j	                            }t          |j	        |            | ||j	                            }t          |j	        |            | | |j
                            }t          |j
        |            | ||j
                            }t          |j
        |           |j	                                        }	 | ||	                    }
t          |	|
           d S )Nr   )dumpsloads)r&  )r'  r2   r   r1   )pickler&  r'  cloudpickler   r   rt   r   r!   r   r;   r  )r&  r'  cp_dumpscp_loadsrb   r[   r  a2i2r   s2s              r]   test_dataframe_picklabler/    s   ########------------!##A	q	)	)	)B	aB %b		

Cb#
(88B<<
 
 Cb# 
uuRT{{		BbdB	((24..	!	!BbdB 
uuRX		Bbh	((28$$	%	%Bbh 	

A	((1++		Bar_   c                 v   t                               ddgd          \  } }t          | t          j                  sJ t          |t          j                  sJ | j        |j        k    sJ t          j                            | j	        t          | j	                             t          |                                           t          |                                          z   t          t                    k    sJ t                               ddgd          \  }}|j        | j        k    sJ |j        |j        k    sJ t                               ddgdd          \  } }t                               ddgdd          \  }}t          | |           t          ||           t          j        t"                    5  t          j                            | j	        t          | j	                             d d d            n# 1 swxY w Y   t                               g dd          }d |D             }|                    | j        |j        g           t          |          dk    sJ t          j        t&                    5  t                               ddgd           d d d            d S # 1 swxY w Y   d S )Nr8  *   T)皙?r8  r  c                    h | ]	}|j         
S rk   )r   )r   r   s     r]   	<setcomp>z)test_random_partitions.<locals>.<setcomp>  s    $$$QW$$$r_   r5   r2  )rb   random_splitrQ   rt   rS   r   rT   testingassert_array_equalr;   r   r   r~   r}   r!   r   r   AssertionErrorupdater   )r8   r9   r,  b2partsnamess         r]   test_random_partitionsr=    s   >>3*b))DAqa&&&&&a&&&&&7agJ!!!'6!'??;;;qyy{{c!))++...#d));;;;^^S#J++FB8qw8qw>>3*b$//DAq^^S#JD11FBaa	~	&	& @ @

%%agvag???@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ NN???B//E$$e$$$E	LL!'17#$$$u::????	z	"	" ' '	Sz2&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 's$   <8H  HHJ..J25J2c                     t          j        g dd          } t          j        | d          }t	          |                                |                                            d S )N)+?Cl @Cl@X9v?Zd;@Zd;	@r8   r   r2   r   )rR   rX   rt   r   r!   round)r   r   s     r]   test_series_roundrF    sW    	===C	H	H	HB
rq)))Aaggii$$$$$r_   c                 
   d } t          j        g dt          d          dg d          }t          j        |d                              g d	          }|j        dk    sJ t          |           t          t          t          j        |j	        |j
        d
f          |j        d d                    ddgddgdgd
dgddgg dg dfD ]!}t          j        t          |ffd	           "t          j        t          j                            dd          t          d                    }|j        }t'          dd          D ]}t          j        ||          }|j        }t          ||           t          ||           d
dgg dg dg dg dg dg dg dfD ]}|                    |	          }	 | ||	           |	j        t)          |          k    sJ t          ||	           |                    |	          }
 | ||
           |
j        t)          |          k    sJ t          |j        |
           d dgg d!g d"fD ]}|                    |d#$          }	 | ||	           |	j        t)          |          k    sJ t          ||	           |                    |d#$          }
 | ||
           |
j        t)          |          k    sJ t          |j        |
           t          j        g d%g d&dt          d'                    }|j        }t'          dd          D ]-}t          j        ||          }|j        }t          ||           t          ||           t          d(          t          d)          t          d*          t          d+          t          d,          t          d-          t          d.          t          d/          t          d'          f	D ]}|                    |	          }	 | ||	           |	j        t)          |          k    sJ t          ||	           |                    |	          }
 | ||
           |
j        t)          |          k    sJ t          |j        |
           t          d0          t          d1          t          d2          fD ]}|                    |d#$          }	 | ||	           |	j        t)          |          k    sJ t          ||	           |                    |d#$          }
 | ||
           |
j        t)          |          k    sJ t          |j        |
           /d S )3Nc                    | u rdS d j         D             }t          |          }t          j        fd|D                       }t	          | |           t	          |            dS )zCheck data is split properlyNc                H    g | ]}|d                               d          | S )r   zrepartition-split)
startswith)r   ks     r]   rz  z?test_repartition.<locals>._check_split_data.<locals>.<listcomp>  s.    JJJaQqT__5H%I%IJJJJr_   c                P    g | ]"}t          t          j        j        |          #S rk   )r   rt   rS   r   )r   rK  rb   s     r]   rz  z?test_repartition.<locals>._check_split_data.<locals>.<listcomp>  s*    MMM1%blAFA>>MMMr_   )r   r   rR   concatr!   )origrb   keyssps    `  r]   _check_split_dataz+test_repartition.<locals>._check_split_data  s    99FJJ16JJJd||YMMMMMMM
 
 	$$r_   r(  abdabdr  r  r:   r1   rw   r&  r  r  r  r   r0   r&  r  rw   r  F   )rw   r  r&  r  )rw   rw   r&  r  c                0                         |           S )Nr  )r  )divr8   s    r]   r   z"test_repartition.<locals>.<lambda>2  s    !--#-2N2N r_   r?   r5   abxyzr  r6   r   r6   r6   )r   r5   r6   )r   r4   r6   r6   )r   r1   r6   )r   r1   r6   r6   )r   r1   r2   r6   r6   )r   r0   r1   r2   r4   r5   r6   r6   )r2   r5   r6   )r   r4   r5   r@   rw   T)r   forcer   )
r@   r=   r?   r6   r5   r4   r2   r1   r0   r   r   ajajjadjabfjahjjacdjadfijabdefgijYadijmacmrxzYajz)rR   rS   r   rt   r   r  r   r!   r   r   r   r  r   r   r   rT   r   r   rD   r1  rn  )rQ  r[   r9   rV  r   r   r   r   r   rddfrdsr8   s              @r]   test_repartitionri    s   
 
 
 
   tH~~66>V>V>V
 
 
B 	r1A	 0 0 011A;*****aOOO&r|QVagq\JJBGTVUVTVKXXX 
R	R	
	
B	R 	P 	P 	jS"N"N"N"N"NOOOO
,ryq!,,d7mm
D
D
DC	B1a[[ #" #"nS!$$U#s"bFIIIILLIILLOO$$$	
 	" 	"C ??S?11Dc4(((>U3ZZ////c4   ..3.//Cb#&&&=E#JJ....ceS!!!! Hmmm-=-=-=> 		" 		"C??S?==Dc4(((>U3ZZ////c4   ..3d.;;Cb#&&&=E#JJ....ceS!!!!		" ,,,,3Q3Q3QRR<    C 
B1a[[ $" $"nS!$$U#s"bJJKKKKLLLLLLMM

 	" 	"C ??S?11Dc4(((>U3ZZ////c4   ..3.//Cb#&&&=E#JJ....ceS!!!! NNDNNDLLA 		" 		"C??S?==Dc4(((>U3ZZ////c4   ..3d.;;Cb#&&&=E#JJ....ceS!!!!		"7$" $"r_   c            	     l   t          ddgg dddd          } | t          j        ddddft          j        dddd	fd
ddk    sJ t          g dg dddd          } | t          j        ddddft          j        ddddft          j        ddddft          j        dddd	ft          j        d
dgfdddk    sJ d S )Nr   r6   rX  r8   r9   r   r   FTr9   r   r9   r0   )rk  rl  r   r   r   r0   )r0   r2   r?   )r0   r4   r6   r?   r0   r2   r  r4   r?   r9   r1   r9   r2   )rk  rl  ro  rp  rm  rn  )r   r1   )r   r   boundary_slicerM  r  s    r]   test_repartition_divisionsrr    s   "Aq6999c3DDF)8Q5A)8Q4@	      #999lllCcJJF)8Q5A)8Q5A)8Q5A)8Q4@>Hh#78       r_   c                    t          j        g dt          d          dg d          } t          j        | g d          }t          |t          j                  sJ |j        dk    sJ t          ||            t          j        | j        g d          }t          |t          j	                  sJ |j        dk    sJ t          || j                   d S )Nr(  rR  r  r  r:   rS  r  )
rR   rS   r   rt   r  rQ   r   r!   r   rX   r   s     r]   $test_repartition_on_pandas_dataframert    s    	   tH~~66>V>V>V
 
 
B .'7'7'7
8
8
8Cc2<(((((=,,,,,c2
.)9)9)9
:
:
:Cc29%%%%%=,,,,,c24r_   	use_indexr   r0   r1   r4   r5   rK  r   zM8[ns]	transformc                    | S r   rk   r   s    r]   r   r         " r_   c                    | j         S r   r  r   s    r]   r   r          r_   c                   t          j        g ddz  t          d          dz  dt          j        t          t	          dd                    dz  |          	          } ||          }t          j        ||| 
          }|                    |          }t          ||           |j	        |k    sJ t          t          t          |j                            sJ d S )Nr(  rw   rR  r  r   r  r1   r  r:   r  )rR   rS   r   rX   r1  rt   r   r  r!   r   rK   r  r   
partitions)ru  r   rK  r   rw  r[   r8   r9   s           r]   test_repartition_npartitionsr~    s     
   2%DNNR,?@@iU1b\\**Q.e<<<
 
 
B 
2B
rqy999A	aAaOOO=As3%%&&&&&&&r_   r1   r5   partition_size1kiBi{  c                    | S r   rk   r   s    r]   r   r     ry  r_   c                    | j         S r   r  r   s    r]   r   r     r{  r_   c                P   t          j        g ddz  t          d          dz  dt          j        g ddz                      } ||          }t	          j        |||           }|                    |          }t          ||d	
           t          j	        |
                    t          d                                          dk              sJ t          j        |j        |                                          }t          t!          t"          |                    sJ d S )Nr(  rw   rR  r  r  r:   r  )r  Fr  Tdeepi   )rR   rS   r   rX   rt   r   r  r!   rT   rK   r  r    r~   r   get__dask_keys__r  r   )ru  r   r  rw  r[   r8   r9   r;  s           r]   test_repartition_partition_sizer    s   
 
   2%DNNR,?@@i0002566
 
 
B 
2B
rqy999A	^44AaE****6!""?">>FFHHDPQQQQQHQVQ__..//Es3r_   c                     t          j        dt          d          i          } t          j        | d          }|                    d          }|j        dk    sJ d S )NrD   rw   r1   r   z1 MiBr0   )rR   rS   r1  rt   r   r  r   r  s      r]   #test_repartition_partition_size_argr    sZ    	sE"II&	'	'B
rq)))A	gA=Ar_   c                    t          j        dg dit          j        d          t          j        d          t          j        d          g          } t          j        | d          }|                    d	           d S )
NrD   r/   r@  z2017-05-09 02:45:00.017999rB  r:   r1   r   rw   )rR   rS   r   rt   r   r  r   s     r]   (test_repartition_npartitions_same_limitsr    s    		iiiL566L566L566

 
 
B .
+
+
+COOO#####r_   c                     t          j        dt          d          i          } t          j        | d          }|j        dk    sJ |                    d          }t          ||           dS )z}
    Test that we cover numeric edge cases when
    int(ddf.npartitions / npartitions) * npartitions) != ddf.npartitions
    rD   r   r  r   r  N)rR   rS   r1  rt   r   r   r  r!   r  s      r]   .test_repartition_npartitions_numeric_edge_caser    si    
 
sE#JJ'	(	(B
rr***A=B	"%%AaOOOOOr_   c                 j   t          j        dg ddz  it          d          dz            } t          j        | d          }|                    d          }|j        dk    sJ t          ||            |                    d          }|j        dk    sJ t          ||            |j        rJ d S )	NrD   r(  rw   rR  r:   r5   r   r1   )	rR   rS   r   rt   r   r  r   r!   r  r  s      r]   test_repartition_object_indexr    s    	s...34DNNR<O	P	P	PB
rq)))A	!$$A=Aa	"%%A=Ba      r_   c                 \   t          j        t          d                    } t          j        d | D             d          | _        t          j        | d          }|j        dk    sJ t          | |           |	                    d          }|j        dk    sJ t          | |           d S )Nrw   c           	     V    g | ]&}t          d dddd          t          |          z   'S )i  r0   r  r   )minutesr   r  s     r]   rz  z6test_repartition_datetime_tz_index.<locals>.<listcomp>	  s8    GGG$1b!	$	$y';';';	;GGGr_   Tutcr1   r   r5   )
rR   rX   r1  to_datetimer;   rt   r   r   r!   r  )r   r   r  s      r]   "test_repartition_datetime_tz_indexr    s     		%))AnGGQGGGT  AG 
q	)	)	)B>Qa^^AF""""ar_   r   )r0   r&     r   )1D7D28h1hend)z
2000-04-15z2000-04-15 12:37:01z2000-01-01 12:37:00start)
2000-01-012000-01-01 12:30:00r  c                l   t          j        |          }t          j        |          }t          j        ||d          }t          j        dt	          j        t          |                    i|          }t          j        || d          }|	                    |          }t          ||           d S )N60s)r  r  r   rD   r:   )r   ry   r   )rR   r   r   rS   rT   rl  r   rt   r   r  r!   )r   r   r  r  r  r[   r   r  s           r]   test_repartition_freqr  	  s     LE
,s

C
-e5
9
9
9C	sBIc#hh//0	<	<	<B
.3
?
?
?C???%%DdBr_   c                 N   t          j        dt          j                            d          it          j        t          j                            d          dz                      } t          j        | d          }|                    d          }|j        d	d
         D ]}||	                    d          k    sJ |j        d         | j
                                        k    sJ |j        d
         | j
                                        k    sJ t          ||            d S )NrD   rw   g   vH7Br:   r2   r   15sr  r0   r   r   )rR   rS   rT   r   DatetimeIndexrt   r   r  r   rE  r;   minmaxr!   )r[   r   r  rV  s       r]   test_repartition_freq_divisionsr  !	  s   		bir""#ry//33e;<<
 
 
B .
+
+
+C???&&D~ad# ' 'cii&&&&&&&>!....>"////dBr_   c                 P   t          j        dg di          } t          j        | d          }t	          j        t                    5 }|                    d           d d d            n# 1 swxY w Y   dt          |j	                  v sJ dt          |j	                  v sJ d S )	NrD   r/   r0   r   1sr  onlyr'   )
rR   rS   rt   r   r   r   r   r  r   r   )r[   r   r  s      r]   test_repartition_freq_errorsr  0	  s    	sIII&	'	'B
.
+
+
+C	y	!	! #TT"""# # # # # # # # # # # # # # # S__$$$$3tz??******s   A++A/2A/c            	     f   t          j        ddd          } t          j        t          j                            ddt          |           df          t          d	          | 
          }t          j	        |d          
                    d          }t          ||           |j        t          j        d          t          j        d          t          j        d          t          j        d          t          j        d          t          j        d          fk    sJ |j        dk    sJ d S )Nz2015-01-01 00:00z2015-05-01 23:5010minr  r   r   r4   rz  ABCDr{  r0   r   MSz2015-1-1 00:00:00z2015-2-1 00:00:00z2015-3-1 00:00:00z2015-4-1 00:00:00z2015-5-1 00:00:00z2015-5-1 23:50:00r5   )rR   r   rS   rT   r   randintr   r   rt   r   r  r!   r   r   r   )tsr[   r   s      r]   test_repartition_freq_monthr  :	  s#   	)+=G	L	L	LB	
	!SB|44d6llRT
 
 
B .
+
+
+
7
7T
7
B
BCb#=
())
())
())
())
())
())     ?ar_   c                    t          j        d          t          j        d          t          j        d          t          j        d          g} t          j        | ddi          }t          j        |d                              d          }t          ||           |j        d	k    sJ |j        t          j        d          t          j        d          t          j        d          fk    sJ d S )
Nz2020-1-1z2020-1-2rm   )r;   rL  r0   r   r   r  r1   )	rR   r   rS   rt   r   r  r!   r   r   )r;   r   r   s      r]   test_repartition_freq_dayr  O	  s    
Z  
Z  
Z  
Z  	E ,U%
8
8
8C
.!
,
,
,
8
8c
8
B
BCc3?a=
Z  
Z  
Z        r_   	type_ctorc                    | S r   rk   )os    r]   r   r   a	  s     r_   c                   t          j        g dg ddg d          }t          j        |d          }|j        }|                     | |j                            }||u sJ t          j        | | |j                            }||u sJ |                     | |j                            }||u sJ t          j        | | |j                            }||u sJ d S )	Nrv  )r6   r?   r=   r@   r  )r   r   r1   r?   r:   r1   r   r  )rR   rS   rt   r   rD   r  r   )r  r[   r   r   r  r  r!  ds3s           r]   test_repartition_noopr  a	  s   	LLL|||<<MMM	R	R	RB
.
+
+
+C	B??YYs}%=%=?>>D3;;;; >#3=)A)ABBBD3;;;; ..99R\#:#:.
;
;C"9999 .yy'>'>
?
?
?C"999999r_   z freq, expected_freq, warning_msgr(   r  z/'M' will be deprecated, please use 'ME' insteadME)r  r  N2M2MS)QQSN)zQ-FEBzQS-FEBN)2Q2QSN)z2Q-FEB2QS-FEBN)r  r  N)BQBQSN)2BQ2BQSN)SMSMSNr   YSASzX'A' is deprecated and will be removed in a future version. Please use 'Y' instead of 'A'YzA-JUNzYS-JUNzAS-JUNzc'A-JUN' is deprecated and will be removed in a future version. Please use 'Y-JUN' instead of 'A-JUNzY-JUNBABYSBASz['BA' is deprecated and will be removed in a future version. Please use 'BY' instead of 'BA'2BA2BYS2BASBYr0   )secondsc                    |t          j                    n!t          j        |d         |d                   5  t	          |           }d d d            n# 1 swxY w Y   ||k    sJ d S )Nr   r0   r   )r  r  r   r   r   )r   expected_freqwarning_msgnew_freqs       r]   test_map_freq_to_period_startr  w	  s    b  	   \+a.A???3 3
 -T223 3 3 3 3 3 3 3 3 3 3 3 3 3 3 }$$$$$$s   AAAc                    t          j        dg di          } t          j        | d          }t	          j        t                    5  |                    dd d g           d d d            n# 1 swxY w Y   t	          j        t                    5  |                    dd           d d d            d S # 1 swxY w Y   d S )	NrD   r/   r0   r   r5   )r   r   5MiB)r   r  )rR   rS   rt   r   r   r   r   r  r   s     r]   test_repartition_input_errorsr  	  s7   	sIII&	'	'B
.
+
+
+C	z	"	" ? ?A$>>>? ? ? ? ? ? ? ? ? ? ? ? ? ? ?	z	"	" > >Af===> > > > > > > > > > > > > > > > > >s$   A..A25A2B77B;>B;c                 N   t          j        g dt          d          dg d          } t          j        | d          }t          |j                            d          | j                            d                     |j                            d                                          j	        dk    sJ t          |j        
                                | j        
                                           t          |j                            dd          | j                            dd                     t          |j                            dd          | j                            dd                     t          |j                                        | j                                                   t          |j                                        | j                                                   t          |                                |                                            t          |                                |                                            t          |                    d	
                                                    t          |           k     sJ d S )Nr0   r1   r2   r4   Nr6   rR  r  r  r:   r1   float32r4   r8  frac)rR   rS   r   rt   r   r!   rD   rI  r~   r   rW   betweenr  notnullisnullr   sampler[   r8   s     r]   'test_embarrassingly_parallel_operationsr  	  s   	###$x..99&&&
 
 
B 	r1Aacjj##RT[[%;%;<<<3::i  ((**0I====acjjllBDKKMM***ackk!Qa!3!3444achhq!nnbdii1oo...ackkmmRT\\^^,,,acjjllBDKKMM***aiikk2::<<(((ahhjj"))++&&&qxxSx!!))++,,s2ww666666r_   c                 J   t          j                    } t          j        | dd          t	                              d          |                     d                     t	          j                            d          | j                            d                     t	          j                            d                                                   | j                            | d                                                              t	                              dd          |                     dd                     t          j	        t          fd           t          j	        t          fd	           t          j	        t          fd
           d S )Nr5   Fr  r   r   r0   r|  c                 <     j                             dd          S )Nr   r0   r|  )r   fillnar   s   r]   r   ztest_fillna.<locals>.<lambda>	  s    cell11l&=&= r_   c                 2                          dd          S )Nr   rw   limitr  r   s   r]   r   ztest_fillna.<locals>.<lambda>	  s    szz!2z/F/F r_   c                 4                          ddd          S )Nr   rw   r0   r  r}  r  r   s   r]   r   ztest_fillna.<locals>.<lambda>	  s    szz!2Az/N/N r_   )r   makeMissingDataframert   r   r!   r  r   rJ   r   r   r   rZ   r   s    @r]   test_fillnar  	  sG   		%	'	'B
.
7
7
7Ccjjooryy~~...cell3S!1!1222cell3s8==??++RT[[C-H-HIIIcjj1j%%ryy1y'='=>>>
M*====>>>
M%'F'F'F'FGGG
M%'N'N'N'NOOOOOr_   c                 F   t          j                    } t          j        | dd          t	                                          |                                            t	          j                                        | j                                                   t	                              d          |                     d                     t	          j                            d          | j                            d                     t	                              d          |                     d                     t	                              dd          |                     dd                     t          j                    } t          j        | j	        d d	d
f<   t          j        | dd          t          j        t          fd           t	          |                     d                              d                     d S )Nr5   Fr  r1   r  r0   r|  r  r  r   c                 P                                                                      S r   )ffillr~   r   s   r]   r   ztest_ffill.<locals>.<lambda>
      ciikk&9&9&;&; r_   r2   )r   r  rt   r   r!   r  r   rT   rU   r  r   r   r   r   s    @r]   
test_ffillr  	  s   		%	'	'B
.
7
7
7Cciikk288::&&&cekkmmRTZZ\\***ciiai  "((("3"3444cekkk""BDJJQJ$7$7888ciiQiq!1!1222ciiaai(("(((*C*CDDD		%	'	'BfBGCRCFO
.
7
7
7C
M*;;;;<<<bhhQh!3!344444r_   c                 b   t          j                    } t          j        | dd          t	                                          |                                            t	          j                                        | j                                                   t	                              d          |                     d                     t	          j                            d          | j                            d                     t          j                    } t          j        | j	        d ddf<   t          j        | dd          t          j        t          fd           t	          |                     d	                              d	                     d S )
Nr5   Fr  r1   r  r  r   c                 P                                                                      S r   )bfillr~   r   s   r]   r   ztest_bfill.<locals>.<lambda>
  r  r_   r2   )r   r  rt   r   r!   r  r   rT   rU   r  r   r   r   r   s    @r]   
test_bfillr  
  sN   		%	'	'B
.
7
7
7Cciikk288::&&&cekkmmRTZZ\\***ciiai  "((("3"3444cekkk""BDJJQJ$7$7888		%	'	'BfBGCRCFO
.
7
7
7C
M*;;;;<<<bhhQh!3!344444r_   optimizec                   t           dz   dz   }|                    |           }|D ]G}|                                | r
d|j        z   n|j        fk    sJ |j                                         Ht          |          |j        k    sJ t          |d         j        j                  | rdndk    sJ t           j	        
                                                    |           fd|D             }|D ]}|j                                         t          j        |||j                  }|dz
  dz
  }|j                                         t          |t          dz   dz  t          j	        
                                z
  dz
             d S )	Nr0   )optimize_graphzdelayed-r   r2   c                     g | ]
}|d z  z
  S )r1   rk   )r   rD   dms     r]   rz  z*test_delayed_roundtrip.<locals>.<listcomp>1
  s!    ,,,qA
,,,r_   )r  r   r1   )rb   
to_delayed__dask_layers__r   r   r  r   r   layersr8   rJ   rt   from_delayedr   r!   r}   )r  r0  r   rD   delayed2df3df4r  s          @r]   test_delayed_roundtripr  !
  s   
a%!)CnnHn55G    ""&.=J""CI'
 
 
 
 
 	
w<<3?****wqz%&&+?11a@@@@	
		h		7	7B,,,,G,,,H  	
/(
F
F
FC
'A+CHcD1H>DFKKMM1A566666r_   c                 $   t           j        d             }  |             g}t          j        |t	          t
                              }t          j        t                    5  |	                                 ddd           dS # 1 swxY w Y   dS )zAEnsure that the graph is 100% lazily evaluted if meta is providedc                     t                      r   )RuntimeErrorrk   r_   r]   raise_exceptionz@test_from_delayed_lazy_if_meta_provided.<locals>.raise_exception@
  s    nnr_   r8   r  N)
r   r   rt   r  r  r  r   r   r  r~   )r  tasksr   s      r]   'test_from_delayed_lazy_if_meta_providedr  =
  s     
\  \ _E
/%dUmmm
4
4
4C	|	$	$                   s   #BB	B	c                     t          j        g t          t                              } t	          j        ddgi          j        d d         }t          | |           d S )Nr  r  r8   r  r   )rt   r  r  r  rR   rS   r  r!   )r   r   s     r]   %test_from_delayed_empty_meta_providedr  K
  sU    
/"4%===
1
1
1C|S3%L)).rr2Hc8r_   c                 "   t           j        d             } t          j         |              |             gt	          t
          t
                              }|j                            |j                  |_        |	                                 d S )Nc                 `    t          j        t          dgt          j        g                    S )N      ?r7   )rR   rS   r  rT   rU   rk   r_   r]   r  z&test_fillna_duplicate_index.<locals>.fR
  s%    |DC5RVH555666r_   r7   r  )
r   r   rt   r  r  r  r9   r  r8   r~   )r  r   s     r]   test_fillna_duplicate_indexr  Q
  sx    	\7 7 \7 /1133*4%5+A+A+A
B
B
BCELLCEKKMMMMMr_   c                    t          j                    } t          j        | dd          }t	          |j                            |j                  | j                            | j                             t	          |j                            |j                  | j                            | j                             d S )Nr5   Fr  )r   r  rt   r   r!   r   r  r   r   s     r]   test_fillna_multi_dataframer  [
  s    		%	'	'B
.
7
7
7Ccell35!!24;;rt#4#4555cell35!!24;;rt#4#455555r_   c                    t          j                    } t          j                    }t          j        | d          }t          j        |d          }t	          |                    |          |                     |                     t          j        | dd          }t          j        t          d          5  t	          |                    |          |                     |                     d d d            d S # 1 swxY w Y   d S )Nr5   r   r2   Fr  zNot all divisions are knownr   )	r   r  rt   r   r!   r  r   r   r   )r[   r0  r   r  r  s        r]    test_fillna_dask_dataframe_inputr  c
  s$   		%	'	'B

&
(
(C
.
+
+
+C>#1---Dcjj		#///.???K	z)F	G	G	G < <+$$T**BIIcNN;;;< < < < < < < < < < < < < < < < < <s   ;7C??DDc                 
   t          j                    } t          j        | dd          }t	          |                                |                                            t	          |                                |                                            t	          |                    d          |                     d                     t	          |                    d          |                     d                     d S )Nr5   Fr  r0   r|  )r   r  rt   r   r!   r  r  r   s     r]   test_ffill_bfillr  q
  s    		%	'	'B
.
7
7
7Cciikk288::&&&ciikk288::&&&ciiQiq!1!1222ciiQiq!1!122222r_   c                 4   t          j        dt          j        dgdt          j        dgd          } t	          j        | d          }t          j        ddgddg	          }t          |                    |          |                     |                     d S )
Nr0   r2   rT  r1   r   rw   r   r  r:   )	rR   rS   rT   rU   rt   r   rX   r!   r  )r[   r   r  s      r]   test_fillna_series_typesr   {
  s    	QN!RVQ@@	A	AB
.
+
+
+CAr73*555Jcjj$$bii
&;&;<<<<<r_   c                    t          j        g dt          d          dg d          } t          j        | d          }|                    d          }t          ||           |                    dd	
          }|                    dd	
          }t          ||           |                    d          j        |                    d          j        k    sJ d S )Nr  rR  r  r  r:   r1   r8  r    r  random_state)rR   rS   r   rt   r   r  r!   r   )r[   r8   r9   r   rb   s        r]   test_sampler%  
  s    	###$x..99&&&
 
 
B 	r1A	cAaOOO	c--A	c--AaOOO888#qxxSx'9'9'???????r_   c                 B   t          j        g dt          d          dg d          } t          j        | d          }|                    dd	          }|j                                        }t          |          t          t          |                    k    sJ d S )
Nr  rR  r  r  r:   r1   gffffff?F)r  replace)
rR   rS   r   rt   r   r  r;   r~   r   set)r[   r8   r9   bbs       r]   test_sample_without_replacementr*  
  s    	###$x..99&&&
 
 
B 	r1A	c5))A	
		Br77c#b''ll""""""r_   c                    t          j        g dt          d          dg d          } t          j        | d          }t          j        t                    5  |                    dd	          }d d d            n# 1 swxY w Y   |                    dd
          }t          ||           t          j
        t                    5  |                    d           d d d            n# 1 swxY w Y   t          j
        t                    5  |                    d            d d d            d S # 1 swxY w Y   d S )Nr  rR  r  r  r:   r1   r8  r"  )r$  r#  rw   r   r  )rR   rS   r   rt   r   r   r   r   r  r!   r   r   )r[   r8   r9   r   s       r]   test_sample_raisesr-  
  s   	###$x..99&&&
 
 
B 	r1A 
k	"	" - -HHStH,,- - - - - - - - - - - - - - -	c--AaOOO	z	"	"  	2               
z	"	"  	d                 s6   A==BBC++C/2C/D33D7:D7c                 &   t          ddit          j                              } t          j        t          j        ddgi          t          j        dg i          dd| g d          }t	          |j                                        d           d S )NrD   rG   r  r0   )rC   rE   r  )r%   rR   rS   rt   r!   rD   r  )r  r8   s     r]   test_empty_maxr/  
  s    c4[blnn===D
<qc
++r|S"I7N7NOO		 	A acggiir_   c                 x   t          j        d           t          j        g dg dd          } t	          j        | d          }t          |                    d          |                     d                     t          |                    dd	d
i          |                     dd	d
i                     d S )Nnumexprr   r  r  r1   r   zx**2 > yzx**2 > @valuer   r4   )
local_dict)r   r_  rR   rS   rt   r   r!   queryr   s     r]   
test_queryr4  
  s    
	"""	LLL|||<<	=	=B
.
+
+
+Ccii
##RXXj%9%9:::		/wl	;;
gq\::    r_   c                    t          j        d           t          j        g dg dd          } t	          j        | d          }t          |                     d          |                    d                     t          |                     dd	
          |                    dd	
                     t          j        t                    5  |                    dd
           d d d            d S # 1 swxY w Y   d S )Nr1  r   r  r  r1   r   zx + yz	z = x + yFr  T)
r   r_  rR   rS   rt   r   r!   evalr   rZ   )r   rb   s     r]   	test_evalr7  
  s%   
	"""
<<<lll;;<<A
qa(((AaffWooqvvg///aff[%f00!&&e&2T2TUUU	*	+	+ * *	{D)))* * * * * * * * * * * * * * * * * *s   C44C8;C8zinclude, excludec           	        d}t          j        dg|z  dg|z  dg|z  t          j        d|          d          }|d                             t	                                |d<   t          j        |d	
          }|                    | |          }|                    | |          }t          ||           t          ||           t          ||           d S )Nrw   r0   r8   r  z
2016-01-01r   )cintcstrclfoatcdtr;  r1   r   rG  )
rR   rS   r   rI  r$   rt   r   select_dtypesr!   r"   )rE  rF  r   r[   r8   r  r   s          r]   test_select_dtypesr?  
  s     	A	C!GEAIeai=q999		
 	

 
B F""#3#5#566BvJ
rq)))A__Wg_>>FAAHfh QVX&&&&&r_   c                 $   t          j        g dg dd          } t          j        | d          }t	          |j                            d          j                  t	          |j                            d          j                  k    sJ t	          |j                            d          j                  t	          |j                            d          j                  k    sJ t	          |j                                        j                  t	          |j                                        j                  k    sJ t	          |	                    d          j
                                        j                  t	          |	                    d          j
                                        j                  k    sJ d }d	 }t	          t          |j        |||j        j                  j                  t	          t          |j        |||j        j                  j                  k    sJ t	          t          |j        |||j        j                  j                  t	          t          |j        |||j        j                  j                  k    sJ dd}dd}d}d}d}t          |j        ||d|id|i|          }	t	          |	j                  t	          t          |j        ||d|id|i|          j                  k    sJ t	          |	j                  t	          t          |j        ||d|id|id
          j                  k    sJ t          |	| j                                        d||z   z  z   |z   |z              d S )Nr   r  r  r1   r   r2   rD   c                ,    |                      d          S )Nr5   nlargestr  s    r]   r   z=test_deterministic_apply_concat_apply_names.<locals>.<lambda>  s    !**Q-- r_   c                ,    |                      d          S Nr2   rB  r  s    r]   r   z=test_deterministic_apply_concat_apply_names.<locals>.<lambda>  s    1::a== r_   r   c                6    |                                  |z   |z   S r   r  )rD   c_keyboth_keys      r]   chunkz:test_deterministic_apply_concat_apply_names.<locals>.chunk  s    uuww))r_   c                Z    t          j        |                                           |z   |z   S r   rR   rX   r  )rD   a_keyrH  s      r]   aggz8test_deterministic_apply_concat_apply_names.<locals>.agg  s&    y||!!E)H44r_   r4   rG  rL  )rI  	aggregatechunk_kwargsaggregate_kwargsrH  )r   r   )rR   rS   rt   r   r   rD   rC  r   r5  groupbyr   rJ   r   r   r!   r  )
r[   r8   r  f2rI  rM  rG  rL  rH  r   s
             r]   +test_deterministic_apply_concat_apply_namesrS  
  s   	LLL|||<<	=	=B
rq)))A!#,,q//&''6!#,,q//2F+G+GGGGG!#,,q//&''6!#,,q//2F+G+GGGGG!#%%'',--8K8K8M8M8R1S1SSSSS!))C.."'')).//6!))C..:J:O:O:Q:Q:V3W3WWWWW 	 A	 	 B#ac1a++011VACR##(6 6     #ac1a++011VACAqsy!!&6 6    
* * * *5 5 5 5 EEH
	u%!5)  C #(vC!5)%u-	
 	
 	
 	  	  	 	 	 	 #(vC!5)%u-	
 	
 	
 	  	  	 	 	 	 c2488::UX%5 66>IJJJJJr_   c                    t          j        g dg dd          } t          j        | d          }dd}d }t	          |d	g||t          d	
                    }| d	z   d	z                                   }t          ||           t	          |j        gd d           }t          |t                    sJ |                                | j                                        k    sJ d S )Nr   r  r  r1   r   r  c                6    | |z   |z                                    S r   r   rD   r   constants      r]   rI  z"test_aca_meta_infer.<locals>.chunk9  s    A &&(((r_   c                *    |                                  S r   rV  r  s    r]   rM  z test_aca_meta_infer.<locals>.agg<  s    vvxxr_          @rX  )rI  rN  rO  c                P    t          j        |                                 g          S r   rK  r  s    r]   r   z%test_aca_meta_infer.<locals>.<lambda>E  s    AEEGG9!5!5 r_   c                *    |                                  S r   r  r  s    r]   r   z%test_aca_meta_infer.<locals>.<lambda>E  s    15577 r_   )rI  rN  )r  )rR   rS   rt   r   r   r  r   r!   rD   rQ   r   r~   r  )r[   r   rI  rM  r   r  s         r]   test_aca_meta_inferr^  5  s   	LLL|||<<	=	=B
.
+
+
+C) ) ) )   sCj4QTCUCUCU
V
V
VC8c>


!
!Cc3 	55ARAR  C c6""""";;==BDHHJJ&&&&&&r_   c                 0   t          j        ddgdz  i          } t          j        | d          dddddd	fd
}t	           |d          d           t	           |d          dd           t	           |d          d            |d          j                                         |j                  j                                        k    sJ  |d          } |d          }|j        |j        k    sJ t          |j                                        |j                                        z            t          j                  k    sJ  |d          
                                dk    sJ t          dgdd          }|
                                dk    sJ t          dgdd          }|
                                dk    sJ t          j        t                    5   |d           d d d            n# 1 swxY w Y   t          j        t                    5  t          dgdt          d          t          d          t          d                     d d d            d S # 1 swxY w Y   d S )NrD   r0   r  r  r   r   c                6    |                                  |z   |z   S r   r  rW  s      r]   rI  z#test_aca_split_every.<locals>.chunkO  s    uuww{X%%r_   c                6    |                                  |z   dz   S r   r  rD   rX  s     r]   r  z%test_aca_split_every.<locals>.combineR      uuww!A%%r_   c                6    |                                  |z   dz   S r  r  rb  s     r]   rM  z!test_aca_split_every.<locals>.aggU  rc  r_   c                    t          dgt          d          t          d          t          d          |           S )NrZ  r  r[        @)rI  rN  r  rO  combine_kwargsrP  r.  )r   r  r   rM  rI  r  r   s    r]   r   z&test_aca_split_every.<locals>.<lambda>X  sS    #	c
3'''S)))s+++	 	 	 r_   r2   r4   Fr5      rZ  rf  )rI  rN  r  rX  r.     )rI  rN  rX  r.     r  r[  )rI  rN  r.  rO  rg  rP  r   )rR   rS   rt   r   r#   r   rO  r   r   r   r~   r   r   r   r   r  	r[   r  r3r4r   rM  rI  r  r   s	        @@@@r]   test_aca_split_everyrp  K  sd   	sQC"Ho	&	&B
.
,
,
,C& & & && & & && & & &		 		 		 		 		 		 		A AAaDD!AAaDD!U###AAaDD!1R55:??#/ 2 2 7 < < > >>>>>	
1B	
1B8rxrw||~~.//3sx==@@@@ 1Q44<<>>FFFFF
	c
  C ;;==EEEEE
sCjqa
P
P
PC;;==;;;;; 
z	"	"  	!               
z	"	" 	
 	
#Js+++---!3///	
 	
 	
 	
	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
s%   ?HHH;AJJJc                    t          j        t          d          t          dd          d          } t          j        | d          }dd}d }|j                            ||	          }t          || j                                                   |                    ||	          }|j	        |                    ||	          j	        k    sJ t          ||                                            |                    ||d
di          }|j	        |                    ||d
di          j	        k    sJ |j	        |j	        k    sJ t          || dk    
                                           d }|                    |d 	          }t          |t          j        | 
                                |                                 d                     d S )Nr  r   r  r4   r   r   c                2    | |k                                     S r   r  )rD   r   s     r]   r   z'test_reduction_method.<locals>.<lambda>  s    a3h^^-- r_   c                *    |                                  S r   r  r  s    r]   r   z'test_reduction_method.<locals>.<lambda>  s    AEEGG r_   )rN  r      )rN  rO  c                x    t          j        |                                 |                                 d          S )Nr  count)rR   rS   r  rw  r  s    r]   sum_and_countz,test_reduction_method.<locals>.sum_and_count  s*    |AEEGGaggii@@AAAr_   c                R    |                      d                                          S )Nr   )level)rQ  r  r  s    r]   r   z'test_reduction_method.<locals>.<lambda>  s     19919;M;M;Q;Q;S;S r_   rv  rl  )rR   rS   r1  rt   r   rD   	reductionr!   rw  r   r  )r[   r   rI  rM  r   r6  rx  s          r]   test_reduction_methodr|    s   	E"IIE"cNN;;	<	<B
.
+
+
+C---E

C %//%3/
/
/Cc24::<<    ---
-
-C9es;;AAAAAc288:: ==#UBK=HHD
==#UBK=HHN	O 	O 	O 	O :""""dR2XNN$$%%%B B B --1S1S-
T
TCc2<288:: F FGGHHHHHr_   c                 >   t          j        dgdz            } t          j        | d          ddddddfd	}t	           |d
          d
           t	           |d          dd           t	           |d          d            |d          j                                         |j                  j                                        k    sJ  |d
          } |d          }|j        |j        k    sJ t          |j                                        |j                                        z            t          j                  k    sJ  |d
          
                                dk    sJ                     dd
          }|
                                dk    sJ                     dd
          }|
                                dk    sJ t          j        t                    5   |d           d d d            n# 1 swxY w Y   t          j        t                    5                      d
t          d          t          d          t          d                     d d d            d S # 1 swxY w Y   d S )Nr0   r  r  r   r   c                0    |                                  |z   S r   r  rb  s     r]   rI  z0test_reduction_method_split_every.<locals>.chunk  s    uuww!!r_   c                6    |                                  |z   dz   S r   r  rb  s     r]   r  z2test_reduction_method_split_every.<locals>.combine  rc  r_   c                6    |                                  |z   dz   S r  r  rb  s     r]   rM  z.test_reduction_method_split_every.<locals>.agg  rc  r_   c           
                              t          d          t          d          t          d          |           S )Nr  r[  rZ  rf  )rN  r  rO  rg  rP  r.  )r{  r  rh  s    r]   r   z3test_reduction_method_split_every.<locals>.<lambda>  sP    #--3'''S)))s+++     r_   r2   r4   Fr5   rc  rf  )rN  r  rX  r.     )rN  rX  r.     r  r[  rZ  )rN  r.  rO  rg  rP  rl  )rR   rX   rt   r   r#   r   rO  r   r   r   r~   r{  r   r   r   r  rm  s	        @@@@r]   !test_reduction_method_split_everyr    sS   	A38		B
.
,
,
,C" " " "& & & && & & &	 	 	 	 	 	 	A AAaDD!AAaDD!U###AAaDD!1R55:??#/ 2 2 7 < < > >>>>>	
1B	
1B8rxrw||~~.//3sx==@@@@ 1Q44<<>><<<<<
--g   C ;;==?????
--s-
J
JC;;==55555 
z	"	"  	!               
z	"	" 
 
s+++---!3/// 	 	
 	
 	

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
s%   HH"H?AJJJc                 z   t          j        t          d          t          dd          d          } t          j        | d          }dd}t          |                    |dd	
           ||dd	
                     t          |j                            |dd	
           ||j        dd	
                     d S )Nr  r   r  r4   r   r   c                    | |z   |z   S r   rk   r  s      r]   r  ztest_pipe.<locals>.f  s    1uqyr_   r0   r1   )r  rl  )rR   rS   r1  rt   r   r!   piperD   )r[   r   r  s      r]   	test_piper    s    	E"IIE"cNN;;	<	<B
.
+
+
+C    chhq!qh!!11S!q>>>222cejjAj##QQsua1%5%5%566666r_   c                    t           j                            dd          } t          j        | ddg          }t          j        |d          }|j                                        	                                dk    sJ t          j        t          j
        ||g          d          }|j                                        	                                dk    sJ d S )Nr   r1   r8   r9   r  r5   )rT   r   r   rR   rS   rt   r   r;   nuniquer~   rM  )arrr[   r   r  s       r]   test_gh_517r    s    
)//#q
!
!C	cC:	.	.	.B
.Q

C9&&((C////>")RH--q11D:''))S000000r_   c                    t          j        g dg dg dd          } t          j        | d          }t	          |                    dd	          |                     dd	                     t	          |                    dd
gd	          |                     dd
gd	                     t          j        t                    5  |                    ddgd	           d d d            n# 1 swxY w Y   t	          |                    ddgdd          |                     ddgdd                     t	          |                    dd
g          |                     dd
g                     d S )Nr   r  )r@   rw   r  r  r  r1   r   r   r0   r|  r  r8   rD   rN   )r}  rP   r  )	rR   rS   rt   r   r!   rY   r   r   r   r   s     r]   test_drop_axis_1r    s   	LLL|||///RR	S	SB
.
+
+
+Cchhsh##RWWSqW%9%9:::chhSzh**BGGS#JQG,G,GHHH	z	"	" % %#s!$$$% % % % % % % % % % % % % % %#s!H55
c
844   chhSzh**BGGS#JG,G,GHHHHHs   C,,C03C0r{   r9   c                    t          j        g dg dd          }t          j        |d          }|                    |           }|d         dz   |d	<   t          |                    |           |           d S )
N)r1   r4   r6   r=   )1a2b3c4dr7   r1   r   r  r8   r0   new)rR   rS   rt   r   rY   r!   )r{   r[   r   r  s       r]   test_drop_columnsr    s    
 
)))	
 	

 
B .
+
+
+C88G8$$DSACJbgggg&&-----r_   c                    t          j        g dg dd          } t          j        dg di          }t          j        | |g          }t          j        t          j        |           t          j        |          g|d          }t          |                    dg          |                    dg                     d S )	Nr/   )r  r6   r?   r  rD   r3   F)r  verify_metar  )	rR   rS   rM  rt   r  r   r   r!   rY   )r0  r  r[   r   s       r]   test_drop_meta_mismatchr  $  s     ,YYY[[[99
:
:C
,YYY'
(
(C	C:		B
/	c		DL--.RU  C bggseg$$chhuh&=&=>>>>>r_   c                    t          j        dt          j        dt                    i          } t          j        | d          }t          t          j        | d                   t          j        |d                              t          t          j        | d                   t          j        |d                              d S )NrD   rw   r  r1   )	rR   rS   rT   rl  r  rt   r   r!   cosr   s     r]   
test_gh580r  0  s    	sBIb6667	8	8B
.Q

CbfRWoorvc#h//000bfRWoorvc#h//00000r_   c                     t          j        dt          j        dt                    i          } t          j        | d          }|                    d          }|d         }t          |g|           d S )NrD   r2   r  r0   )	rR   rS   rT   rl  r  rt   r   	set_indexr   )r[   r   ddf_index_onlyr   s       r]   test_gh6305r  7  si    	sBIau5556	7	7B
.Q

C]]3''N	SBn%r*****r_   c                     ddd} t          t                              |           t                              |                      d S )Nr   r   r7   r  r!   rb   r  r}   renamers    r]   test_rename_dictr  @  sA    c""Gahhwh''W)E)EFFFFFr_   c                     d } t          t                              |           t                              |                      d S )Nc                *    |                                  S r   r  r  s    r]   r   z&test_rename_function.<locals>.<lambda>F  s    		 r_   r  r  r  s    r]   test_rename_functionr  E  s<    !!Gahhwh''W)E)EFFFFFr_   c                 J     ddi t          j        t           fd           d S )Nr   r0   c                 :    t                                          S )Nr:   )rb   r  r  s   r]   r   z#test_rename_index.<locals>.<lambda>L  s    ahhWh&=&= r_   )r   r   r   r  s   @r]   test_rename_indexr  J  s.    !fG
M*====>>>>>r_   c                    t          j        ddd          } t          j        g dg dd|           }t          j        |d	
          }t          |                                |                                d           t          |                    dd                                          |                    dd          d           t          |j                                        |j                                        d           t          |j                            dd                                          |j                            dd          d           t          j        |d
          }t          |                    d          |                    d                     t          |j                            d          |j                            d                     d S )Nr  1/1/2001z	12/1/2004)r   r  r  r   rw   r&  r  r  r  r:   r2   r   F)
check_freqr(   r   )r   rL   r4   r  r  )	rR   period_rangerS   rt   r   r!   to_timestampr~   rD   )r;   r[   r   s      r]   test_to_timestampr  O  s   OJKHHHE	LLL/?/?/?@@	N	N	NB
.
+
+
+Cc  "//"3"3FFFFcs++3355
Sc**   
 ce  ""BD$5$5$7$7EJJJJ--5577
s,,    .
+
+
+Cc5))2??u?+E+EFFFce  U ++RT->->5->-I-IJJJJJr_   c                 6   t          j        g dd          } t          j        | d          }t	          |                                 |                                           t	          |                     d          |                    d                     d S )Nr/   rm   r   r1   r   bar)rR   rX   rt   r   r!   to_frame)r   r8   s     r]   test_to_framer  e  s|    
	)))%(((A
qa(((AajjllAJJLL)))ajjE!2!233333r_   as_framec                   t          j        g dd          }t          j        |d          }| r|                                }t          j        t          d          5  |                    d           d d d            n# 1 swxY w Y   t          j        t          d	          5  |                    d
           d d d            d S # 1 swxY w Y   d S )Nr(  rm   r   r1   r   z4 != 2r   r   zUnexpected valuer5   )	rR   rX   rt   r   r  r   r   r   to_dask_array)r  r   r8   s      r]   test_to_dask_array_raisesr  m  sP   
	$$$5111A
qa(((A JJLL	z	2	2	2 & &	%%%& & & & & & & & & & & & & & & 
z);	<	<	<  	                 s$    BB	B(CCCc                   t          j        g dd          }t          j        |d          }| r|                                }|                                }t          |t          j                  sJ |j	        }| r$t          |          dk    sJ |d         dk    sJ nt          |          dk    sJ |d         }t          |          dk    sJ t          d	 |D                       sJ d S )
Nr"  rm   r   r1   r   r0   r  r   c              3  >   K   | ]}t          j        |          V  d S r   )rT   isnanr  s     r]   r   z-test_to_dask_array_unknown.<locals>.<genexpr>  s*      ++qrx{{++++++r_   )rR   rX   rt   r   r  r  rQ   rk  Arrayr  r   rK   )r  r   r8   r  s       r]   test_to_dask_array_unknownr  |  s   
	///...A
qa(((A JJLL__Ffbh''''']F  6{{aayD     6{{aAYFv;;!++F++++++++++r_   zlengths,as_frame,metar1   r1   r0   )TFNf4r  c                "   t          j        g ddd          }t          j        |d          }|r|                                }|                    ||           }t          |t          j                  sJ d}|r|d	z   }|j	        |k    sJ d S )
Nr"  rm   r  )ry   r   r1   r@  )lengthsr  r  )r  )
rR   rX   rt   r   r  r  rQ   rk  r  r  )r  r  r  r   r8   r  expected_chunkss          r]   test_to_dask_arrayr    s     		///T:::A
qA&&&A JJLL__W4_88Ffbh'''''"O 4)G3=O++++++r_   c                    t          j        g dg dd          } t          j        | d          }t	          |j                            d dt          f          | j                            d	                      t	          |                    d
 dd t          f          |                     d d                     t	          |                    d dd t          f          |                     d d                     t          j	                    5  t          j
        dt                     t	          |                    d d          |                     d d                     d d d            n# 1 swxY w Y   t          j	                    5  t          j
        dt                     t	          |                    d d          |                     d d                     d d d            n# 1 swxY w Y   d }t	          |j                            |dt          fdt          fg          | j                            |                     t          j	                    5  t          j
        dt                     t	          |j                            |          | j                            |                     d d d            n# 1 swxY w Y   t          j        t                    5  |                    d d           d d d            n# 1 swxY w Y   t          j        t                    5  |                    d d           d d d            d S # 1 swxY w Y   d S )Nr   r  r  r1   r   c                    | dz   S r   rk   r  s    r]   r   ztest_apply.<locals>.<lambda>  s
    a!e r_   rD   r  c                    | dz   S r   rk   r  s    r]   r   ztest_apply.<locals>.<lambda>  s    APQE r_   c                8    | j         d         | j         d         z   S r?  r  xys    r]   r   ztest_apply.<locals>.<lambda>      RWQZ"'!*4 r_   r0   r}  r  c                8    | j         d         | j         d         z   S r?  r  r  s    r]   r   ztest_apply.<locals>.<lambda>      BGAJ3 r_   r|  c                8    | j         d         | j         d         z   S r?  r  r  s    r]   r   ztest_apply.<locals>.<lambda>  r  r_   r{   c                8    | j         d         | j         d         z   S r?  r  r  s    r]   r   ztest_apply.<locals>.<lambda>  r  r_   rN   c                8    | j         d         | j         d         z   S r?  r  r  s    r]   r   ztest_apply.<locals>.<lambda>  s    bgaj!8 r_   c                8    | j         d         | j         d         z   S r?  r  r  s    r]   r   ztest_apply.<locals>.<lambda>  s    
RWQZ 7 r_   c                    | S r   rk   r  s    r]   r   ztest_apply.<locals>.<lambda>  s    r r_   c                    | S r   rk   r  s    r]   r   ztest_apply.<locals>.<lambda>  s     r_   c                .    t          j        | | g          S r   rR   rX   r  s    r]   r   ztest_apply.<locals>.<lambda>  s    RY1v&& r_   r   c                    | S r   rk   r  s    r]   r   ztest_apply.<locals>.<lambda>      R r_   c                    | S r   rk   r  s    r]   r   ztest_apply.<locals>.<lambda>  r  r_   r;   )rR   rS   rt   r   r!   rD   applyr  r   r   r`  r   r   r   rZ   r[   r   r  s      r]   
test_applyr    sy   	LLL/?/?/?@@	A	AB
.
+
+
+COO3*55rtzz//7R7R  
 		441D#;	OO
33!<<   		449DRU;	WW
33)DD   
	 	"	" 
 
h444II88qIAAHH77aH@@	
 	
 	

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
	 	"	" U Uh444#))MM)22BHH]]QRH4S4STTTU U U U U U U U U U U U U U U
 '&Dcekk$q#hC%9k::BDJJt<L<LMMM		 	"	" 7 7h444#%++d##RTZZ%5%56667 7 7 7 7 7 7 7 7 7 7 7 7 7 7
 
*	+	+ ) )		--a	((() ) ) ) ) ) ) ) ) ) ) ) ) ) ) 
*	+	+ / /		--g	.../ / / / / / / / / / / / / / / / / /s]   AE;;E?E?AG<<H H /AKKK:LL#&L#M))M-0M-convert_dtypec                   t          j        g dg dd          }t          j        |d          }| i nd| i}t          o| du}|j        j        j        d         fd	}t          |t          d
          5   |j        j
        |fi |}ddd           n# 1 swxY w Y   t          |t          d
          5   |j        j
        |fi |d|i}ddd           n# 1 swxY w Y   t          ||           dS )zGMake sure that explicit convert_dtype raises a warning with pandas>=2.1r1   r2   r4   r5   r  r  r1   r   Nr  r   c                    | k    sJ | dz   S r   rk   )rD   meta_vals    r]   r  z&test_apply_convert_dtype.<locals>.func  s    H}}}}1ur_   zthe convert_dtype parameterr  )rR   rS   rt   r   r   rD   _meta_nonemptyr  r,   r  r  r!   )	r  r[   r   kwargsshould_warnr  r   r  r  s	           @r]   test_apply_convert_dtyper    s    
LLL/?/?/?@@	A	AB
.
+
+
+C (RR.NF=M$=Ku#(+H    
 
]4Q	R	R . .24:d--f--. . . . . . . . . . . . . . .	]4Q	R	R < <T;;V;;(;;;< < < < < < < < < < < < < < <fhs$   8BBB9CC!$C!c                    t          j        g dg dd          } t          j        | d          }d }t	          j        t                    5 }|                    |d           d d d            n# 1 swxY w Y   t          |          dk    sJ t          j
        d	
          5 }|                    |dd t          f           d d d            n# 1 swxY w Y   |rJ t	          j        t                    5 }|                    d d           d d d            n# 1 swxY w Y   t          |          dk    sJ dt          |d         j                  v sJ dt          |d         j                  v sJ d S )Nr   r  r  r1   r   c                $    | d         | d         z   S NrD   r   rk   rv  s    r]   r   z"test_apply_warns.<locals>.<lambda>      s3x#c(* r_   r0   r|  Tr   r  c                    | S r   rk   r  s    r]   r   z"test_apply_warns.<locals>.<lambda>  s    A r_   z'x'r   r   )rR   rS   rt   r   r   r   r   r  r   r   r   r  r   message)r[   r   r  wr   s        r]   test_apply_warnsr    s*   	LLL/?/?/?@@	A	AB
.
+
+
+C**D	k	"	"  a		$Q	                             q66Q;;;;		 	-	-	- 2		$QdC[	1112 2 2 2 2 2 2 2 2 2 2 2 2 2 2	k	"	" 'a		++A	&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' 'q66Q;;;;C!%%%%%%c!A$,''''''''s6   A22A69A6' CCC;D  D$'D$c                    t          j        g dg dd          } t          j        | d          }d }t	          j        t          d          5  |                    |d	t          
           d d d            d S # 1 swxY w Y   d S )Nr   r  r  r1   r   c                $    | d         | d         z   S r  rk   r  s    r]   r   z4test_apply_warns_with_invalid_meta.<locals>.<lambda>	  r  r_   zMeta is not validr   r0   r  )	rR   rS   rt   r   r   r   r  r  r  r  s      r]   "test_apply_warns_with_invalid_metar    s    	LLL/?/?/?@@	A	AB
.
+
+
+C**D	m+>	?	?	? * *		$QS	)))* * * * * * * * * * * * * * * * * *s   A;;A?A?zNot available before	na_actionrN   c                h   t          j        dddt          j        gg dd          }t	          j        |d          }t          |                    d |           |                    d	 |                      t          |                    d
           |                    d                      d S )Nr0   r1   r2   r  r  r   c                    | dz   S r   rk   r  s    r]   r   z$test_dataframe_map.<locals>.<lambda>  
    !a% r_   )r  c                    | dz   S r   rk   r  s    r]   r   z$test_dataframe_map.<locals>.<lambda>  s
    Q r_   c                
    | | fS r   rk   r  s    r]   r   z$test_dataframe_map.<locals>.<lambda>  s
    A r_   c                
    | | fS r   rk   r  s    r]   r   z$test_dataframe_map.<locals>.<lambda>  s
    1a& r_   )rR   rS   rT   rU   rt   r   r!   r  )r  r[   r   s      r]   test_dataframe_mapr    s     
Q1bf-4D4D4DEE	F	FB
.
+
+
+C955
)44   cgg&&''0@0@)A)ABBBBBr_   zAvailable at 2.1c                     t          j        g dg dd          } t          j        | d          }t	          j        t          d          5  |                    d            d d d            d S # 1 swxY w Y   d S )	Nr   r  r  r1   r   zDataFrame.map requires pandasr   c                    | dz   S r   rk   r  s    r]   r   z+test_dataframe_map_raises.<locals>.<lambda>   r  r_   )rR   rS   rt   r   r   r   rZ   r  r   s     r]   test_dataframe_map_raisesr    s    	LLL/?/?/?@@	A	AB
.
+
+
+C	*2Q	R	R	R ! !   ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !s   A11A58A5c                    t          j        g dg dd          } t          j        | d          }d}t          rt
          nd }t          j        ||          5  |                    d           }d d d            n# 1 swxY w Y   t          j        ||          5  |                     d	           }d d d            n# 1 swxY w Y   t          ||           t          j        ||          5  |                    d
           }d d d            n# 1 swxY w Y   t          j        ||          5  |                     d           }d d d            n# 1 swxY w Y   t          ||           d S )Nr   r  r  r1   r   z&DataFrame.applymap has been deprecatedr   c                    | dz   S r   rk   r  s    r]   r   ztest_applymap.<locals>.<lambda>)  s
    AE r_   c                    | dz   S r   rk   r  s    r]   r   ztest_applymap.<locals>.<lambda>+  s
    1q5 r_   c                
    | | fS r   rk   r  s    r]   r   ztest_applymap.<locals>.<lambda>/  s
    QF r_   c                
    | | fS r   rk   r  s    r]   r   ztest_applymap.<locals>.<lambda>1  s
    Aq6 r_   )
rR   rS   rt   r   r   r  r   r   applymapr!   )r[   r   r   warning
ddf_result
pdf_results         r]   test_applymapr  #  si   	LLL/?/?/?@@	A	AB
.
+
+
+C
2C,6mm$G	gS	)	)	) 3 3\\//22
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3	gS	)	)	) 2 2[[11
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2j*%%%	gS	)	)	) 4 4\\"2"233
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4	gS	)	)	) 3 3[[!1!122
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3j*%%%%%sH   A==BBCCC2DDD6EE Ec                 T   t          j        g dg dd          } t          j        | d          }t	          |                    d          |                     d                     t	          |j                            d          | j                            d                     d S Nr"  r4   r5   r6   r?   r=   r  r1   r   abc)rR   rS   rt   r   r!   
add_prefixrD   r   s     r]   test_add_prefixr  5      	OOO///BB	C	CB
.
+
+
+CcnnU##R]]5%9%9:::ceu%%rtu'='=>>>>>r_   c                 T   t          j        g dg dd          } t          j        | d          }t	          |                    d          |                     d                     t	          |j                            d          | j                            d                     d S r
  )rR   rS   rt   r   r!   
add_suffixrD   r   s     r]   test_add_suffixr  <  r  r_   c                    t          j        g dg dg dd          } t          j        | d          t	          j                                        | j                                                   t	          ddg                                         | ddg                                                    t          j        t          fd	           t          j        t          t          ffd
           d S )N)r0   rZ  r2   r5   )g      iirw   r8   r9   r   rb   r
  r  r1   r   r   r   c                 6     j                                         S r   )r  absr   s   r]   r   ztest_abs.<locals>.<lambda>N  s    ceiikk r_   c                 ,                                      S r   )r  r   s   r]   r   ztest_abs.<locals>.<lambda>P  s    CGGII r_   )rR   rS   rt   r   r!   r   r  r   r   r   r   rZ   r   s    @r]   test_absr  C  s    	"""'''***	
 	

 
B .
+
+
+Cceiikk2488::&&&c3*o!!##Rc
^%7%7%9%9:::
M*1111222
M9124E4E4E4EFFFFFr_   c                 <   t          j        g dg dd          } t          j        | d          }t	          |                                |                                            t	          |                    d          |                     d                     d S )N)r?  r@  rA  )rB  rC  rD  r   r1   r   )rR   rS   rt   r   r!   rE  r   s     r]   
test_roundr  S  s    	444>S>S>STT	U	UB
.
+
+
+Cciikk288::&&&ciillBHHQKK(((((r_   z numeric_only not yet implementedc                :   t          j                    }t          j        |d          }i }| d| i} |j        di |} |j        di |ddi} |j        di |} |j        di |ddi} |j        di |} |j        di |}	t          ||           t          ||           t          ||	           t          ||	           |j         |j        di |j        k    sJ |j        |j        k    sJ |j        |j        k    sJ |j        |j        k    sJ d S )	Nr6   r   r  r.  r1   rw   rk   )rw   )r   r  rt   r   covr!   r   )
r  r[   r   r  r   r6  res3res4r  sol2s
             r]   test_cov_dataframer"  Z  s   & 
	%	'	'B
.
+
+
+C,l;
#'
'
'&
'
'C3777'77Q777D37,,+,,D37;;+;;;;;D
"&
&
&%
&
&C26++*++Dc3dCdDdD955"455;;;;;9
"""":####9
""""""r_   c                    t          j                    } | j        }| j        }t	          j        |d          }t	          j        |d          } |j        |          } |j        |d          } |j        |d          } |j        |dd          }|                    |          }	|                    |d          }
t          ||	           t          ||	           t          ||
           t          ||
           |j         |j        |          j        k    sJ |j        |j        k    sJ |j        |j        k    sJ |j        |j        k    sJ d S )Nr6   r   r1   rO  rw   )	r   r  r   r   rt   r   r  r!   r   )r[   r8   r9   rk  dbr   r6  r  r   r  r!  s              r]   test_cov_seriesr%    sY   		%	'	'B
A
A	q	)	)	)B	q	)	)	)B
"&**C26"!$$$D26"b>>D26"ba(((D
%%((C55B<<Dc3dCdDdD9r

(((((9
"""":####9
""""""r_   c                   t          j        d          }|                    t          j                              }t          j        |d          }i }| d| i} |j        di |} |j        di |ddi} |j        di |}t          ||           t          ||           |j         |j        di |j        k    sJ |j        |j        k    sJ d S )Ncudfr6   r   r  r.  r1   rk   )	r   r_  r   r   makeDataFramert   r  r!   r   )r  r'  r[   r   r  r   r6  r  s           r]   test_cov_gpur)    s   ( v&&D 
		'/11	2	2B
.
+
+
+C,l;
#'
'
'&
'
'C3777'77Q777D
"&
&
&%
&
&Cc3dC955"455;;;;;9
""""""r_   c                   	
 t          j                    } t          j        | d                                          }                    d          }                    d          }                    dd          }|                                 }|                     d          }t          ||           t          ||           t          ||           t          ||           |j                                        j        k    sJ |j        |j        k    sJ |j        |j        k    sJ |j        |j        k    sJ t          j        t          fd           | j
        }| j        }t          j        |d          	t          j        |d          
 	j        
          } 	j        
d          } 	j        
d          } 	j        
dd          } 	j        
          } 	j        
d          }t          ||           t          ||           t          ||           t          ||           |j         	j        
          j        k    sJ |j        |j        k    sJ |j        |j        k    sJ |j        |j        k    sJ t          j        t          	
fd	           t          j        t          	fd
           d S )Nr6   r   r1   rO  rw   )min_periods)r+  r.  c                 0                          d          S Nspearmanr  corrr   s   r]   r   ztest_corr.<locals>.<lambda>  s    sxxzx/J/J r_   c                 (      j         d          S r-  r/  )rk  r$  s   r]   r   ztest_corr.<locals>.<lambda>  s    wrwr*/M/M/M r_   c                 $      j                   S r   r/  )rk  r   s   r]   r   ztest_corr.<locals>.<lambda>  s    WRWS\\ r_   )r   r  rt   r   r0  r!   r   r   r   rZ   r   r   r   )r[   r   r6  r  r   r  r!  r8   r9   rk  r$  r   s            @@@r]   	test_corrr3    s   		%	'	'B
.
+
+
+C
((**C888""D888##D88822D
''))C77r7""Dc3dCdDdD9

(((((9
"""":####9
""""
M%'J'J'J'JKKK 	A
A	q	)	)	)B	q	)	)	)B
"'"++C2721%%%D2722&&&D27221555D
"'"++C2722&&&Dc3dCdDdD9)))))9
"""":####9
""""
M%'M'M'M'M'MNNN
M)1111122222r_   c                    t          j        d          } |                     t          j                              }t          j        |d          }|                                }|                    d          }|                                }t          ||           t          ||           |j        |                                j        k    sJ |j        |j        k    sJ d S )Nr'  r6   r   r1   rO  )	r   r_  r   r   r(  rt   r0  r!   r   )r'  r[   r   r   r6  r  s         r]   test_corr_gpur5    s    v&&D 
		'/11	2	2B
.
+
+
+C
((**C888""D
''))Cc3dC9

(((((9
""""""r_   c                    t          j                    } t          j        | d          }|j                            |j                            d                    }|j                            |j                  }t          ||           |j                            |j                            d          d          }t          ||           d S )Nr6   r   r   r1   rO  )	r   r  rt   r   r   r0  r   r  r!   rR  s        r]   test_corr_same_namer7    s     
	%	'	'B
.
+
+
+CUZZS))**Fuzz#%  Hfh ejjc**j::Ggx     r_   rA  c                   t          j        t          j        g d          t          j        g dd          t          j        g d          dt          j        g dd                    }t          j        || 	          }t          |                                |                                           t          |	                                |	                                           |j
        	                    |j                  j        j        d
k    sJ |j
                            |j                  j        j        d
k    sJ d S )Nr   r  rZ  rf  r  r  r  r0  r  r   r:   r@  f8)rR   rS   rT   ro  r|   rt   r   r!   r0  r  r8   r9   r   r   )rA  r[   r   s      r]   test_cov_corr_metar;    s"   	,,,''...d;;;...//	
 	

 h|||)444
 
 
B .y
1
1
1Cchhjj"''))$$$cggii"""599SU!'4////5::ce"(D000000r_   c                 x   t          j        t          j                            ddd          ddg          } t          j        | d          }t          |                    d	
          |                                            t          |	                    d	
          | 	                                           d S )Nr   r0   )i -1r1   r8   r9   r  r  r   r=   rO  )
rR   rS   rT   r   uniformrt   r   r!   r  r0  r   s     r]   test_cov_corr_stabler>  "  s    	bi''A}==Sz	R	R	RB
.
,
,
,Ccgg!g$$bffhh///chh1h%%rwwyy11111r_   zfails with non-numeric datac                   d}t          j        d|d          t          j        d|          t          j                            d||          t          j                            |          t          j                            ddg|          t          j                            ddt          j        g|          t          j                            dd	t          j        g|          dt          j                            g d
|          t          j                            ddg|          t          j                            g d|          d}t          j	        |          }|d         dk    |d<   |d         
                    dt          j                  |d<   |d                             d          |d<   |d                             t                    |d<   t          j        |d          }i }| d| i}|s*t          r#t           st#          j        t&          d          }nt)          j                    }|5   |j        di |}d d d            n# 1 swxY w Y   |5   |j        dddi|}d d d            n# 1 swxY w Y   t/          ||d           |5   |j        di |}d d d            n# 1 swxY w Y   |5   |j        dddi|}d d d            n# 1 swxY w Y   t/          ||d           d S ) N  z
2015-01-011minr   r   r   r  r0   g        r  )rw   r&  r  r  r  r8   r9   r0  )dates	unique_idintsfloatsboolsint_nans
float_nansrX  int_categoricalcategorical_binarycategorical_nansrG  	hardboolsrL  r   rK  r  rD  r&  r   r  r  r   r.  r4   Fr  rk   )rR   r   rT   rl  r   r  r   r  rU   rS   r'  rI  r   rt   r   r   r   r   r   r  r  r  r0  r!   r  )	r  rz  rb   r[   r   r  r  r   r  s	            r]   test_cov_corr_mixedrN  *  s   6 D|TGGGYq$''	!!!T!55)//$''!!1a&t!44I$$aBF^$$??i&&S"&'9&EE9++,@,@,@t+LL i..Sz.EEI,,___4,HH	 	A 
aBkQ&B{O 23;;CHHB!"67>>zJJBo,,S11B{O
.
,
,
,C,l; '- ' 'l=0OPPP$&& 
 1 12700/001 1 1 1 1 1 1 1 1 1 1 1 1 1 1	 ? ?>>a>+=>>? ? ? ? ? ? ? ? ? ? ? ? ? ? ?fh6666 
 0 026//.//0 0 0 0 0 0 0 0 0 0 0 0 0 0 0	 > >==Q=*<==> > > > > > > > > > > > > > >fh666666sH   >III%JJJ J::J>J>K##K'*K'c                    t          j        t          j                            d                    } t	          j        | d          t                              d          |                     d                     t                              d          |                     d                     t                              d          |                     d                     t                              dd          |                     d                     t          j	        t          fd	           d S )
Nr   rw   r   r1   r   rZ  r2   rO  c                 .                          d          S Nr  )autocorr)dxs   r]   r   ztest_autocorr.<locals>.<lambda>y  s    R[[%5%5 r_   )rR   rX   rT   r   rt   r   r!   rR  r   r   r   )rD   rS  s    @r]   test_autocorrrT  r  s    
	")""3''((A	r	*	*	*Bbkk!nnajjmm,,,bkk!nnajjmm,,,bkk"ooqzz"~~...bkk!k++QZZ]];;;
M)555566666r_   c                 `   t          j        g dg dd          } t          j        | d          }d }t	          j                    5  t	          j        dt                     |                    |d	          }d d d            n# 1 swxY w Y   t          |t          j                  sJ t          j        |j        t          j        d
dg                     t          ||                     |d	                     t	          j                    5  t	          j        dt                     |                    d d	          }d d d            n# 1 swxY w Y   t          |t          j                  sJ |j        J t          ||                     d d	                     d }t	          j                    5  t	          j        dt                     |j                            |          }d d d            n# 1 swxY w Y   t          |t          j                  sJ t          j        |j        t          j        ddg                     t          || j                            |                     t	          j                    5  t	          j        dt                     |j                            d           }d d d            n# 1 swxY w Y   t          |t          j                  sJ |j        dk    sJ t          || j                            d                      d S )Nr   r  r  r1   r   c                ~    t          j        |                                 |                                 gddg          S )Nr  rJ   r:   )rR   rX   r  rJ   r  s    r]   	return_dfz+test_apply_infer_columns.<locals>.return_df  s0    y!%%''16688,UFODDDDr_   rN   r0   r|  r  rJ   c                    dS r   rk   r  s    r]   r   z*test_apply_infer_columns.<locals>.<lambda>  s    Q r_   c                    dS r   rk   r  s    r]   r   z*test_apply_infer_columns.<locals>.<lambda>  r  r_   c                B    t          j        | dz  | dz  gddg          S )Nr1   r2   x2x3r:   r  r  s    r]   
return_df2z,test_apply_infer_columns.<locals>.return_df2  s'    y!a%Qd|<<<<r_   r[  r\  c                    dS r   rk   r  s    r]   r   z*test_apply_infer_columns.<locals>.<lambda>  s    q r_   rD   c                    dS r   rk   r  s    r]   r   z*test_apply_infer_columns.<locals>.<lambda>  s    1 r_   )rR   rS   rt   r   r   r   r`  r   r  rQ   r   rz   r{   r|   r!   rX   ry   rD   )r[   r   rW  r  r]  s        r]   test_apply_infer_columnsr`  |  s   	LLL/?/?/?@@	A	AB
.
+
+
+CE E E
 
	 	"	" . .h44491--. . . . . . . . . . . . . . . fbl+++++&."(E6?*C*CDDDfbhhyqh11222 
	 	"	" 0 0h444;;Q//0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 fbi(((((;fbhh{{h33444= = = 
	 	"	" ) )h444Z(() ) ) ) ) ) ) ) ) ) ) ) ) ) ) fbl+++++&."(D$<*@*@AAAfbdjj,,--- 
	 	"	" * *h444[[))* * * * * * * * * * * * * * * fbi(((((;#fbdjj--.....sH   2BB
B
3EEE>5G??HH6KKKc                 `   t          j                    } t          j        | d          }dt	          |j                  v sJ t          |j        j        t          j	        | j        j                             t          |j        j
        t          j	        | j        j
                             d S )Nr2   r   day)r   makeTimeSeriesrt   r   r   r;   r!   rb  rR   r|   month)ry  r8   s     r]   test_index_time_propertiesre    s      A
qa(((ACLL    agk28AGK00111agmRXagm4455555r_   c                    ddl m}  t          j        t          j                            d          t          | d d                   t          j                            d                              d          d          }t          j
        |d          }dD ]5}||fd	} |||d
d          } |||d
dd          } |||d
d          }t          ||           t          ||           |j        |j        k    sJ  |||d
ddg          } |||d
ddgd          } |||d
ddg          }t          ||           t          ||           |j        |j        k    sJ  ||j        |d
          } ||j        |d
d          } ||j        |d
          }t          ||           t          ||           |j        |j        k    sJ 7d S )Nr   ascii_lowercaser&  r  r0  r2   r   )rC  	nsmallestc                .     t          | |          |i |S r   getattr)r[   margsr  s       r]   r   z)test_nlargest_nsmallest.<locals>.<lambda>  s    A0O0O0O r_   r5   r8   r1   rO  r   )r  rh  rR   rS   rT   r   permutationr   rI  rt   r   r!   r   r8   )rh  r[   r   rm  r  r   r6  r  s           r]   test_nlargest_nsmallestrp    s,   &&&&&&	&&r**ocrc*++&&r**11)<<	
 	

 
B .
+
+
+C& ' 'AOOOaQ3qaCQ///aAq##s$yDJ&&&&aQC:&&qaS#JA666aAq3*%%#s$yDJ&&&&aq!nnq1!,,,aamm#s$yDJ&&&&&-' 'r_   c                    t          j        dg di          } t          j        | d          }t	          j        t          d          5  |                                 d d d            n# 1 swxY w Y   t	          j        t          d          5  |                                 d d d            d S # 1 swxY w Y   d S )Nr8   r/   r1   r   zmissing required positionalr   )	rR   rS   rt   r   r   r   r   rC  ri  r   s     r]   test_nlargest_nsmallest_raisesrr    s-   	sIII&	'	'B
.
+
+
+C	y(E	F	F	F                	y(E	F	F	F                   s$   
A++A/2A/B33B7:B7c                 p   t          j        g dg dd          } t          j        | d          }|                                 }|                                }t          d |j        D                       sJ t          ||d           |                     d	
          }|                    d	
          }t          d |j        D                       sJ t          ||d           | j                                        }|j                                        }t          d |j        D                       sJ t          ||d           | j                            d	
          }|j                            d	
          }t          d |j        D                       sJ t          ||d           d S )Nr   r  r  r1   r   c              3     K   | ]}|d u V  	d S r   rk   r   rb   s     r]   r   z#test_reset_index.<locals>.<genexpr>  &      00QqDy000000r_   Fr-  TrY   c              3     K   | ]}|d u V  	d S r   rk   ru  s     r]   r   z#test_reset_index.<locals>.<genexpr>  rv  r_   c              3     K   | ]}|d u V  	d S r   rk   ru  s     r]   r   z#test_reset_index.<locals>.<genexpr>  rv  r_   c              3     K   | ]}|d u V  	d S r   rk   ru  s     r]   r   z#test_reset_index.<locals>.<genexpr>  rv  r_   )	rR   rS   rt   r   reset_indexrK   r   r!   rD   )r[   r   r  r   s       r]   test_reset_indexr}    s   	LLL/?/?/?@@	A	AB
.
+
+
+C
..

C
//

C00#-00000000c3E****
..d.
#
#C
//t/
$
$C00#-00000000c3E****
$



C
%



C00#-00000000c3E****
$



%
%C
%



&
&C00#-00000000c3E******r_   c                     t          j        t          j        dt	          d          i          d          j                                        } |                     d           d S )Nr8   rw   r1   r   )bogus_keyword)rt   r   rR   rS   r1  r8   r  r~   r  s    r]   %test_dataframe_compute_forward_kwargsr    sT    
r|S%))$4551EEEGKKMMAIIBIr_   c                 J   t          j        g d          } t          j        | d          }t	          j        t          d          5  d|v }d d d            n# 1 swxY w Y   |sJ t	          j        t          d          5  d|v }d d d            n# 1 swxY w Y   |rJ d S )Nr   r1   r   zHUsing the ``in`` operator to test for membership in Series is deprecatedr   r8   r   )rR   rX   rt   r   r   r   r  )r   r   outputs      r]   Atest_contains_series_raises_deprecated_warning_preserves_behaviorr    sE   
	&&&''A	q	)	)	)B	X
 
 
   	              
 MMM	X
 
 
   b	              
 s$   AA ABBBziteritems has been removedc                    t          j        dg di          } t          j        | d          }t	          t
          t          d          5  | d                                         }d d d            n# 1 swxY w Y   t	          t
          t          d          5  |d                                         }d d d            n# 1 swxY w Y   t          ||          D ]\  }}||k    sJ d S )NrD   r   r1   r   ziteritems is deprecatedr  )	rR   rS   rt   r   r,   r   r  	iteritemsr   )r[   r   pd_itemsdd_itemsr8   r9   s         r]   test_series_iteritemsr    sz   	sLLL)	*	*B
.
+
+
+C	}.G
 
 
 ' ' c7$$&&' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 
}.G
 
 
 ( ( s8%%''( ( ( ( ( ( ( ( ( ( ( ( ( ( ( Hh''  1Avvvvv s$   A22A69A6C  CCc                     t          j        dg di          } t          j        | d          }t	          | d         |d                   D ]\  }}||k    sJ d S )NrD   r   r1   r   )rR   rS   rt   r   r   )r   r   r8   r9   s       r]   test_series_iterr  "  sl    
c<<<())A	q	)	)	)BAcFBsG$$  1Avvvvv r_   c                    t          j        g dg dd          } t          j        | d          }t	          |                                 |                                          D ]&\  }}t          j        |d         |d                    'd S )Nr   r  r  r1   r   r0   )rR   rS   rt   r   r   iterrowsr   assert_series_equalr[   r   r8   r9   s       r]   test_dataframe_iterrowsr  )  s    	LLL/?/?/?@@	A	AB
.
+
+
+CBKKMM3<<>>22 + +1
qtQqT****+ +r_   c                     t          j        g dg dd          } t          j        | d          }t	          |                                 |                                          D ]\  }}||k    sJ d S )Nr   r  r  r1   r   rR   rS   rt   r   r   
itertuplesr  s       r]   test_dataframe_itertuplesr  1  s    	LLL/?/?/?@@	A	AB
.
+
+
+CBMMOOS^^%5%566  1Avvvvv r_   r  )rD   rD   rE   rF   )letterr7  )r<  c                n   t          j        ddgddgddgddgg| 	          }t          j        |d
          }t	          |                                |                                          D ]G\  }}|d         |d         k    sJ t          |d         |d                                                    Hd S )Nr0   rw   r1   r&  r2   r  r4   r  r  r   r   )rR   rS   rt   r   r   itemsr!   r~   )r{   r[   r   r8   r9   s        r]   test_dataframe_itemsr  9  s     
2wB!R1b':G	L	L	LB
.
+
+
+CBHHJJ		,, ( (1tqt||||!A$!''''( (r_   c                     t          j        g dg dd          } t          j        | d          }t	          |                     d          |                    d                    D ]\  }}||k    sJ d S )Nr   r  r  r1   r   Fr:   r  r  s       r]   *test_dataframe_itertuples_with_index_falser  I  s    	LLL/?/?/?@@	A	AB
.
+
+
+CBMMM..U0K0KLL  1Avvvvv r_   c                 4   t          j        g dg dd          } t          j        | d          }t	          |                     d           |                    d                     D ]-\  }}||k    sJ t          |          t          |          u sJ .d S )Nr   r  r  r1   r   r   )rR   rS   rt   r   r   r  r  r  s       r]   (test_dataframe_itertuples_with_name_noner  Q  s    	LLL/?/?/?@@	A	AB
.
+
+
+CBMMtM,,cnn$n.G.GHH " "1AvvvvAww$q''!!!!!" "r_   c                    t          j        g dg ddg d          } t          j        | d          }t	          |                    t                    |                     t                               t	          |j                            t                    | j                            t                               d S )Nr0   r1   r2   Nr  r  r:   r1   )rR   rS   rt   r   r!   rI  r  rD   r  s     r]   test_astyper  Z  s    	oo$4$4$455=M=M=M
 
 
B 	r1Aahhuooryy//000acjjU!3!344444r_   c                 N   t          j        g dg dg dd          } |                     ddi          } t          j        | d          }|j        j        j        sJ |                    ddi          }|j        j        j        rJ |j        j        j        sJ |j        j	        dk    sJ |
                                j        j	        dk    sJ |j                            d          }|j        j        rJ |j	        dk    sJ |
                                j	        dk    sJ d S )	Nr8   r9   r   r9   r   )rD   r   r  rD   r   r"  r  r   r  r1   rD   )rR   rS   rI  rt   r   r   catknownrD   r   r~   )r[   r   r  rS  s       r]   test_astype_categoricalsr  d  s9   	****** 	
 	

 
B 
C$	%	%B
.Q

C59?::sJ'((Dvz6:6<:%%%%<<>>!Z////	j	!	!Bv|8z!!!!::<<++++++r_   c                    t          j        g dg dg dg dd          } t          j        | d          }t           j        j                            g dd	          }t           j        j                            d	          }|                    ||d
dd          }dD ]H\  }}t          ||          }t          |j
        t           j                  sJ |j        j        |k    sJ Id|df|dffD ]R\  }}|j                            |          }	t          |	j
        t           j                  sJ |	j        j        |k    sJ Sd S )Nr  )rD   r   r  r   r  )r9   r9   r9   r   r9   r"  )rD   r   r  otherr1   r0  F)orderedr  r:  ))rD   T)r   F)r  F)r  FT)rR   rS   rt   r   apitypesCategoricalDtyperI  rl  rQ   r   r  r  rD   )
r[   r   r  r  r  r\   r  rD   r   dx2s
             r]   test_astype_categoricals_knownr  |  su   	*********$__		
 	

 
B .Q

C
&,
'
'
'
G
GCv|,,U,;;H ::ChZ$OOPPD? $ $
UD#!'2#677777u{e##### -x.?#tM & &uell5!!#)R%899999w}%%%%%& &r_   c                    t          j        g dg ddg d          } t          j        | d          }d }t	          |                     |          j                                        |                    |          j                                                   t	          | j                            |                                          |j                            |                                                     d S )Nr  r  r  r   r:   r1   c                    | dz  dk    S )Nr1   r   rk   r  s    r]   isevenz%test_groupby_callable.<locals>.iseven  s    1uzr_   )rR   rS   rt   r   r!   rQ  r   r  )r8   r9   r  s      r]   test_groupby_callabler    s    
???1A1A1ABB,,,WWWA
q!A   aii!%%''6):):)<)@)@)B)BCCCackk&!!%%''V)<)<)@)@)B)BCCCCCr_   c                     t          j        dg di          } t          j        | d          } | j                            d           j        | j                            d           j        k    sJ d S )NrD   r   r0   r   c                N    t          j        |                                           S r   )rR   rX   r  r  s    r]   r   z3test_methods_tokenize_differently.<locals>.<lambda>  s    bi&8&8 r_   c                N    t          j        |                                           S r   )rR   rX   r  r  s    r]   r   z3test_methods_tokenize_differently.<locals>.<lambda>  s    15577);); r_   )rR   rS   rt   r   rD   r  r   r   s    r]   !test_methods_tokenize_differentlyr    s    	sLLL)	*	*B		*	*	*B
8899?4;;<<B	C 	C 	C 	C 	C 	Cr_   c                   ddl m} t          | t          j                  sJ t          |t
          j                  sJ  |             |            }}|                     ||           |                    |d|           |                                }|                                }|                    t          t          |                    t          t          |                               }||k    sJ d S )Nr   StringIO)bufmemory_usageT)r  verboser  )ior  rQ   rR   rS   rt   r  getvaluer'  r   r  )r[   r   r  r  buf_pdbuf_da	stdout_pd	stdout_das           r]   _assert_infor    s    b",'''''c2<(((((XZZFFGG\G222HHLHAAA!!I!!I!!#d3ii..#d2hh--@@I	!!!!!!r_   c                    ddl m}  t          t          _        t          j        g dg ddg d          t          j                    g}|D ](}t          j        |d	          }t          ||           ) |             }t          j        t          j        g dg ddt          d                    d	          }|                    |d
           |                                dk    sJ |                    d           J d S )Nr   r  r   r0   r   r0   r   r  r  r:   r4   r   Fr  r  zS<class 'dask.dataframe.core.DataFrame'>
Columns: 2 entries, x to y
dtypes: int64(2))r  )r  r  r+   pandas_format
_put_linesrR   rS   rt   r   r  r1  r  r  )r  test_framesr[   r   r  s        r]   	test_infor    s6   (M 	<<<lll;;<<<PPP
K
   nRQ///R
(**C
.
<<<lll;;588LLL  C HHeH$$$<<>>	    888%%%%%r_   c                    ddl m}  t          t          _        t          j        g dg dg dd          }t          j        |d          }|	                    dd	g          
                                }t          |                                |d
            |             }|                    |d           |                                dk    sJ |	                    dd	g                              ddg          }t          |                                |d
            |             }|                    |d           d}|                                |k    sJ d S )Nr   r  )r0   r0   r1   r1   r   r  r1   r   r   r   T)r  F)r  zS<class 'dask.dataframe.core.DataFrame'>
Columns: 1 entries, C to C
dtypes: int64(1)rw  r  zk<class 'dask.dataframe.core.DataFrame'>
Columns: 2 entries, ('C', 'count') to ('C', 'sum')
dtypes: int64(2))r  r  r+   r  r  rR   rS   rt   r   rQ  r  r  r~   r  r  rM  )r  r[   r   r  r  r   s         r]   test_groupby_multilevel_infor    sk   (M	LLL|||,,,OO	P	PB
.
+
+
+CS#J##%%Aad3333
(**CFF3F<<>>	    	S#J##We$455Aad3333
(**CFF3F	 
 <<>>X%%%%%%r_   c                    ddl m}  t          t          _        t          j        g dt          j        t          d                    t          j        t          d                    dg d          fd}t          j
        |g d	g d
                              dg          } |             }|                    |d           t                      t          u rdnd}t          j                    d         dk    rd}nt#                      rdnd}t#                      rd| d}nd| d}t%          dt'          |j        j                  j         d| d| d| d	          }|                                |k    sJ d S )Nr   r  r   aabcr  r  r:   c                ,    | \  }}j         ||         S r   r  )boundsr  stopr[   s      r]   myfuncz$test_categorize_info.<locals>.myfunc  s    twuTz""r_   )r   r0   r0   r1   )r1   r4   r  r   Tr  objectr  32bitz312.0z463.0z496.0zcategory(1), int64(1), z(1)zcategory(1), z(1), int64(1)z8        <class 'dask.dataframe.core.DataFrame'>
        a  : 4 entries, 0 to 3
        Data columns (total 3 columns):
         #   Column  Non-Null Count  Dtype
        ---  ------  --------------  -----
         0   x       4 non-null      int64
         1   y       4 non-null      category
         2   z       4 non-null      z
        dtypes: z
        memory usage: z bytes
        )r  r  r+   r  r  rR   rS   rX   r   rt   from_map
categorizer  r$   r  platformarchitecturer&   r	   r  r   r;   rn   r  )	r  r  r   r  r  r  rK  r   r[   s	           @r]   test_categorize_infor    s    (M	ll4<<!8!8ryf?V?VWWll
 
 
B# # # # # +   ,,   j#	  (**CHHdH###/11V;;88Lq!W,,"9";";Hww   =<<<<<<<<<		cio			'	 	 '3	 	 	 	 $	 	 	 H <<>>X%%%%%%r_   c                    t          j        ddgddgg          } t          j        | d          }|                    |d                             t                              }t          ||                     | d                             t                                         |j        d	         t          j
        t                    k    sJ d S )
Nr  rj  34r1   r   r0   r   r   )rR   rS   rt   r   r  rI  r  r!   rK  rT   r   r[   r   r  s      r]   test_gh_1301r  9  s    	SzC:.	/	/B
.
+
+
+C::Ac**:++DdBII1S 1 1I22333;srx}},,,,,,r_   c                     t          j                    } t          j        |                                 d          }d| j        _        t          |                    ddd          |            d S )Nr1   r   r;   T)r   rY   )	r   r   rt   r   r|  r;   ry   r!   r  r   s     r]   test_timeseries_sortedr  B  s_    		"	$	$B
.))q
9
9
9CBHMcmmGDtm<<bAAAAAr_   c                    t          j                    } t          j        |                                 d          }t          j        t          d          5  |                    dgg           d d d            n# 1 swxY w Y   t          j        t          d          5  |                    |dg                    d d d            n# 1 swxY w Y   t          j        t          d          5  |                    d           d d d            n# 1 swxY w Y   t          j        t          d          5  |                    d	           d d d            d S # 1 swxY w Y   d S )
Nr1   r   z"You tried to index with this indexr   r   zYou tried to index with a framezhas no columnrm   r   )
r   r   rt   r   r|  r   r   rZ   r  KeyErrorr   s     r]   test_index_errorsr  I  s;   		"	$	$B
.))q
9
9
9C	*2V	W	W	W  ug              	*2S	T	T	T " "c3%j!!!" " " " " " " " " " " " " " "	x	7	7	7  e              	x	7	7	7  a                 sH   A;;A?A?!C

CC0DDD8EE"E
null_valuec                2   t          j        g dg dd          }t          j        |d          }t	          j        t          d          5  |                    |d                             d	| d
                     ddd           dS # 1 swxY w Y   dS )z9Setting the index with some non-numeric null raises errorr   )rm   r  rm   r  )numericnon_numericr1   r   zpresence of nullsr   r  rm   )rm   r  N)	rR   rS   rt   r   r   r   rZ   r  r  )r  r[   r   s      r]   test_index_nullsr  W  s     
 LL1M1M1MNN
 
B .
+
+
+C	*2E	F	F	F Q Qc-(,,U:-N-NOOPPPQ Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Qs   2BBBc                    t          j        g dg dd                              d          } t          j        | d          }t          j        t          d          5  |                    |j                  }d	d	d	           n# 1 swxY w Y   ||u sJ t          j        t          d          5  |                    dd
          }d	d	d	           n# 1 swxY w Y   ||u sJ d	S )z4Setting the index with the existing index is a no-opr   r  r  rD   r1   r   zthis is a no-opr   NFrx  )	rR   rS   r  rt   r   r   r   r   r;   r  s      r]   test_set_index_with_indexr  c  s_   	LLL|||<<	=	=	G	G	L	LB
.
+
+
+C	k):	;	;	; ( (}}SY''( ( ( ( ( ( ( ( ( ( ( ( ( ( (3;;;;	k):	;	;	; - -mmCem,,- - - - - - - - - - - - - - -3;;;;;;s$    BBB3CCCc                    t          j        g dg dd          } t          j        | d          }|                                }|j        |j        z   |d<   | j        | j        z   | d<   t          | |           d|j        vsJ d S )Nr   r  r  r1   r   r  )	rR   rS   rt   r   copyrD   r   r!   r{   )r[   r   rN  s      r]   test_column_assignmentr  o  s    	LLL|||<<	=	=B
.
+
+
+C88::Dusu}CHdRTkBsGb#dl""""""r_   c                    t          j        t          j                            d          t          j                            d          d          } t          j        | d          }|                                }t          j        t          j                            d                    }t          j
        |d          }|| d<   ||d<   t          | |           d|j        vsJ t          j        t          j                            d	                    }t          j
        |d          }d
}t          j        t          |          5  ||d<   d d d            n# 1 swxY w Y   t          j        t          j                            d                    }t          j
        |d          }d}t          j        t          |          5  ||d<   d d d            d S # 1 swxY w Y   d S )Nr  r  r  r1   r   rt  r  r  )r  r  z)Array assignment only supports 1-D arraysr   rw   z!Number of partitions do not match)rR   rS   rT   r   normalrt   r   r  ro  rk  
from_arrayr!   r{   r   r   r   )r[   r   rN  r  darrr   s         r]   test_array_assignmentr  z  s9   	BI,,",55BI<L<LRT<L<U<UVV	W	WB
.
+
+
+C88::D
(29###,,
-
-C=R(((DBsGCHb#dl""""
(29###22
3
3C=R(((D
5C	z	-	-	-  C               (29###,,
-
-C=R(((D
-C	z	-	-	-  C                 s$   E""E&)E&G%%G),G)c                 Z   t          j        dg di          } t          j        | d          }|                     | j        dz   | j        dz
            }|ddg         | d	d
g<   |                    |j        dz   |j        dz
            }|ddg         |d	d
g<   t          | |           d S )NrD   r   r1   r   r0   )r   r  r   r  r8   r9   )rR   rS   rt   r   r  rD   r!   )r[   r   r  r  s       r]   test_columns_assignmentr    s    	sLLL)	*	*B
.
+
+
+C
))bdQh"$()
+
+C#s_BSzN::	SUQY://DC:&Cc
Ob#r_   c                     t          j        g dg dd          } t          j        | d          }|j        |j        z   |_        t          ||                     | j        | j        z                        d S )Nr"  r  rZ  rf  r        @r  r1   r   r  )rR   rS   rt   r   rD   r   r!   r  r   s     r]   test_attribute_assignmentr    ss    	OOO2K2K2KLL	M	MB
.
+
+
+CECEMCEc299rtbd{9++,,,,,r_   c                    t          j        t          j        dt	          d          i          d          } t          j        t          j        t	          d          d          d          }|| d<   t          |           dk    sJ d S )	Nr   r  r2   r   r   r   r4   r  )rt   r   rR   rS   r1  rX   r   r7   s     r]   test_setitem_triggering_realignr    st    
r|S%))$4551EEEA
ryr5551EEEAAcFq66R<<<<<<r_   c                    t          j        g dg dd          } t          j        | d          }|xj        dz  c_        t          |j        | j        dz             t          ||                     | j        dz                       d S )Nr"  r  r  r1   r   r8  r  )rR   rS   rt   r   r   r!   r  r   s     r]   test_inplace_operatorsr    s    	OOO2K2K2KLL	M	MB
.
+
+
+CEEcMEEceRT3Yc299rtSy9))*****r_   r  r   r   r  20150101r9  c                   t          j        t          j                            dd          t          d          |           }t          j        |j        d<   t          j        |j        d<   t          j	        |d          }t          t          |d	u t          | t           j                  f           }t          j        d
          5  |s"t           rt          j        dt$                     t'          |                    d|          |                    d|                     t'          |                    d|          |                    d|                     t'          |                    |          |                    |          |           t'          |                    |          |                    |d          |           |                    |          j        |                    |d          j        k    sJ t'          |                    |          |                    |          |           t'          |                    |          |                    |d          |           |                    |          j        |                    |d          j        k    sJ t'          |j                            |          |j                            |                     t'          |j                            |          |j                            |d                     |j                            |          j        |j                            |d          j        k    sJ t'          |j                            |          |j                            |                     t'          |j                            |          |j                            |d                     |j                            |          j        |j                            |d          j        k    sJ 	 d d d            d S # 1 swxY w Y   d S )Nr   r5   r   r{  )   r0   )N   r2   r2   r   FTr   rN   r  r0   r  r  check_dtyper1   r  r.  )rR   rS   rT   r   r   r   rU   r  rt   r   rK   r   rQ   r  r   r   r   r`  r  r!   idxmaxidxminr   r8   )r   r  r[   r   r  s        r]   test_idxmaxminr    su    
biooc1--tG}}C	P	P	PBVBGENVBGEN
.
+
+
+C 	%C9I)J)JK  K 
	 	-	-	- 0
 0
 	D- 	D!(]CCCC"))6)22CJJAfJ4U4UVVV"))6)22CJJAfJ4U4UVVVIIVI$$cjjj&?&?[	
 	
 	
 	
 	IIVI$$JJf!J44#	
 	
 	
 	
 JJfJ%%+zzQz77=> > > > 	IIVI$$cjjj&?&?[	
 	
 	
 	
 	IIVI$$JJf!J44#	
 	
 	
 	
 JJfJ%%+zzQz77=> > > > 	"$++V+,,cell&l.I.IJJJDKKvK&&FPQ(R(R	
 	
 	
 ELLL''-u||6q|99?@ @ @ @ 	"$++V+,,cell&l.I.IJJJDKKvK&&FPQ(R(R	
 	
 	
 ELLL''-u||6q|99?@ @ @ @ @]0
 0
 0
 0
 0
 0
 0
 0
 0
 0
 0
 0
 0
 0
 0
 0
 0
 0
s   NQ##Q'*Q'r  r  c                   t          j        g dddddt          j        dddgt           j        gd	 t          d
d          D             z   t          j        d
ddddddt          j        g          ddgdz  d          }t          j        |d          }t          r"t           t          ||           d           t          ||           d                                                     t           t          ||           d           t          ||           d                                                     t           t          |                    d          |           dd
           t          |                    d          |           dd
                                                     d S t          j        t           d          5   t          ||           d           d d d            n# 1 swxY w Y   t          j        t"          d          5   t          ||           d           d d d            d S # 1 swxY w Y   d S )Nr  r  rZ  rf  r        @r         @c                0    g | ]}t          d |d          S i  r0   r  rx  s     r]   rz  z/test_idxmaxmin_numeric_only.<locals>.<listcomp>  r  r_   r0   r=   r1   r2   r4   r5   r6   r?   TF)r  r  r  r   r   r   r  r   r  )r  r}  zgot an unexpected keywordr   zidxmax for pandas)rR   rS   rT   rU   r  r1  r  rt   r   r   r!   rl  
sort_indexrY   r   r   r   rZ   r  s      r]   test_idxmaxmin_numeric_onlyr    s   	+++3S"&#sC@6(HHE!QKKHHHH!Q1aArv)FGG5MA%	
 	

 
B .
+
+
+C 3GCE222GB5111<<>>	
 	
 	
 	GCD111GB4000;;==	
 	
 	

 	3GCHHVH,,d33ANNN2GBGGFG++T22!  jll		
 	
 	
 	
 	
 ]9,GHHH 	2 	2GB51111	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2].6IJJJ 	3 	3GCE2222	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3s$   H  HH&IIIc                 F   t          j        g dg dt          j        gdz  ddt          j        gd          } | j        d d         }t          j        t          j        | d          gt          j        |d          gd	z  z             }t          rt          j
        t          d
          }nt          j                    }dD ]s}|5  |                     |          }d d d            n# 1 swxY w Y   |                    |d          }|5  t          ||           d d d            n# 1 swxY w Y   tt          |g d                             dd          | g d                             d                     t          |j                            d          | j                                                   t          j        t          j        |d          gd	z            }t          j        t&                    5  |                                                                 d d d            n# 1 swxY w Y   t          j        t&                    5  |j                                                                         d d d            d S # 1 swxY w Y   d S )Nr/   )r  r1   r2   r2   r0   r1   r   r   r   rw   zall-NA valuesr   r  r  r  )r8   r9   rb   TrO  )rR   rS   rT   rU   r  rt   rM  r   r   r   r   r  r  r  r  r!   r9   r  r   r   r~   )r[   emptyr   r  r  r   r  s          r]   test_idxmaxmin_empty_partitionsr  &  sq   	iikkk1Aq"&>RR
 
B GBQBKE
)		*	*	*+>%Q///
02
5	6 C
  'l=@@@$&& ( ( 	0 	0yyy//H	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 6q99 	( 	(fh'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( OOO##4Q#??
???""$"//  
 cellql))24;;==999 )R^Eq999:R?
@
@C	z	"	"  

              	z	"	" ! !   ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !sH   C++C/	2C/	D,,D0	3D0	'H99H= H=,JJJc                 h   t          j        g dddddt          j        dddgt           j        gd	 t          d
d          D             z   t          j        d
ddddddt          j        g          d          } t          j        | d          }t          |
                    d          | 
                    d                     t          |
                                | 
                                           t          |
                    d          | 
                    d                     d S )Nr  r  rZ  rf  r  r	  r  r
  c                0    g | ]}t          d |d          S r  r  rx  s     r]   rz  z*test_mode_numeric_only.<locals>.<listcomp>S  r  r_   r0   r=   r1   r2   r4   r5   r6   r?   )r  r  r  r   r   Fr  T)rR   rS   rT   rU   r  r1  r  rt   r   r!   moder   s     r]   test_mode_numeric_onlyr  N  s   	+++3S"&#sC@6(HHE!QKKHHHH!Q1aArv)FGG		
 	

 
B .
+
+
+CchhEh**BGGG,G,GHHHchhjj"''))$$$chhDh))2777+E+EFFFFFr_   c                     g dg dd} t          j        | ddg          }t          j        |d          }t	          |j        |j        d	k             |j        |j        d	k                        d S )
N)r8   r8   r9   r   r0   r   r   r   r   r  r0   r   r8   )rR   rS   rt   r   r!   r   r   rL  r[   r   s      r]   test_getitem_metar  ^  st    #OOYYY77D	4&&)9	:	:	:B
.
+
+
+Cbgbgn%sxC'@AAAAAr_   c                     t          j        g dg dd          } t          j        | d          }t	          | d         |d                    t	          | ddg         |ddg                    d S )N)r0   r1   r1   r/   )r   r   r  r2   r   r   r  rR   rS   rt   r   r!   rg  s     r]   test_getitem_multilevelr  g  sw    
,III999EE
F
FC
.!
,
,
,Cc(mS]+++c:z*+S*j1I-JKKKKKr_   c                    t          j        dt          t          d                    i          } t	          j        | d          } G d dt                    } |d          }t          | |         ||                    d S )Ncolumn_1rw   r2   r   c                      e Zd ZdS )5test_getitem_string_subclass.<locals>.string_subclassN)rn   ro   rp   rk   r_   r]   string_subclassr!  s  s        r_   r"  )rR   rS   r   r1  rt   r   r   r!   )r[   r   r"  r  s       r]   test_getitem_string_subclassr#  o  s    	z4b		??3	4	4B
.
+
+
+C    #    z**HblCM*****r_   col_typec                    t          j        ddgddgddgd          }t          j        |d          } | g d          }t	          ||         ||                    d S )	Nr0   r1   r2   r4   r5   r6   r  )r  r   r   r  )r$  r[   r   colss       r]   test_getitem_column_typesr'  {  si    	QF!Qq!f==	>	>B
.Q

C8OOO$$DbhD	"""""r_   c                     t          j        ddgddgddgd          } t          j        | d          }t	          | | dk             ||dk                        d S )Nr0   r1   r2   r4   r5   r6   r  r  r   s     r]   'test_getitem_with_bool_dataframe_as_keyr)    s^    	QF!Qq!f==	>	>B
.Q

Cbaj#cAg,'''''r_   c                     t          j        t          t          d                    t          d                    } t	          j        | d          }t          | ddg         |ddg                    d S )Nrw   r   r:   r2   r   r8   r9   )rR   rX   r   r1  rt   r   r!   r  s     r]   test_getitem_with_non_seriesr+    sd    
	$uRyy//l););<<<A	q	)	)	)Bac
mRc
^,,,,,r_   c                     t          j        dgdgd          } t          j        | d          }|                                }d|v sJ d|v sJ d|vsJ d S )Nr0   r1   r7   r   r8   r9   r   )rR   rS   rt   r   _ipython_key_completions_)r[   r   completionss      r]   test_ipython_completionr/    s{    	QCqc**	+	+B
.
+
+
+C//11K++k!!!!!!r_   c                    t          j        t          j                            dd          t          d                    } t          j        | d          t          	                                | 	                                           t          	                    d          | 	                    d                     t          	                    d          | 	                    d                     t          	                    d          | 	                    d                     t          	                    dd	          | 	                    dd	                     t          j
        	                                | j
        	                                           t          j
        	                    d          | j
        	                    d                     t          j
        	                    d          | j
        	                    d                     t          j
        	                    d          | j
        	                    d                     	                    d          j        	                    d          j        k    sJ 	                    d          j        	                    d
          j        k    sJ t          j        t          fd           d S )Nr   r5   r   r  r   r1   rZ  r0   r|  r2   c                 .                          d          S rQ  )diffr   s   r]   r   ztest_diff.<locals>.<lambda>  s    SXXc]] r_   )rR   rS   rT   r   r   r   rt   r   r!   r2  r8   r   r   r   r   r   s    @r]   	test_diffr3    s   	biooc1--tG}}	E	E	EB
.Q

Cchhjj"''))$$$chhqkk2771::&&&chhqkk2771::&&&chhrllBGGBKK(((chhqqh!!277117#5#5666cejjllBDIIKK(((cejjmmRTYYq\\***cejjmmRTYYq\\***cejjnnbdiimm,,,88A;; 1111188A;; 11111
M)222233333r_   c                    t          j                    } t          j        | d          }t	          |                                |                                            t	          |                    d          |                     d                     t	          |                    d          |                     d                     t	          |                    d          |                     d                     t	          |                    dd          |                     dd                     t	          |j                                        | j                                                   t	          |j                            d          | j                            d                     t	          |j                            d          | j                            d                     t	          |j                            d          | j                            d                     t          j        t                    5  |                    d           d d d            d S # 1 swxY w Y   d S )	Nr4   r   r   r1   rZ  r0   r|  r  )
r   r   rt   r   r!   r  r   r   r   r   r   s     r]   
test_shiftr5    s   		"	$	$B
.
+
+
+C ciikk288::&&&ciillBHHQKK(((ciillBHHQKK(((ciimmRXXb\\***ciii""BHHQQH$7$7888 cekkmmRTZZ\\***cekk!nnbdjjmm,,,cekk!nnbdjjmm,,,cekk"oortzz"~~...	y	!	!  		#                 s   I44I8;I8zdata_freq,divs1))r   F)r   T)hTc           	     f   t          j                    }|                    t          j        d|                     }t	          j        |d          }ddt          j        dd	          d
ffD ]s\  }}||f|j        |j        f|j	        |j	        ffD ]N\  }}|
                    d|          }t          ||
                    d|                     |j        |k    sJ Ot|j	        
                    d          }t          ||j	        
                    d                     |j        |k    sJ d S )Nr  r  r4   r   )r   T)WFrw   r6  unitTr1   )r   r   r  makeDateIndexrt   r   rR   	Timedeltar   r;   r  r!   r  )		data_freqdivs1r[   r   r   divs2rb   r   r   s	            r]   "test_shift_with_freq_DatetimeIndexr@    sA   		"	$	$B	g+BY???	@	@B
.
+
+
+C#\BL#4N4N4NPT3UV 0 0e2Y	28/DE 	0 	0DAq''!$'''Cc17714700111&%/////	0
 )//!

Cc28>>!$$%%%%''''''r_   zdata_freq,divsc                   t          j                    }t          j                    }t          r!| dk    rt          j        t          d          }|5  |                    t          j
        dd|                     }d d d            n# 1 swxY w Y   t          j        |d          }||f|j        |j        ffD ]h\  }}|5  |                    d	| 
          }d d d            n# 1 swxY w Y   t          ||                    d	| 
                     |j        |k    sJ i|5  |j                            d	          }d d d            n# 1 swxY w Y   t          ||j                            d	                     |j        |k    sJ t          j        t&                    5  |j                            d	d
           d d d            d S # 1 swxY w Y   d S )Nr   
deprecatedr   r  r  rB  r4   r   r1   r  r   )r   r   r  r  r   r   r   r  r  rR   r  rt   r   r   r  r!   r  r;   r   r   )r=  divsr[   r  r   rb   r   r   s           r]    test_shift_with_freq_PeriodIndexrD    s   		"	$	$B

 
"
"C >c))l====	 U U\\"/,SSSTTU U U U U U U U U U U U U U U
.
+
+
+CrSUBDM* + +1 	- 	-''!)',,C	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-#qwwqyw11222"d*****	 ! !iooa  ! ! ! ! ! ! ! ! ! ! ! ! ! ! !c28>>!$$%%%$&&&&	z	"	" % %	$$$% % % % % % % % % % % % % % % % % %sH   +BBBC&&C*	-C*	&EEE&GGGc            
     X   t          j                    } dD ]}|                     t          j        d|                    } t	          j        | d          }dt          j        dd	          fD ]l}|| f|j        | j        f|j	        | j	        ffD ]J\  }}|
                    d
|          }t          ||
                    d
|                     |j        sJ Km|j	        
                    d
          }t          || j	        
                    d
                     |j        sJ d S )N)r  r   r6  r  r  r4   r   r   rw   r6  r9  r1   )r   r   r  makeTimedeltaIndexrt   r   rR   r<  r   r;   r  r!   r  )r[   r=  r   r   rb   r   r   s          r]   #test_shift_with_freq_TimedeltaIndexrG    sA   		"	$	$B& # #	\\'4RiHHHIInRQ///",r4445 	+ 	+DrSUBDMCIrx3HI + +1ggadg++#qwwqtw44555*****+
 iooa  #rx~~a(()))"""""# #r_   c                    t          j                    } t          j        | d          t	          j        t          fd           t	          j        t          fd           t	          j        t          fd           d S )Nr4   r   c                 2                          dd          S Nr1   r   r  )r  r   s   r]   r   z-test_shift_with_freq_errors.<locals>.<lambda>  s    syyy/E/E r_   c                 <     j                             dd          S rJ  r  r   s   r]   r   z-test_shift_with_freq_errors.<locals>.<lambda>  s    su{{13{/G/G r_   c                 8     j                             d          S r  )r;   r  r   s   r]   r   z-test_shift_with_freq_errors.<locals>.<lambda>  s    syq/A/A r_   )r   r(  rt   r   r   r   rZ   r   s    @r]   test_shift_with_freq_errorsrM    s    			 	 B
.
+
+
+C
M%'E'E'E'EFFF
M%'G'G'G'GHHH
M%'A'A'A'ABBBBBr_   r:  r;  c                     fd}ddg}g d}|D ]}t          j        dd|          d d d         }t          j        t          j                            t          |          df          |g d	
          }t          j        |d          }|D ])}t          t          t                     5   |||          }	d d d            n# 1 swxY w Y   t          t          t                     5   |||          }
d d d            n# 1 swxY w Y   t          |
|	           t          t          t                     5   ||j        |          }	d d d            n# 1 swxY w Y   t          t          t                     5   ||j        |          }
d d d            n# 1 swxY w Y   t          |
|	           +d S )Nc                6     t          |           |          S r   rk  )rD   offsetr3  s     r]   r   z%test_first_and_last.<locals>.<lambda>  s    ,'!V,,V44 r_   12hr   )0d100h20d20B3W3M400d13Mz1/1/2000r  r  r4   )r   r   r  r   r  rw   r   )rR   r   rS   rT   r   r   rt   r   r,   r   r  r!   r   )r3  r  freqsoffsetsr   r;   r[   r   rP  r   rN  s   `          r]   test_first_and_lastr\  
  s   4444ACLEEEEG ( (j*4@@@1E\Ic%jj!_--UDXDXDX
 
 
 nRR000 	( 	(F}fEE ) )1R==) ) ) ) ) ) ) ) ) ) ) ) ) ) )}fEE ( (3( ( ( ( ( ( ( ( ( ( ( ( ( ( (fh'''}fEE + +1RT6??+ + + + + + + + + + + + + + +}fEE * *35&))* * * * * * * * * * * * * * *fh''''	(( (sH   /CCC.DDD=EE"EFF#&F#)r0   r4   r&  r.  r^  )Nr0   r5   r&  c                   ddl m} t          j        t          j                            t          |          dd                    }t          j	        ||           }|
                    ||          }|                    |j        |                                          }ddlm}  ||          \  }	}
t!          d	 |	                                D                       | k    sJ |j        |pd
k    sJ t'          |                    d                    t'          |
                                          k    sJ d S )Nr   rg  r@  T)r'  r   )r.  r^  )get_depsc                    g | ]	\  }}||
S rk   rk   )r   rK  r  s      r]   rz  z*test_hash_split_unique.<locals>.<listcomp>4  s!    <<<da!<<<<r_   r0   r  r  )r  rh  rR   rX   rT   r   r  r   rt   r   rf  __dask_optimize__r   r  	dask.corer^  r   r  r   r   r~   )r   r.  r^  rh  r   r   droppedr   r^  dependencies
dependentss              r]   test_hash_split_uniquere  $  s=    '&&&&&
	")""4#8#8$"MMNNA	{	3	3	3BiiK9iEEG

#
#GL'2G2G2I2I
J
JC""""""'x}}L*<<l0022<<<==LLLL9>2222'//F/3344qxxzz8J8JJJJJJJr_   c                   t          j        t          j        d          gdz            d d d f         }|                                }t          j        t          j        d          gdz            d d d f         }t           j                            d          }|                    |           |                    |           |                    |           t          j        t          j        |||gd          g d          }t          j
        |d	          }t          d d
dggddg          D ]R\  }}|                    ||          }	|                    ||| d          }
|
j        dk    sJ t          |	|
           Sd S )Nrw   r   r&  r  r0   r|  r  r  r   rD   r  r:  r;  )rK  r4  )rK  r4  r.  r^  )rT   concatenaterl  r  r   RandomStater2  rR   rS   rt   r   r   r5  r   r!   )r.  rD   r   r  rsr[   r   rK  r4  r  r   s              r]   test_split_out_drop_duplicatesrj  9  s   
	",--aaag6A	A
	"+,,QQQW5A			q	!	!BJJqMMMJJqMMMJJqMMM	bnaAYQ777	Q	Q	QB
.
,
,
,CSz 2Wf4EFF    T ::!!+ " 
 
 "$$$$#s r_   c                8   t          j        dg ddz  i          }t          j        |d          }|j                            d|           j        dk    sJ t          |j                            d|           |j                                                   d S )NrD   r/   r   r5   r   rw   )r^  r.  )rR   rS   rt   r   rD   rQ  r   r!   )r.  r[   r   s      r]   test_split_out_value_countsrl  N  s    	sIIIO,	-	-B
.
+
+
+C5DDPTVVVVVR[AA24CTCTCVCV    r_   c                 >   ddl m}  t          j        g dg ddt          j        g dd          	          }t          j        |d
          } | |j        |j                   t          j	                    }t                      rt          j        t          d          }|5  |j        j        }d d d            n# 1 swxY w Y    | |j        j        |            | |j        j        |j        j                    | |j        j        |j        j                   d S )Nr   r   r   r  r  r9  r  r   r:   r1   object dtyper   )dask.array.utilsr!   rR   rS   r|   rt   r   r  r  r  r&   r   r   r   rD   r   r;   )r!   r[   r   r  r  s        r]   r4  r4  Y  sh   ******	"""66h+++%888
 
 
B
 .Q

CIbi$$$ 
 
"
"C   >l;n===	                Ibdk6"""Ibdk35<(((Ibhosy/00000s   #B<<C C c                    ddl m}  t          j        g dg ddt          j        g ddd	          
          }|                    ddd          }t          j        |d          } | |j        |j                   t          j
        t          d          5  |j        j        }d d d            n# 1 swxY w Y    | ||j        j                            t                               t          j
        t          d          5  |j        j        }d d d            n# 1 swxY w Y    | ||j        j                            t                               t          j                    }t"          rt          j
        t          d          }|5  |j        j        }d d d            n# 1 swxY w Y    | ||j        j                            t                               d S )Nr   r   r   r  r  r9  Float64r  )r   ry   r:   zstring[python]Int64r1   r   rn  r   )ro  r!   rR   rS   r|   rI  rt   r   r  r   r   r   rD   r  r   r  r  r   r;   )r!   r[   r   r  r  s        r]   test_values_extension_dtypesrs  p  s   ******	"""66h+++95III
 
 
B 
)88	9	9B
.
+
+
+CIbi$$$	k	8	8	8                Ifbdk((00111	k	8	8	8                Ifbdk((00111 
 
"
"C >l;n===	 " "!" " " " " " " " " " " " " " "Ifbho,,V4455555s6   B33B7:B7D  D$'D$F))F-0F-c                    t          j        dg di          } t          j        | d          }|                                }|                    d          }|j        dz  |d<   t          ||            t          ||            d}d	D ]K}t          j        t          |
          5  |                    |           d d d            n# 1 swxY w Y   Ld S )NrD   r/   r1   r   Fr  r   zfThe `deep` value must be False. This is strictly a shallow copy of the underlying computational graph.)TN r   )
rR   rS   rt   r   r  rD   r!   r   r   r   )r[   r8   r9   r   deep_errr  s         r]   	test_copyrw    s!   	sIII&	'	'B
rq)))A	A	EAS1WAcFaa	1  !  ]:X666 	 	FFF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 s   'C

C	C	c                 
   t          j        g dg ddt          j        g dd                    } t          j        | d          }|                                }|d	= t          ||            | d	= t          ||            d S )
Nr   r  r  r9  r  r   r:   r1   rD   )rR   rS   r|   rt   r   r  r!   r  s      r]   test_delry    s    	"""66h+++%888
 
 
B 	r1A	A	#a
3ar_   r;   r  c                ,   t          j        g dg dg ddg d          }t                      rt          |          }t	          j        |d          }|                    | |          }|                    | |          }t          ||           d S )	Nr/   r  rZ  rf  r0  r  r:   r1   r   r;   r  )rR   rS   r&   r   rt   r   r  r!   r;   r  r[   r   r   r  s         r]   test_memory_usage_dataframer~    s     
iioooOOODD ii	
 
 
B    #r""
.
+
+
+CU66HE55Fhr_   c                   t          j        g dg d          }t                      rt          |          }t	          j        |d          }|                    | |          }|                    | |          }t          ||           d S )Nr   r   r:   r1   r   r|  )rR   rX   r&   r   rt   r   r  r!   )r;   r  r   r   r   r  s         r]   test_memory_usage_seriesr    s     		,,,&:&:&:;;;A   !a  	q	)	)	)B~~E~55H__5t_44Fhr_   c                ,   t          j        g dg d          }t                      rt          |          }|j                            |           }t          j        |d          }|j                            |           }t          ||           d S )Nr   r   r:   r  r1   r   )	rR   rX   r&   r   r;   r  rt   r   r!   )r  r   r   r   r  s        r]   test_memory_usage_indexr    s    
	,,,&:&:&:;;;A   !a  w###..H	q	)	)	)BX"""--Fhr_   c                    t          j        g dg dg dd          }t          j        |d          }t          j         fd|j        D                       }|                               }t          ||           t          j         fd	|j        D                       }|j                                       }t          ||           d S )
Nr"  r  r  r  r1   r   c              3     K   | ]?}|                                                                                                V  @dS r|  N)r~   r  r  r   partr  r;   s     r]   r   z2test_memory_usage_per_partition.<locals>.<genexpr>  s^         	##%d#;;??AA     r_   r|  c              3  t   K   | ]2}|j                                                                        V  3dS r  )rD   r~   r  r  s     r]   r   z2test_memory_usage_per_partition.<locals>.<genexpr>  sS        BF%%E%==     r_   )	rR   rS   rt   r   rX   r}  memory_usage_per_partitionr!   rD   r}  s   ``    r]   test_memory_usage_per_partitionr    s,    
 ******	
 	

 
B .
+
+
+C y     N    H ++%d+CCFh y     JM.    H U--E-EEFhr_   r{  )r  rJ   r   r   rw  r  r  r  r  r  rK   semc           	         t          j        g dg dd          }t          j        |d          }t	          | t          ||                       dz   z
  | t          ||                       dz   z
             d S )Nr"  皙?g@gffffff
@g@g      @r  r2   r   r0   )rR   rS   rt   r   r!   rl  )r{  r[   r   s      r]   $test_dataframe_reductions_arithmeticr    s    $ 
OOO2K2K2KLL	M	MB
.
+
+
+C&wsI&&((1,-r5KWR5K5K5M5MPQ5Q/R    r_   c                 6   g dg dg dg dg} t          j        | g d          }t          j        |d          }t	          |                                |                                           t	          |j                                        |j                                        t          	           t          j        d
dg          }t          j        |d          }t	          |                                |                                d           d S )N)Tomrw   r?   )Farahn   r?   )Julier  r5   )Nickrw   rw   )NameNumr  r  r2   r   r  r8   r9   r0   Frw  )rR   rS   rt   r   r!   r  r  r   r  s      r]   test_dataframe_moder    s    NN---/?/?/?AQAQAQRD	d$:$:$:	;	;	;B
.
+
+
+Cchhjj"''))$$$chmmoorw||~~=IIII 
sCj	)	)	)B
.
+
+
+Cchhjj"''))777777r_   c                    t          j        g dg dd          } t          j        | d          }t	          |                    d          |                     d                     t          j        | d          }t	          |                    d          |                     d                     t	          |                    d          |                     d                     t	          |j                                        | j                                                   d	D ]K}t          j        t          d
          5  |                    |           d d d            n# 1 swxY w Y   Lt          j        t          d
          5  |j                                         d d d            d S # 1 swxY w Y   d S )Nr"  r  r  r2   r   r0   r|  r   )Nr   rowsz+See the `median_approximate` method insteadr   )
rR   rS   rt   r   r!   medianrD   r   r   rZ   )r[   r   
ddf_singler}  s       r]   test_medianr  #  s.   	OOO2K2K2KLL	M	MB
.
+
+
+C cjjaj  ")))"3"3444222JjQ''):):;;;jQ''):):;;;jl!!##RT[[]]333 " " "]'T
 
 
 	" 	" JJDJ!!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"
 
#P
 
 
   	                 s$   E00E4	7E4	F>>GGc                   t          j        t          d          t          dd          d          }t          j        |d          }t          |                    |           |                                d           d S )	Nr      r  rw   r   r  r0   )atol)rR   rS   r1  rt   r   r!   median_approximater  )r3  r[   r   s      r]   test_median_approximater  ;  s     
E#JJU3__==	>	>B
.
,
,
,Cf--
		     r_   c                 `   t          j        dd          } t          j        t          j                            t          |           df          |           }t          j        |d          }t          |j	        d d         |j	        d d                    t          |j	        dd          |j	        dd                     t          |d         j	        d d         |d         j	        d d                    t          |d         j	        dd          |d         j	        dd                     d S )	Nz
01.01.2015z
05.05.2015r1   r:   r5   r   z
02.02.2015r   )
rR   r   rS   rT   r   r   rt   r   r!   rJ  )dtRanger[   r   s      r]   test_datetime_loc_open_slicingr  N  s   mL,77G	bi&&Ga'899	I	I	IB
.
+
+
+Cbf]l]#SW]l]%;<<<bf\]]#SW\]]%;<<<bei&A
=L=(ABBBbei&A
<==(ABBBBBr_   gpuc                t   | st           nt          j        d          }|  }|                    ddgddgddgd          }d	|j        _        t          j        |d
          }t          |	                    |          t          j	        |          |           t          |	                    |          t          j	        |          |           |
                    g ddz  g ddz            }t          j        |dd          }t          rt          j        t          d          }nt          j                    }|5  |	                    |d          }d d d            n# 1 swxY w Y   |5  t          j	        |d          }	d d d            n# 1 swxY w Y   t          ||	|           |5  t          j	        |d          }	d d d            n# 1 swxY w Y   t          ||	|           |5  |	                    |j        d          }d d d            n# 1 swxY w Y   |5  t          j	        |j        d          }	d d d            n# 1 swxY w Y   t          ||	d           | srt          |	                    |d          t          j	        |d                     t          |	                    |d          t          j	        |d                     dd|j        fD ]I}
t          j        t"          d          5  t          j	        |
           d d d            n# 1 swxY w Y   Jd S )Nr'  i  i  rj  r  r4   r5   )yearrd  rb  ixr1   r   r  )z	3/11/2000z	3/12/2000z	3/13/2000r   r:   rw   Fr  z%'infer_datetime_format' is deprecatedr   T)infer_datetime_formatr  r  z
2021-08-03i  znon-index-able arguments)rR   r   r_  rS   r;   ry   rt   r   r!   r  rX   r   r   r   r  r  r   rZ   )r  xdr  r[   r   r   r   r  r   r  args              r]   test_to_datetimer  X  s   	7F/77B 'K	d|sCj!QPP	Q	QBBHM
.
+
+
+CbnnR  "."5"5;OOOObnnR  "."4"4+NNNN
		///#5555; 	 	 	A 
r	6	6	6B 'l;.UVVV$&&	 A A>>!4>@@A A A A A A A A A A A A A A A	 @ @$???@ @ @ @ @ @ @ @ @ @ @ @ @ @ @hK8888	 ? ?>>>? ? ? ? ? ? ? ? ? ? ? ? ? ? ?hK8888	 G G>>!'>FFG G G G G G G G G G G G G G G	 F FEEEF F F F F F F F F F F F F F Fh6666  
NN1$N''N24(((	
 	
 	
 	NN1$N''N1$'''	
 	
 	

 dAG,    ].6PQQQ 	  	 N3	  	  	  	  	  	  	  	  	  	  	  	  	  	  	    sl    E$$E(+E(1FFF3GGG5HH"%H"+IIIL,,L0	3L0	c                    t          j        t          d                    } t          j        | d          }t          t          j        |           t          j        |                     t          t          j        | d          t          j        |d                     t          j        g d          } t          j        | d          }t          t          j        | d          t          j        |d                     t          j        g d	          } t          j        | d          }t          t          j        |           t          j        |                     t          j        t          d
          5  t          j        |d          
                                 d d d            d S # 1 swxY w Y   d S )Nrw   r1   r   r6  r9  )r0   r1   zthis will errorcoerce)rP   )r  r1   z1 day 2 hoursz6unit must not be specified if the input contains a strr   r   )rR   rX   r1  rt   r   r!   r  r   r   r   r~   r  s     r]   test_to_timedeltar    s   
	%))A	q	)	)	)Bboa  "/""5"5666boac***BOBS,I,I,IJJJ
	+++,,A	q	)	)	)Bboa1112?2h3W3W3WXXX
	+++,,A	q	)	)	)Bboa  "/""5"5666	R
 
 
 0 0 	%%%--///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s   )F99F= F=r  c                    t          j        |           }t          j        |d          }t	          t          j        |          t          j        |                     d S )Nr1   r   )rR   rX   rt   r   r!   isna)r  r   r   s      r]   	test_isnar    sK    
	&A	q	)	)	)Bbgajj"'"++&&&&&r_   rY   r@   c                h   t          j        d          }|ddgxx         dz  cc<   t          j        |t          j        t	          |                    d          }|                    d                              d|            }t          j        |d                              d                              d|            }t          j	        ||
                    d	d
i          gd          }t          j	        ||
                    d	d
i          gd          }t          ||           d S )Nrw   r5   r6   r1   rT  r   zB != r0   r   r  r  r|  )rT   rl  rR   rS   r   r  r3  rt   r   rM  r  r!   )rY   rD   r[   r   r   r  r   s          r]   test_slice_on_filtered_boundaryr    s    		"Aq!fIIINIII	ABIc!ff$5$566	7	7B
,,s


!
!.$..
1
1C
.Q


)
)#
.
.
4
4^T^^
D
DCYSZZc
Z;;<1EEEFy#szz3*z==>QGGGHfhr_   c                    t          j        g d          } t          j        dt	          t          |                     i|           }t          j        |dd          }|j        dd          }t          j
        ||           t          j        |dd          }|                    d          }t          j
        ||           t          j        |dd	          }|                    d          }t          j
        ||           t          j        |dd
          }|                    d          }t          j
        ||           t          j        |dd          }|}t          j
        ||           d S )Nr   rZ  r1   r4   r2   r   r:   r   r4   r1   r   rZ  r2   r  )rT   ro  rR   rS   r1  r   r   rq  r  r   assert_frame_equalrY   )rD   r[   r  r   s       r]    test_boundary_slice_nonmonotonicr    sG   
"""##A	sE#a&&MM*!	4	4	4B#B1--Fwqrr{H&(+++#BA..Fwwr{{H&(+++#BA..FwwqzzH&(+++#BC00FwwqzzH&(+++#BA..FH&(+++++r_   c                     t          j                    } t          j        | dd          }t          j                    }t	          j        ||           d S )Nr0   r4   )rR   rS   r   rq  r   r  )r[   r  r   s      r]   test_boundary_slice_emptyr    sE    	B#B1--F|~~H&(+++++r_   z0start, stop, right_boundary, left_boundary, dropr   rZ  r2   r4   g      g      r  r  c                   t          j        g d          }t          j        dt	          t          |                    i|          }t          j        || |||          }|                    |          }t          j
        ||           d S )Nr  r   r:   )rT   ro  rR   rS   r1  r   r   rq  rY   r   r  )	r  r  right_boundaryleft_boundaryrY   rD   r[   r  r   s	            r]   test_with_boundaryr    s    " 	"""##A	sE#a&&MM*!	4	4	4B#Bt^]SSFwwt}}H&(+++++r_   zindex, left, rightrw   )r   r   r1   r0   2017z
2017-01-1020162018c                    t          j        dt          t          |                     i|           }t	          j        |||          }t          j        ||           d S )Nr   r:   )rR   rS   r1  r   r   rq  r   r  )r;   r)  r.  r[   r  s        r]   test_boundary_slice_samer    sX    $ 
sE#e**--.e	<	<	<B#Be44F&"%%%%%r_   c                 .   t          j        g d          } t          j        | d          }t	          j        t                    5 }|                                 d d d            n# 1 swxY w Y   t          |j	                  d|j
         dk    sJ d S )Nr   r1   r   z`mean` not supported with z series)rR   rX   rt   r   r   r   r   rJ   r   r   r   )r   r   r   s      r]   $test_better_errors_object_reductionsr  	  s    
	&&&''A	q	)	)	)B	z	"	" c
			              sy>>K"(KKKKKKKKKs   A''A+.A+c                 *   t           j        d             } t          j         | d           | d           | d          g          }|                    d          }|                                }|j                            |j                  sJ d S )Nc                p    t          j        t          j        | df          t	          d                    S )Nr4   abcdr  )rR   rS   rT   zerosr   r,  s    r]   make_dfz-test_sample_empty_partitions.<locals>.make_df  s+    |BHaV,,d6llCCCCr_   r   r   g?r  )r   r   rt   r  r  r~   rK  r  )r  r   r  r   s       r]   test_sample_empty_partitionsr    s    	\D D \D /771::wws||WWQZZ@
A
AC::3:D
,,..C:T[)))))))r_   c                 D   t          j        t          j        d                              d                    } t          j        | d          }t          t          t          f}t          |||d         f          D ]#\  }}t          j        t          ||fd           $d S )Nr   rw   rw   r1   r   r   c                     | |          S r   rk   )trb   s     r]   r   ztest_coerce.<locals>.<lambda>#  s    !!A$$ r_   )rR   rS   rT   rl  reshapert   r   r  r  complexr   r   r   r   )r[   r   funcsrb   r  s        r]   test_coercer    s    	binn,,X66	7	7B
.
+
+
+C%!ESV}-- 8 81i!q!6!6!677778 8r_   c                 n   t          j        t          j        d                              d                    } t          j        | d          }||d         ||k    |d         |d         k    g}|D ]B}t          j        t                    5  t          |           d d d            n# 1 swxY w Y   Cd S )Nr   r  r1   r   r   )rR   rS   rT   rl  r  rt   r   r   r   r   r   )r[   r   
conditionsconds       r]   	test_boolr  &  s    	binn,,X66	7	7B
.
+
+
+Cs1vscz3q6SV+;<J  ]:&& 	 	JJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 s   B))B-	0B-	c                    t          j        t          j                            dd          t          d                    } t          j        | d          }|| fD ]}| j        D ]}||         	                                ||dz   <   ||         
                                ||dz   <   ||                                         ||dz   <   ||                                         ||dz   <   t          ||            d S )	Nr   r5   r   r  cscmincmaxcp)rR   rS   rT   r   r   r   rt   r   r{   r  r  r  r  r!   )r[   r   rb   r   s       r]    test_cumulative_multiple_columnsr  /  s    	biooc1--tG}}	E	E	EB
.Q

C2Y ) ) 	) 	)AA$++--Aa$hKaDKKMMAa&jMaDKKMMAa&jMA$,,..Aa$hKK		) c2r_   c                   ddl m} t          j        g dg ddg d          }t	          j        |d	          }d
 d d d fD ]}	  |  ||                    }n# t          $ r Y $w xY w ||                              |           } |||d           t          |t          j
                  sJ |j        d         t          j        t          j        fk    sJ d S )Nr   r   r"  r	  r  r
        "@g      $@r  r  r:   r1   r   c                    | S r   rk   r  s    r]   r   z*test_map_partition_array.<locals>.<lambda>H      ! r_   c                    | j         S r   r  r  s    r]   r   z*test_map_partition_array.<locals>.<lambda>H      qs r_   c                    | j         S r   r  r  s    r]   r   z*test_map_partition_array.<locals>.<lambda>H  s    ac r_   c                    | j         S r   r:   r  s    r]   r   z*test_map_partition_array.<locals>.<lambda>H  s    QW r_   F)
check_type)ro  r!   rR   rS   rt   r   	Exceptionr  rQ   rk  r  r  rT   rU   )r  r!   r[   r   prer   rD   s          r]   test_map_partition_arrayr  >  s4   ******	oo$>$>$>??'''
 
 
B .
+
+
+C]]MM;L;LM 	/ 	/	tCCGG}}HH 	 	 	H	CHH##D))	!X%0000!RX&&&&&x{rvrv......	/ 	/s   	A
A+*A+c                 6   t          j        d          t          j        dd           t          j        g dg ddg d	          } t	          j        | d
          }fd}d d fD ]} | ||                     } ||                              |          }t          |t          j	                  sJ |
                                }|j        |j        k                                    sJ |j        |j        k                                    sJ d S )Nsparsenumbaz0.40.0)
minversionr"  r  r  r  r:   r1   r   c                R                         t          j        |                     S r   )COOrT   ro  )rb   r  s    r]   r  z$test_map_partition_sparse.<locals>.f_  s    zz"(1++&&&r_   c                    | S r   rk   r  s    r]   r   z+test_map_partition_sparse.<locals>.<lambda>b  r  r_   c                    | j         S r   r  r  s    r]   r   z+test_map_partition_sparse.<locals>.<lambda>b  r  r_   )r   r_  rR   rS   rt   r   r  rQ   rk  r  r~   rL  rK   coords)r[   r   r  r  r   r  computedr  s          @r]   test_map_partition_sparser  T  sM    **F
H5555	oo$>$>$>??'''
 
 
B .
+
+
+C' ' ' ' ' ]]+ : :1SSWW::S((++&"(+++++>>##.33555558?277999999: :r_   c                    t          j        dg dig d          } t          j        | d          }t	          | j        | j        j        z   |j        |j        j        z              t	          | j        j        | j        z   |j        j        |j        z              t	          | j        | j        j        z   |j        |j        j        z              t	          | j        j        | j        z   |j        j        |j        z              t	          | j        | j        j                                        z   |j        |j        j                                        z              d S )NrD   r/   r3   r:   r1   r   )	rR   rS   rt   r   r!   rD   r  r;   r  r   s     r]    test_mixed_dask_array_operationsr  k  s   	sIII&iii	8	8	8B
.
+
+
+CbdRT[ #%#%,"6777bdkBD #%,"6777bdRX_$ceci.>&>???bho$ci&6&>???bdRT[__&&&0@0@0B0B(BCCCCCr_   c                 >   t          j        dg dig d          } t          j        | d          }t	          j        dd	          }t          j        t          j        ff|_        t          j
        t                    5  |j        |z                                    d d d            n# 1 swxY w Y   t	          j        dd
	          }t          j
        t                    5 }|j        |z    d d d            n# 1 swxY w Y   dt          |j                  v sJ d S )NrD   r"  r  r:   r1   r   r5   ))r0   r4   r  r  r   )rR   rS   rt   r   rk  rl  rT   rU   _chunksr   r   r   rD   r~   r   r   )r[   r   rD   r  s       r]   'test_mixed_dask_array_operations_errorsr  x  s   	sOOO,OOO	D	D	DB
.
+
+
+C
	!I&&&A&"&!#AI	z	"	"  	               		!L)))A	z	"	" d		               C
OO######s$    B))B-0B-#C::C>C>c                    t          j        g dg ddddg          } t          j        | d          }| j        d	z                       t                    }|j        d	z                       t                    }t          ||z   d	z   | |z   d	z              t          ||                    d
          z   d	z   | |z   d	z              t          |ddg         |z   d	z   | ddg         |z   d	z              d S )Nr"  )r  r	  r  r
  r  r  rD   r   r  r1   r   r0   r   )	rR   rS   rt   r   r  rI  r  r!   rechunk)r[   r   rD   rS  s       r]   'test_mixed_dask_array_multi_dimensionalr    s   	oo$=$=$=>>c

 
 
B .
+
+
+C	Qu%%A
*q.	 	 	'	'BcBhlBFQJ'''cBJJy)))A-rAvz:::c3*o"Q&C:(:Q(>?????r_   c                    t          j        ddg          } t          j        | d          }	 |                    d            n*# t
          $ r}dt          |          v sJ Y d }~nd }~ww xY wt          j        g dg dg dd	          }t          j        |d
          }t          j	        t                    5 }|j        |j        z    d d d            n# 1 swxY w Y   dt          |j                  vsJ d S )Nr  r1   r   c                    | d         S rE  rk   r  s    r]   r   z"test_meta_raises.<locals>.<lambda>  s
    1 r_   zmeta=)rD   r   r   r  r/   r0  r0   )rR   rX   rt   r   r  r   r   rS   r   r   r  r8   r   r   )r   r   r
  r[   r   r  s         r]   test_meta_raisesr    sV   
	66"##A	q	)	)	)B!
~~ ! ! !#a&&         ! 
OOO///			RR	S	SB
.
+
+
+C	y	!	! T               #dj//))))))s)   A 
A,A''A,<CCCc                 
   t          j        g dd          } t          j        d t          d          D                       }t          j        | d          }t          j        |d          }|                                |_        t          j                    5  t          j	        dt                     t          j	        dt                     | |z   }||z   }t          ||           d d d            d S # 1 swxY w Y   d S )	Nr/   datetime64[ns]r  c                N    g | ]"}t           j                            |           #S ))years)rR   r[  
DateOffset)r   r  s     r]   rz  zBtest_meta_nonempty_uses_meta_value_if_provided.<locals>.<listcomp>  s+    JJJA..Q.77JJJr_   r2   r0   r   rN   )rR   rX   r1  rt   r   r   r   r   r   r`  r
   r   r!   )baser[  	dask_basedask_offsetsr   rN  s         r]   .test_meta_nonempty_uses_meta_value_if_providedr
    s6    9YYY&6777DiJJqJJJKKGt333I>'q999L L		 	"	" $ $h(:;;;h444'>\)(F###$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $s   AC88C<?C<c                    t          j        d          t          j        d          } | j                            dd          }d||dk     <   t          j        |          }|                    j                  }t          || j                  sJ |	                                
                                                                }t          j        |dd	i}t          fd
|D                       sJ d S )Nzscipy.sparsez
dask.array)r@  rw   )r   rw   r  r   r  r  r  c              3  B   K   | ]}t          |j                  V  d S r   )rQ   
csr_matrix)r   r  r  s     r]   r   zDtest_dask_dataframe_holds_scipy_sparse_containers.<locals>.<genexpr>  s0      @@Az!V.//@@@@@@r_   )r   r_  r   rt   rm  r  r  rQ   r  r  flattentolistr   r~   rK   )rk  rD   r[   r   vsr  r  s         @r]   1test_dask_dataframe_holds_scipy_sparse_containersr    s     00F		\	*	*B
	I66AAa#gJ		A		B
&+,,Aa"""""	
			!	!	(	(	*	*B\2;):;;F@@@@@@@@@@@@@@r_   c                    t          j        dg di          } t          j        | d          }t	          j        d          |                    d           }t          fd|j        	                                D                       sJ |                    d	           }t          fd
|j        	                                D                       sJ d S )NrD   r   r1   r   i@B c                    | S r   rk   r  s     r]   r   z9test_map_partitions_delays_large_inputs.<locals>.<lambda>       r_   r  c              3      K   | ]}|u V  	d S r   rk   r   r  bigs     r]   r   z:test_map_partitions_delays_large_inputs.<locals>.<genexpr>  '      11Asax111111r_   c                    | S r   rk   r  s     r]   r   z9test_map_partitions_delays_large_inputs.<locals>.<lambda>  r  r_   c              3      K   | ]}|u V  	d S r   rk   r  s     r]   r   z:test_map_partitions_delays_large_inputs.<locals>.<genexpr>  r  r_   )
rR   rS   rt   r   rT   onesr  anyr   r  )r[   r   r9   r8   r  s       @r]   'test_map_partitions_delays_large_inputsr    s    	sLLL)	*	*B
.
+
+
+C
''

C>>S11A111111111111>>3//A11111111111111r_   c                    t          j        dt          d          i          } t          j        | d          }t          |j        d         |                    d                     t          |j        d         |                    d                     t          |j        d         |                    d                     |j        d d         j        dk    sJ |j	        j        d d         j        dk    sJ |j	        j        d d d	         
                                                                g d
k    sJ d S )NrD   rw   r5   r   r   r2   r   r4   r1   )r   r0   r4   r5   r=   r@   )rR   rS   r1  rt   r   r!   r}  rB  r   rD   r~   r  r   s     r]   test_partitions_indexerr    s&   	sE"II&	'	'B
.
+
+
+CcnQ!2!21!5!5666cnQ!2!21!5!5666cnR #"3"3A"6"6777>"1")Q....5BQB+q00005CCaC ((**11337I7I7IIIIIIIr_   c                 F   t          j        dg di          } t          j        | d          }t	          | |           t	          | j        |j                   t	          | j        dz   |j        dz              t	          | j        dz   dk    |j        dz   dk               d S )Nr8   r/   r0   r   r1   r   )rR   rS   rt   r   r!   r8   r   s     r]   test_mod_eqr!    s    	sIII&	'	'B
.
+
+
+Cb#bdCEbdQh	"""bdQh!mSUQY!^,,,,,r_   c                     t          j        ddgddgd          } t          j        |                                 d          }d| | j        <   d||j        <   t          | |           d S )Nr0   r1   r2   r4   rT  )rR   rS   rt   r   r  r{   r!   r   s     r]   test_setitemr#    sg    	QF!Q00	1	1B
.A
&
&CBrzNCb#r_   c                     t          j        ddgddgd          } t          j        |                                 d          }d| | dk    <   d||dk    <   t          | |           d S )Nr0   r4   r2   r1   rT  r5   rR   rS   rt   r   r  r!   r   s     r]   'test_setitem_with_bool_dataframe_as_keyr&    sj    	QF!Q00	1	1B
.A
&
&CBrAvJCaLb#r_   c                     t          j        ddgddgd          } t          j        |                                 d          }d| | d         dk    <   d||d         dk    <   t          | |           d S )Nr0   r4   r2   r1   rT  r5   r   r%  r   s     r]   $test_setitem_with_bool_series_as_keyr(    ss    	QF!Q00	1	1B
.A
&
&CBr#w{OCC1b#r_   c                    t          j        ddgddgd          } t          j        |                                 d          }d| d<   t          j        t          d	          5  d|d<   d d d            d S # 1 swxY w Y   d S )
Nr0   r4   r2   r1   r  r5   r   znot supportedr   )rR   rS   rt   r   r  r   r   rZ   r   s     r]   <test_setitem_with_numeric_column_name_raises_not_implementedr*    s    	1a&aV,,	-	-B
.A
&
&CBqE	*/	B	B	B  A                 s   #A66A:=A:c                     t          j        dg di          } t          j        | d          }t	          ||                                dz   z
  | |                                 dz   z
             d S )NrD   r"  r1   r   r0   )rR   rS   rt   r   r!   r  r   s     r]   test_broadcastr,    sf    	sOOO,	-	-B
.
+
+
+CcSWWYY]#R26688a<%899999r_   c                 2   t          j        dg di          } t          j        | d          }t          j                            | j        j        | j        	                                z   |j        j        |j        	                                z              d S )NrD   r"  r1   r   )
rR   rS   rt   r   rk  rl  r!   rD   r  rJ   r   s     r]   test_scalar_with_arrayr.    sr    	sOOO,	-	-B
.
+
+
+CHrt{RTYY[[0#%,2MNNNNNr_   c                     t          t          j                              sJ t          t          j        t                              sJ t          d          rJ d S )Nr  {   )r   rR   rS   rX   r  rk   r_   r]   test_has_parallel_typer1    sW    R\^^,,,,,RYU33344444 %%%%%%%r_   c                 ^   t          j        t                    5 } t          j        ddidt          j        t                    d d g           d d d            n# 1 swxY w Y   dt          | j	                  v sJ dt          | j	                  v sJ dt          | j	                  v sJ d S )NrE   r0  rD   r  rX   rS   pandas)
r   r   r   rt   rS   rR   rX   r  r   r   )r  s    r]   test_meta_error_messager4  #  s    	y	!	! QT
h_c295+A+A+AD$<PPPQ Q Q Q Q Q Q Q Q Q Q Q Q Q Q s4:&&&&#dj//))))s4:&&&&&&s   4AA!Ac                 f   t          j        dg di          } t          j        | d          }|j        du sJ |j                            d           }|j        du sJ |j                            d d	          }|j        du sJ |j        t          d
 |j        D                       k    sJ d S )NrD   r"  r1   r   Tc                    | dz  S Nrw   rk   r  s    r]   r   z test_map_index.<locals>.<lambda>1  
    a"f r_   Fc                    | dz  S r7  rk   r  s    r]   r   z test_map_index.<locals>.<lambda>4  r8  r_   )is_monotonicc              3      K   | ]	}|d z  V  
dS )rw   Nrk   r  s     r]   r   z!test_map_index.<locals>.<genexpr>6  s&      %D%Da"f%D%D%D%D%D%Dr_   )	rR   rS   rt   r   r  r;   r  r   rn  )r[   r   clearedapplieds       r]   test_map_indexr>  ,  s    	sOOO,	-	-B
.
+
+
+C$&&&&imm,,--G"e++++imm,,4m@@G"d****%D%Dcm%D%D%D D DDDDDDDr_   c                 .   t          j        dg di          } t          j        | d          }|                                }|j        dz  |_        |                                 }|j        dz  |_        t          ||           t          ||            d S )NrD   r"  r1   r   rw   )rR   rS   rt   r   r  r;   r!   )r[   r   ddf_copyr   s       r]   test_assign_indexrA  9  s    	sOOO,	-	-B
.
+
+
+CxxzzH	BCIwwyyH^b(HNc8hr_   c                    t          j        dg di          } t          j        | d          }t	          |j        dz   | j        dz              t	          d|j        z  d| j        z             t	          |j         | j                    d S )NrD   r"  r1   r   r0   rw   )rR   rS   rt   r   r!   r;   r   s     r]   test_index_divisionsrC  H  s    	sOOO,	-	-B
.
+
+
+Cci!mRX\***b39nb28m,,,syj28)$$$$$r_   c                 Z   t          j        dg di          } t          j        | d          }t	          |                     dd          |                    dd                     t	          |                     ddd          |                    ddd                     t	          | j                            dd          |j                            dd                     t	          | j                            ddd          |j                            ddd                     d S )	NrD   r"  r1   r   r0   rw   r&  r  )rR   rS   rt   r   r!   r'  rD   r   s     r]   test_replacerE  Q  s    	sOOO,	-	-B
.
+
+
+CbjjBQ!3!3444bjjRB((#++"nn*E*EFFFbdll1b!!35==B#7#7888bdllrb>>**CEMMbR..,I,IJJJJJr_   c                    t          j        dg di          } t          j        | d          }t	          t          d                    |                    d           }t          fd|                                	                                D                       sJ |                    d	           }t          fd
|                                	                                D                       sJ d S )NrD   r"  r1   r   r   c                &    | t          |          z   S r   r  r  s     r]   r   z2test_map_partitions_delays_lists.<locals>.<lambda>`      !c!ff* r_   r  c              3  X   K   | ]$}t                    t          |          k    V  %d S r   r   r   r  Ls     r]   r   z3test_map_partitions_delays_lists.<locals>.<genexpr>a  4      GGAs1vvQGGGGGGr_   c                &    | t          |          z   S r   r  r  s     r]   r   z2test_map_partitions_delays_lists.<locals>.<lambda>c  rH  r_   c              3  X   K   | ]$}t                    t          |          k    V  %d S r   rJ  rK  s     r]   r   z3test_map_partitions_delays_lists.<locals>.<genexpr>d  rM  r_   )
rR   rS   rt   r   r   r1  r  r  __dask_graph__r  )r[   r   r~  rL  s      @r]    test_map_partitions_delays_listsrQ  [  s    	sOOO,	-	-B
.
+
+
+CU3ZZA


44

:
:CGGGG););)=)=)D)D)F)FGGGGGGGG


44a
8
8CGGGG););)=)=)D)D)F)FGGGGGGGGGGr_   c                 b   t          j        t          j        dt          j                  t          j        dt          j                  t          j        dt          j                  d          } t          j        | d          }|j	        j
        t          j        k    sJ |j        j
        t          j        k    sJ |j        j
        t          j        k    sJ t          j        t          j        dt          j                            dz  }|j
        t          j        k    sJ |                    |          }|j        j
        t          j        k    sJ |j        j
        t          j        k    sJ |j        j
        t          j        k    sJ |j	        j
        t          j        k    sJ d S )Nrw   r  r  r1   r   )r   )rR   rS   rT   rl  r  r   r  rt   r   r   r   r   r  rX   r  r   )r[   r   r\   s      r]   test_dtype_castrS  g  sc   	2RX...2RX...2RZ000	
 	

 
B .
+
+
+C5;"(""""5;"(""""5;"*$$$$
)BIb
333
4
4q
8C9
""""
**s*

C5;"*$$$$5;"*$$$$5;"(""""5;"(""""""r_   
base_npart	map_npartr  sorted_map_indexc                   t          j        d t          d          D                       }|s:t          j        d          }t          j                            |           ||_        d t          dd          D             }t          j        t          j        	                    dt          |                    |	          }|s:t          j        |          }t          j                            |           ||_        |                    |          }t          j        || d
          }	t          j        ||d
          }
|	                    |
          }t          j                            ||           d S )Nc                z    g | ]8}d                      t          j                            g dd                    9S )ru  r0  r2   r  )r   rT   r   r  r  s     r]   rz  z#test_series_map.<locals>.<listcomp>  s=    PPP!!///!::	;	;PPPr_   r   c                8    g | ]}d                      |          S )ru  r  r  s     r]   rz  z#test_series_map.<locals>.<listcomp>  s"    >>>>>>r_   r  r2   )repeatr  r  r:   Fr  )rR   rX   r1  rT   rl  r   r2  r;   r   r  r   ro  r  rt   r   rl  r!   )rT  rU  r  rV  r  r;   	map_indexmapperr   r  dask_mapr  s               r]   test_series_mapr^    sO   
 9PPU3ZZPPP D  	#
	%   
>>WU1%=%=%=>>>IYry((#i..(AASSSF !HY''	
	)$$$ xxHt%HHHI~f)%HHHH]]8$$FHx(((((r_   c                 *   t          j        g ddddggdd          } |                     d          }t          j        | d	          }|                    d          }|j        |j        k    sJ t          |                                |           d S )
Nr/   rm   r2   r4   r0   rT  r   r1   r   )rR   rS   explodert   r   r   r!   r~   )r[   exploded_dfr   exploded_ddfs       r]   test_dataframe_exploderc    s    	YYY1v6Q??	@	@B**S//K
.
+
+
+C;;s##L=L22222l""$$k22222r_   c                     t          j        g ddddgg          } |                                 }t          j        | d          }|                                }t          ||           |j        |j        k    sJ d S )Nr/   rm   r2   r4   r1   r   )rR   rX   r`  rt   r   r!   r   )r   
exploded_sr   exploded_dss       r]   test_series_exploderg    sz    
	999eaV,--AJ	q	)	)	)B**,,Kk:&&&<;0000000r_   c                 "   t          j        t          d          t          d          d          } t          j        | d          }|                    d          }|j        dk    sJ |j        dgk    sJ t          || dg                    d S )Nrw   r  r1   r   r   rD   )	rR   rS   r1  rt   r   popry   r{   r!   )r[   r   r   s      r]   test_poprj    s    	E"IIE"II66	7	7B
.
+
+
+CA6S====;3%c2se9r_   rW   r}  c           	        t          j        g dg dt          j        ddd          d          }t	          j        |d          }t          |d	                             | 
          |d	                             | 
                     t          |                    | |          |                    | |                     d S )N)r8   r8   r   )Nr0   r1   r   r0   r2  )rD   r   r   r1   r   r   rY  )rW   r}  )rR   rS   rT   rl  rt   r   r!   r  )rW   r}  r[   r   s       r]   test_nuniquerl    s     
ooLLLryAs7K7KLL
 
B .
+
+
+Cc#hf--r#wf/M/MNNN6--rzzdz/S/S    r_   c                    t          j        t          d          d          t          j        g dd          d} t          j        |           }t	          j        |d          }t          |d	                             d
          |d	                             d
                     t          |d                             d          |d                             d                     d S )Nr5   int8r  )z2021-11-27 00:05:02.175274z2021-11-27 00:05:05.205596z2021-11-27 00:05:29.212572z2021-11-27 00:05:25.708343z2021-11-27 00:05:47.714958r  r  r1   r   rD   uint8r   r   )rR   rX   r1  rS   rt   r   r!   viewr  s      r]   	test_viewrq    s    YuQxxv...Y   #	
 	
 	
 D 
d		B
.
+
+
+Cc#hmmG$$bgll7&;&;<<<c#hmmG$$bgll7&;&;<<<<<r_   c                    g dg dd} t          j        |           }t          j        |d          }|                    dd          }|                                |                                d                  }|d         j                                        \  }|d         t          j        k    s|d	         t          j        k    sJ d S d S )
N)r@   r   r   r5   )rZ  r  r6   r=   rY  )col_0col_1r1   r   r  r6   r   r0   )
rR   rS   rt   r   r  rP  r  r   r  r(   )rL  r[   r   taskr  s        r]   test_simple_map_partitionsrw    s    &&&1C1C1CDDD	d		B
.
+
+
+C
((2q//C 1 1 3 3A 67D
q'+



CQQ416>>QqTQV^^^^>>^^r_   c                     t          j        g dg dd          } t          j        | d          }t	          |           t	          |          k    sJ t          |ddg          D ]\  }}||k    sJ d S )Nr   rT  r1   r   r   )rR   rS   rt   r   r   r   )r[   r   r\   r   s       r]   	test_iterry    s    	LLL|||<<	=	=B
.Q

C88tCyy    S3*--  Xh r_   c                    t          j        dg di          } t          j        | d          }t	          ||j        dk              j                                        | | j        dk              j                                                   t	          ||j        dk             j                                        | | j        dk             j                                                   d S NrD   r  r4   r   r5   )rR   rS   rt   r   r!   rD   r  r   s     r]   2test_dataframe_groupby_cumsum_agg_empty_partitionsr|    s    	s4445	6	6B
.
+
+
+Cc#%!)n%%''BD1H)>)>)@)@AAAc#%!)n%%''BD1H)>)>)@)@AAAAAr_   c                    t          j        dg di          } t          j        | d          }t	          ||j        dk              j                                        | | j        dk              j                                                   t	          ||j        dk             j                                        | | j        dk             j                                                   d S r{  )rR   rS   rt   r   r!   rD   r  r   s     r]   3test_dataframe_groupby_cumprod_agg_empty_partitionsr~    s    	s4445	6	6B
.
+
+
+Cc#%!)n&&(("RTAX,.*@*@*B*BCCCc#%!)n&&(("RTAX,.*@*@*B*BCCCCCr_   c                    t          j        g dg dd          } t          j        | d          }t          j        g ddz  g ddz  d          }t          j        |d          }|                    |          }t          |                                |                                          }|                                 d S )	Nr  r  r7   r1   rC  r2   r  )rO  )	rR   rS   rt   r   r  r   rP  r  r  )r  r  r  r  r   hlgs         r]   test_fuse_rootsr    s    <)))0K0K0KLL D >$""D<111A5<P<P<PST<TUUVVD>$""D
**T

C
S''))0A0A0C0C
D
D
DCLLNNNNNr_   c                    t          j        ddgddgddgd          } dd	i| _        t          j        | d          }| j        |j        k    sJ |                                 j        |                                j        k    sJ d S )
Nr0   r1   r2   r4   r5   r6   r  datez
2020-10-16)rR   rS   attrsrt   r   r  r   s     r]   test_attrs_dataframer  
  s    	QF!Qq!f==	>	>B%BH
.Q

C8sy    6688>SWWYY_,,,,,,r_   c                    t          j        ddgd          } d| j        d<   t          j        | d          }| j        |j        k    sJ |                     d          j        |                    d          j        k    sJ d S )Nr0   r1   r   r   kgr:  )rR   rX   r  rt   r   r  r  s     r]   test_attrs_seriesr    s|    
	1a&s###AAGFO	1		B7bh88A;;		! 2222222r_   c                    t          j        dg di          } t          j        | d          }t          j        |                     | d         d          d          }|                    |d         d          }t          ||           d S )NrD   r  r0   r   _)lsuffix)rR   rS   rt   r   r   r!   )r[   r   expected_df	actual_dfs       r]   test_join_seriesr    s    	s4445	6	6B
.
+
+
+C.C#!>!>ANNNKS3//Ii%%%%%r_   c                    t          j        dg di          } t          j        | d          }|j        j                                        |j        hk    sJ |j        j        |j        t                      ik    sJ |
                                |j        fk    sJ |d         }|j        j                                        |j        |j        hk    sJ |j        j        |j        t                      |j        |j        hik    sJ |
                                |j        fk    sJ |                                }|j        dd          dk    sJ |j        |j        |j        d         h                    |j        j                                                  sJ t          |j        j                  dk    sJ |j        j        |j                 t                      k    sJ |j        j        |j                 |j        hk    sJ t          |j        j                  dk    sJ |
                                |j        d         fk    sJ d S )	NrD   r  r1   r   r0   rl  r   r4   )rR   rS   rt   r   r   r  rO  r   rc  r(  r  r  keyissubsetr   )r[   r   ddsddis       r]   test_dask_layersr  $  s$   	s4445	6	6B
.
+
+
+C8?!!ci[00008 SY$66666  SYL0000
c(C8?!!ci%;;;;;8 SYsy39+$NNNNN  SYL0000
''))C7122;$ Isy#'!*-66sx7K7K7M7MNNNNNsx1$$$$8 +suu44448 +	{::::sx$%%****  SWQZM111111r_   c                    t          j        d           t                                          dd                              d          } | j        }t          j        j        	                    |
                                          J |j                                        D ]:}t          j        j        	                    |
                                          J ;d S )Njinja2idr  r2  Fr   )r   r_  r'   r2  r   r   xmletreeElementTree
fromstring_repr_html_r  r  )rD   hgr  s      r]   'test_repr_html_dataframe_highlevelgraphr  :  s    
!!!T733888GGA	
B9 ++BNN,<,<==III!!## Q Qy$//0A0A0C0CDDPPPPQ Qr_   c                 0   t          j        ddgid          } t          j        | d          }|                    |d                   }|                                d         j        dk    sJ |                                d         j        dk    sJ d S )	Nr8   r  rq  r  r0   r   )r  r  )rR   rS   rt   r   r  r~   rK  )	df_pandasr[   s     r]   test_assign_na_float_columnsr  C  s    cC5\;;;I		q	1	1	1B	2c7	#	#B::<<#y0000::<<	")Y666666r_   c                 8   t          j        dg ddz  i          } t          j        | d          } t	          j        d          5 }t          d          D ]}d	| t          |          <   t          |          d
k    sJ 	 d d d            d S # 1 swxY w Y   d S )Nr8   r"  rw   r  r   Tr   i   r5   r   )	rR   rS   rt   r   r   r   r1  r   r   )r[   r  ry  s      r]   !test_assign_no_warning_fragmentedr  N  s    	sOOOb01	2	2B		+	+	+B		 	-	-	- s 	 	ABs1vvJJ1vv{{{{{                 s   :BBBc                    t          j        g d          } t          j        g d          }t          j        | |d          }t          j        | d          }t          j        |d          }t          j        |d          }t          |                     |          |                    |                     t          |                     |          |                    |                     t          j        | d          }t          j        |d          }t          j        |d          }t          |                     |          |                    |                     t          |                     |          |                    |                     |                    |t          j        dgd          	                                          }	|	j        dk    sJ t          j
        t                    5  |                    t          j        g d                     d d d            d S # 1 swxY w Y   d S )
Nr   )r4   r5   r6   r6   onetwor0   r   r1   test_seriesr   r  )rR   rX   rS   rt   r   r!   dotr~   ry   r   r   r   rk  ro  )
s1r.  r[   dask_s1dask_dfdask_s2partitioned_s1partitioned_dfpartitioned_s2r   s
             r]   test_dotr  W  s2   	<<<	 	 B	<<<	 	 B	b,,	-	-BnRQ///GnRQ///GnRQ///GbffRjj'++g..///bffRjj'++g../// ^BA666N^BA666N^BA666NbffRjj.,,^<<===bffRjj.,,^<<=== ++gBIqc$F$F$F+
G
G
O
O
Q
QC8}$$$$ 
y	!	! , ,BH\\\**+++, , , , , , , , , , , , , , , , , ,s   *H;;H?H?c                 <   t          j        g d          } t          j        | d          }t          j        t          j        t          j        t          j        t          j        g          }t          j        |d          }t          j        | |d          }t          j        |d          }t          |                     |          |                    |                     t          |                    |          |                    |                     d S )Nr   r0   r   r  )	rR   rX   rt   r   rT   rU   rS   r!   r  )r  r  r.  r  r[   r  s         r]   test_dot_nanr  t  s    	<<<	 	 BnRQ///G	BFBFBFBF3	4	4BnRQ///G	b,,	-	-BnRQ///GbffRjj'++g..///bffRjj'++g../////r_   c                 f  	 t          j        dg di          } t          j        |           }t          j        dg di          }t          j        |          }t          |          sJ t          |          sJ t          j        j	        
                    |d          sJ t          t          j        j	                            |dg           t           j                  sJ g 		fd}t          j        g ddz  g ddz  d          }t          j        |d	          }|                    ||j        
          }t          j        |          }|d         	                    |d                                                   }t          |                                t           j                   dS )z)Testing wrapping frames in proxy wrappersrL  r/   )r  c                V                         |            t          j        |           S r   )appendweakrefproxy)rD   ls    r]   r  z$test_use_of_weakref_proxy.<locals>.f  s"    	}Qr_   )r   r   r0   r2   )r  r9   r0   r   r  r9   r  N)rR   rS   r  r  rX   r)   r*   r   	dataframerQ  
_cov_chunkrQ   _groupby_apply_funcsrt   r   r  r   r  r~   )
r[   df_pxyserser_pxyr  rb   r8   pxyr   r  s
            @r]   test_use_of_weakref_proxyr    s   	vyyy)	*	*B]2F
)VYYY'
(
(CmC  GV$$$$$'""""">!,,VV<<<<<33FF"3MM
     	A          	999q=yyy1}==>>A
qa(((A	))A
-

C
c(

3s8
$
$
(
(
*
*Cs{{}}bi(((((r_   c            	     |   t          j        t          d                    } t          j        | d          }t          | j        |j                   t          j        t          ddd                    }t          j        |d          }t          |j        |j                   t          j        t          t          dd                    t          t          dd                    z             }t          j        |d          }t          |j        |j                   t          |j        |j                   d S )Nr&  r5   r   r   r   )	rR   rX   r1  rt   r   r!   is_monotonic_increasingis_monotonic_decreasingr   r   r   s_2ds_2s_3ds_3s         r]   test_is_monotonic_numericr    s    
	%))A	q	)	)	)Ba')CDDD
)E"a$$
%
%C>#1---Dc)4+GHHH
)Dq!%%U1b\\(:(::
;
;C>#1---Dc)4+GHHHc)4+GHHHHHr_   zpandas removed is_monotonicc                    t          j        t          d                    } t          j        | d          }t          t          t          d          5  | j        }d d d            n# 1 swxY w Y   t          t          t          d          5  |j        }d d d            n# 1 swxY w Y   t          ||           d S )Nr&  r5   r   is_monotonic is deprecatedr  )
rR   rX   r1  rt   r   r,   r   r  r:  r!   r   r   r   r  s       r]   test_is_monotonic_deprecatedr    s;   
	%))A	q	)	)	)B	}.J
 
 
 " " >" " " " " " " " " " " " " " " 
}.J
 
 
 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! hs$   A((A,/A,B##B'*B'c                 r   t          j        t          j        dd                    } t          j        | d          }t          | j        |j                   t          j        t          t          |                               }t          j        |d          }t          |j	        |j	                   d S )N20130101rw   r9  r5   r   )
rR   rX   r   rt   r   r!   r  r   reversedr  r   r   r  r  s       r]   test_is_monotonic_dt64r    s    
	"-
B77788A	q	)	)	)Ba')CDDD
)D!%%
&
&C>#1---Dc)4+GHHHHHr_   c            
        t          j        dt          d                    } t          j        | dd          }t          | j        j        |j        j                   t          j        dt          ddd                    }t          j        |dd          }t          |j        j        |j        j                   t          j        dt          t          dd                    t          t          dd                    z             }t          j        |dd          }t          |j        j        |j        j                   t          |j        j        |j        j                   d S )	Nr0   r&  r:   r5   Fr  r   r   )
rR   rX   r1  rt   r   r!   r;   r  r  r   r  s         r]   test_index_is_monotonic_numericr    s%   
	!599%%%A	qu	5	5	5Bag-rx/OPPP
)AU2q"--
.
.
.C>#15999Dci/1STTT
)AT%1++..eArll1C1CC
D
D
DC>#15999Dci/1STTTci/1STTTTTr_   c                    t          j        dt          d                    } t          j        | dd          }t          t          t          d          5  | j        j	        }d d d            n# 1 swxY w Y   t          t          t          d          5  |j        j	        }d d d            n# 1 swxY w Y   t          ||           d S )	Nr0   r&  r:   r5   Fr  r  r  )rR   rX   r1  rt   r   r,   r   r  r;   r:  r!   r  s       r]   "test_index_is_monotonic_deprecatedr    sH   
	!599%%%A	qu	5	5	5B	}.J
 
 
 ( ( 7'( ( ( ( ( ( ( ( ( ( ( ( ( ( ( 
}.J
 
 
 ' ' &' ' ' ' ' ' ' ' ' ' ' ' ' ' ' hs$   A00A47A4B00B47B4c                 \   t          j        dt          j        dd                    } t          j        | dd          }t          | j        j        |j        j                   | d d d	         }t          j        |dd          }t          |j        j        |j        j                   d S )
Nr0   r  r&  r9  r:   rw   Fr  r   )	rR   rX   r   rt   r   r!   r;   r  r  r  s       r]   test_index_is_monotonic_dt64r    s    
	!2=R@@@AAAA	r	6	6	6Bag-rx/OPPP
DDbD'C>#2E:::Dci/1STTTTTr_   c                    t          j        g dg dd          } t          j        | d          }| | d         dk             } ||d         dk             }t	          | d         j        |d         j                   t	          | j        j        |j        j                   t	          | d         j        |d         j                   t	          | j        j        |j        j                   d S )Nr   )r4   r2   r1   r0   r7   r1   r   r8   r2   )rR   rS   rt   r   r!   r  r;   r  r   s     r]   "test_is_monotonic_empty_partitionsr    s    	LLL|||<<	=	=B
.
+
+
+C 
BsGqL	B
c#h!m
Cbg-s3x/OPPPbh.	0QRRRbg-s3x/OPPPbh.	0QRRRRRr_   c                 N   t          j        dgdgdgdggg d          } t          j        | d          }d }d	 }t	                      }|d                             |d
|f                              ||d
|f                                          d         }|dddk    sJ d S )Nr8   r1   r4   r=   )r   r0   r1   )r{   rL  r;   r   c                    | | dS )Nr  rk   r  s    r]   map_fnz&test_custom_map_reduce.<locals>.map_fn
  s    Qr_   c                    d }| D ]E}||                                 }|dxx         |d         z  cc<   |dxx         |d         z  cc<   F|S r  )r  )seriesmergedmappeds      r]   	reduce_fnz)test_custom_map_reduce.<locals>.reduce_fn  se     	+ 	+F~svc{*svc{*r_   rL  r  )rN  r  r   r  @   r  )rR   rS   rt   r   r$   r  r{  r~   )r[   r   r  r  r  r  s         r]   test_custom_map_reducer    s     
seA3aS/	K	K	KB
.
+
+
+C        $%%LC	V6<0	1	1	9	8N	O	O	1	  2B''''''''r_   orientc                L   t          d          t          d          d}t          j                            || |          }t          j                            ||| |          }|dk    r|j        t          |d          k    sJ n|j        |k    sJ t          ||           d S )Nrw   r7   )r   r  )r   r   r  r;   r1   )r1  rR   rS   	from_dictrt   r   r  r!   )r   r  r   rL  r   r  s         r]   test_from_dictr  !  s     rr++D|%%d%%GGH\##+U6 $  F !Sa%8%888888![0000fhr_   c                 "   t          j        t          d                    } t          j        | d          }t          j        t          d          5  t          j        	                    d|id           d d d            d S # 1 swxY w Y   d S )Nrw   r1   r   zDask collections as inputsr   r8   )
rR   rX   r1  rt   r   r   r   rZ   rS   r  r  s     r]   test_from_dict_raisesr  2  s    
	%))A	q	)	)	)B	*2N	O	O	O 9 9
Rya8889 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9s   $BBBc                    t          j        t          d          5  t          j         d d d            n# 1 swxY w Y   t          j        t
          d          5  t          j         d d d            d S # 1 swxY w Y   d S )Nzmay be expensiver   )r   r   rZ   rb   r  r   rk   r_   r]   
test_emptyr  9  s    	*2D	E	E	E  	              	~-?	@	@	@  	                 s   599A55A9<A9c                    t          d                              dd          d         } t          d | j        j                                        D                       sJ |                                  |                                                                  t          d | j        j                                        D                       sJ d S )Nz
2000-01-03)r  r  r  r  c                8    g | ]}|                                  S rk   r  r   r  s     r]   rz  z)test_repr_materialize.<locals>.<listcomp>D  '    HHHAA%%'''HHHr_   c                8    g | ]}|                                  S rk   r  r  s     r]   rz  z)test_repr_materialize.<locals>.<listcomp>G  r  r_   )r'   r2  rK   r   r  r  __repr__r  )r   s    r]   test_repr_materializer  @  s     	|$$$,,T7,CCDIAHH1E1E1G1GHHHIIIIIJJLLLJJLLHH1E1E1G1GHHHIIIIIIIr_   z.Requires native PyArrow-backed ExtensionArrays)zint64[pyarrow]zint32[pyarrow]zfloat64[pyarrow]zfloat32[pyarrow]zuint8[pyarrow]c                   t          j        d           t          j        dt	          d          i|           }t          j        |d          }|j        |j        z   dz  }|j        |j        z   dz  }t          ||           d S )NpyarrowrD   rw   r  r2   r   r1   )	r   r_  rR   rS   r1  rt   r   rD   r!   )r   r[   r   r   r  s        r]   test_pyarrow_extension_dtyper  J  s     	"""	sE"II&e	4	4	4B
.
+
+
+Crtq Hecemq Fhr_   c            
     V   t          j        d          } |                     dd          }|                     t	          j        d          t	          j        d          t	          j        d          t	          j        d          t	          j        d	          t	          j        d
          g|          }t          j        d|it          j        |                    }t          j
        |d          }|j        |j        z   dz  }|j        |j        z   dz  }t          ||           d S )Nr  r?   r2   )	precisionscalez8093.234z8094.234z8095.234z8096.234z8097.234z8098.234)r  rD   r  r   r1   )r   r_  
decimal128ro  decimalDecimalrR   rS   
ArrowDtypert   r   rD   r!   )papa_dtyperL  r[   r   r   r  s          r]   $test_pyarrow_decimal_extension_dtyper  a  s   
 
	Y	'	'B}}q}22H88OJ''OJ''OJ''OJ''OJ''OJ''	
   
 
D 
sDkx)@)@	A	A	AB
.
+
+
+Crtq Hecemq Fhr_   c                    t           j                            ddi          5  t          j        dt          d          id          } t          | j        t          j	                  sJ t          | |                                            t          j        t          d          5  |                     d	           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )
Nzdataframe.backendr3  r8   rw   r1   r   zNo backend dispatch registeredr   missing)r   configr(  rt   r  r1  rQ   r   rR   rS   r!   
to_backendr   r   r   r   s    r]   test_to_backendr	  {  sR   	-x8	9	9 
% 
%\3b		*:::"(BL11111 	"bmmoo&&& ]:-MNNN 	% 	%MM)$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%
% 
% 
% 
% 
% 
% 
% 
% 
% 
% 
% 
% 
% 
% 
% 
% 
% 
%s6   BC &C<C C	C C	C  C$'C$r  r  c                   t          j        g dg dd          }t          j        |d          }|                    d                              |           }|                    d                              |           d         |d<   |                    d                              | |	          d         |d<   t          ||           d S )
Nr/   r  )rE  grouperr1   r   r  rE  r  r  )rR   rS   rt   r   rQ  rw  r!   )r  r[   r   r  s       r]   test_transform_getitem_worksr    s    	yyyYYY??	@	@B
.
+
+
+C
 ::i  **400D

9%%//55f=BuIY''11$T1BB6JCJb#r_   zdf,condr   )r2   r4   r5   r6   c                   t          j        | d          }t          j        t          d          5  |                    |d           ddd           n# 1 swxY w Y   t          j        t          d          5  |                    |d           ddd           n# 1 swxY w Y   t          j        || j	        | j
                  }|                     |d          }|                    |d          }t          ||           |                     |d          }|                    |d          }t          ||           dS )	z`DataFrame.mask fails for single-row partitions
    https://github.com/dask/dask/issues/9848
    r1   r   zcan be alignedr   r5   )r  r  Nr  )rt   r   r   r   r   r  r  rR   rS   r;   r{   r!   )r[   r  r   dd_condr   r  s         r]   test_mask_where_array_liker    s   ( .
+
+
+C 
z)9	:	:	: % %d!$$$% % % % % % % % % % % % % % % 
z)9	:	:	: & &		t1	%%%& & & & & & & & & & & & & & & l4rxDDDGwwDw**HXX7!X,,FhxxTx++HYYG1Y--Fhs#   AAA<B  B$'B$zfunc, kwargsr>  rE  integerr2  r  c                    t          j        g dg ddd          }g d|_        t          j        |d          }t           t          ||           di | t          ||           di |           d S )Nr/   r{  r0   )r  r  rb   )r8   r8   rb   r   rk   )rR   rS   r{   rt   r   r!   rl  )r  r  r[   r   s       r]   test_duplicate_columnsr    s     
99$__	
 	

 
B !BJ
.
+
+
+CD##F##T$$V$$    r_   c                 ^   t          j        dddgi          } t          j        | d          }t	          |                     d d          |                    d d                     t	          | j                            d d	          |j                            d
 d	                     dS )z)https://github.com/dask/dask/issues/10282rD   r0   Nr   c                *    |                                  S r   r  rb   s    r]   r   z*test_mask_where_callable.<locals>.<lambda>  s    !&&(( r_   r2   c                *    |                                  S r   r  r  s    r]   r   z*test_mask_where_callable.<locals>.<lambda>  s    AFFHH r_   c                    | dk    S r   rk   r  s    r]   r   z*test_mask_where_callable.<locals>.<lambda>  s
    AF r_   r1   c                    | dk    S r   rk   r  s    r]   r   z*test_mask_where_callable.<locals>.<lambda>  s
    a1f r_   )rR   rS   rt   r   r!   r  rD   rg  s     r]   test_mask_where_callabler    s    
,aY'
(
(C
.!
,
,
,C cii**A..		:L:La0P0PQQQ cekk**A..<L<La0P0PQQQQQr_   c                 `   ddl m} m} t          j        d           t          j        t          j        	                    dd          t          d                    }t          j        dd	gd
z  d          |d<    ||          } | |          }|                    |j                  sJ d S )Nr   pyarrow_schema_dispatchto_pyarrow_table_dispatchr  rw   r2   r  r  r  dogr5   string[pyarrow]r  rb   dask.dataframe.dispatchr  r  r   r_  rR   rS   rT   r   r   r   rX   r  schema)r  r  r[   tabler#  s        r]   test_pyarrow_schema_dispatchr%    s           
 	"""	bioob!,,d5kk	B	B	BBi*2CDDDBsG%%b))E$$R((F==&&&&&&&r_   preserve_indexc                h   ddl m}m} t          j        d           t          j        t          j        	                    dd          t          d                    }t          j        dd	gd
z  d          |d<    |||           } |||           }|                    |j                  sJ d S )Nr   r  r  rw   r2   r  r  r  r  r5   r   r  rb   r&  r!  )r&  r  r  r[   r$  r#  s         r]   ,test_pyarrow_schema_dispatch_preserves_indexr)    s           
 	"""	bioob!,,d5kk	B	B	BBi*2CDDDBsG%%bHHHE$$RGGGF==&&&&&&&r_   self_destructc                   ddl m}m} t          j        d           t          j        t          j        	                    dd          t          d                    }t          j        dd	gd
z  d          |d<    || ||          |           }t          |          t          |          k    sJ t          ||           d S )Nr   from_pyarrow_table_dispatchr  r  rw   r2   r  r  r  r  r5   r   r  rb   )r*  )r"  r-  r  r   r_  rR   rS   rT   r   r   r   rX   r  r!   )r*  r-  r  r0  r  s        r]    test_pyarrow_conversion_dispatchr.  	  s           
 	"""
,ryr1--tE{{
C
C
CCy%!+3DEEECH
%
%!!#&&#  C 99S		!!!!c3r_   c                    ddl m} m} t          j        d          }|                    |j                  dd            }|                     |j                  dd            }|                    t          j        	                    dd	          t          d
                    } | | ||                    }t          |          t          |          k    sJ t          ||           d S )Nr   r,  r'  Tc                .    |                      |          S )Nr(  )to_arrow)rs  r&  s     r]   _cudf_to_tablez=test_pyarrow_conversion_dispatch_cudf.<locals>._cudf_to_table*  s    ||>|:::r_   Fc                ,    |                      |          S r   )
from_arrow)rs  r$  r*  s      r]   _table_to_cudfz=test_pyarrow_conversion_dispatch_cudf.<locals>._table_to_cudf.  s    ~~e$$$r_   rw   r2   r  r  T)F)r"  r-  r  r   r_  registerrS   rT   r   r   r   r  r!   )r-  r  r'  r2  r5  r0  r  s          r]   %test_pyarrow_conversion_dispatch_cudfr8    s   
       
 v&&D''77; ; ; 87; !))$.99% % % :9% ..Q//e.
E
EC
%
%c+D+DS+I+I
J
JC99S		!!!!c3r_   c                 j   t          j        dt          d          i          } t          j        | d          }t          |j                  }t          | |                                           |dxx         dz  cc<   t          |          |_        t          | |                                           |dxx         dz  cc<   t          |          |_        t          j        t          d          5  |                                                                 d d d            d S # 1 swxY w Y   d S )	NrD   r  r5   r   rw   r1   z2`enforce_runtime_divisions` failed for partition 1r   )rR   rS   r1  rt   r   r   r   r!   enforce_runtime_divisionsrn  r   r   r  r~   )r   r   r   s      r]   test_enforce_runtime_divisionsr;  9  se   
,U2YY'
(
(C
.a
 
 CS]##I c30022333 aLLLBLLL)$$CMc30022333 aLLLBLLL)$$CM	P
 
 
 2 2 	%%''//1112 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2s   4'D((D,/D,r   r6  (  
__future__r   r  r  r  r   r  xml.etree.ElementTreer  r   r   	itertoolsr   operatorr   textwrapr	   numpyrT   r3  rR   r   pandas.errorsr
   pandas.io.formatsr   r  r   
dask.arrayro  rk  dask.dataframer  rt   dask.dataframe.groupbyr   	dask.baser   dask.blockwiser   r   r   dask.dataframe._compatr   r   r   r   r   r   r   dask.dataframe._pyarrowr   dask.dataframe.corer   r   r   r   r   r   r   r    dask.dataframe.utilsr!   r"   r#   r$   r%   r&   dask.datasetsr'   
dask.utilsr(   r)   r*   r+   dask.utils_testr,   r-   r^  ImportErrorpyarrow.libr.   r  rS   r   r|   r  rb   r~   r}   r^   rf   ru   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r"  markparametrizeparamskipifr6  rH  rO  rR  r\  ra  rs  r  r  r  r  xfailr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r&  r1  r8  r>  rF  rI  rL  rT  rW  r[  r`  rd  rh  rt  rv  rx  r{  r  r  r  r  r  contextmanagerr  r  rX   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r!  r$  r/  r=  rF  slowri  rr  rt  r  r~  r  r  r  r  r  r  r  r  r  r  r  rn  r   r  r  r<  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r%  r*  r-  r/  r4  r7  r  r7  r?  rS  r^  rp  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  r  r  r  r"  r%  r  r)  r3  r5  r7  r;  r>  rN  rT  r`  re  rp  rr  r}  r  r  r  r  r  r  
MultiIndexfrom_tuplesr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  NAr  r  r  r  r  r  r  r  rl  r   r   r   r  r  r  r  r  r  r#  r'  r)  r+  r/  r3  r5  r@  rD  rG  rM  r\  re  rj  rl  r4  rs  rw  ry  r~  r  r  r  r  r  r  r  r  r  r  rU   r  r  r  r  r  r1  r   r  r  r  r  r  r  asarray
to_recordsr  r  r  r  r  r  skip_with_pyarrow_stringsr
  r  r  r  r!  r#  r&  r(  r*  r,  r.  r1  r4  r>  rA  rC  rE  rQ  rS  r^  rc  rg  rj  rl  rq  rw  ry  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  r  r  r	  r  r  r  r  r%  r)  r.  r8  r;  rk   r_   r]   <module>r_     sZ1   " " " " " "             ( ( ( ( ( ( ( (                            , , , , , , 5 5 5 5 5 5                        . . . . . . % % % % % % + + + + + + + +                  6 5 5 5 5 5	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	                % $ $ $ $ $ F F F F F F F F F F F F 5 5 5 5 5 5 5 5LLLL   EEE,4444444 , , ,+,
 bl;;999MMMbl;;999MMMbl;;999MMM 
 y
T("(2t"4"4,",..   BLc4..yy{{	 	 	 	    *  *  8! ! !  8/ / /
! ! !
G 
G 
GC C CB B B5 5 5   2 2 2* * *& & &+ + +  6  $	 	 	  D +$$Y7G$HH	
 	
 	

 	
 
#U #U
 
#UL (	tTC:&	tT???+	tT???+	tT///0	tTC:&!
TD#;-
.	4t,
$$&&	'd|TB	**,,-tT:



j&	14tD  F( F(!  F(R- - -`A A A(D D D2& & &,]S ]S ]S@ 
			H!!\ "  	
 	
 	
 	H!!\ "  	
 	
 	
 .8 8/ .8'C 'C 'CT &*)=>>9 9 ?>9$" " ":FN FN FNR  B B B(2 2 2( ( ("    4  $  & 899P P :9P"5 5 5   J J J( T4L11& & 21&BY Y Y  @  + + +) ) )) ) )) ) )) ) )  tUm44" " 54"*E E E$0 0 0f  Y Y Y- - -. . .1 1 1
 +$$Y7G$HH	
 	
 	
 		 	 _551 1 65	 	1, V[//E	BR/SS	
 	
 	
 		       V[//E	BR/SS	
 	
 	
 		    	 	 	 	 Z  	+++???CCC&&&(:(:(:;,+OO   +$$Y7G$HH	
 	
 	
 	+++???CCC)))+=+=+=>,+OO  
	
 8 )<)<)<==<T <T >=9  @<T~
Q 
Q 
Q  6  
+ 
+ 
+# # #? ? ?D    *) ) )= = =$  < < <" " "2 2 2  * !D!D!DEE#! #! FE#!L !D!D!DEE&8 &8 FE&8R*F *F *FZG G G:     F' ' '8% % % r" r" r"j  *   tUm44lll++lll++5("344}}oo&FGG
' 
' HG 54 ,+ ,+ 54

' tUm44q!f%%)FC=99}}oo&FGG    HG :9 &% 54   $ $ $	 	 	
! 
! 
!   55!:!:!:;;	GGG  III     <; 65   + + +     *  $ {{E4&@AA  BA* & ]MNN	
 	'Ct4]MNN	
 	!#$!+DDt
 	j 
 		
 
m-ddt4%3HH8
 	u 
 		
 %1GG'%3HH8	
 "-EE
 	m 
 		
 #/FF
 	m 
 		
 
0uu5$7	m-ddt4	a	 	 	 ,",q"9"9"94@SJM M\% %]M M\%> > >7 7 70P P P5 5 5$5 5 5" dE]337 7 4376      6 6 6< < <3 3 3= = =@ @ @$# # #  ,  	 	 		* 	* 	* 
	u
)%%''	(5'2
t	 ' ' '*;K ;K ;K|' ' ',A
 A
 A
HI I ID:
 :
 :
z7 7 71 1 1I I I cUBK00. . 10."	? 	? 	?1 1 1+ + +G G G
G G G
? ? ?
K K K,4 4 4 eU^44  54 eT]33, , 43,, 	E4 	uhbhr.../ , , ,$*/ */ */Z *=*=*=>>    ?> *( ( (** * * %.DEEtX&677C C 87 FEC M*<==! ! >=!& & &$? ? ?? ? ?G G G ) ) ) +$$!!*L %  	
 	
 	
 	+$$!!*L %  	
 	
 	
 $# #% $#0# # #. +$$!!*L %  	
 	
 	
 	+$$!!*L %  	
 	
 	
 $# #%  &#(,3 ,3 ,3^ # # # ! ! ! q!f--1 1 .-1  2 2 2 +##&C $  	
 	
 	
 	+$$!!*L %  	
 	
 	
 	""%%.P #   !!-8U!VV		
 	
 	
 4+7 +75 4+7\7 7 7)/ )/ )/X6 6 6"' "' "'J  + + +2     
  & M*FGG  HG   + + +   
!!8X"6>R!SS ( ( (  " " "5 5 5, , ,0& & &:D D D  " " " "$& & &@ &  &  &F4& 4& 4&n- - -B B B   bfbe'<==Q Q >=Q	 	 	# # #  4
 
 
- - -  + + + D%=11		#ryS))**j#... ;
 ;
  21;
| (H!566!3 !3 76!3H%! %! %!PG G G B B BL L L	+ 	+ 	+ dBHbi%JKK# # LK#( ( (- - -" " "4 4 4*  , *,T,T,TUU( ( VU( )+S+S+STT% % UT%2# # #"C C C GV#455( ( 65(2 


33A//&6&6&677K K 87 0/ 43K$ q	22  32( q	22  321 1 1.6 6 68  *   4-00$//    0/ 10   4-00$//	  	  0/ 10	  $//    0/  4-00$//    0/ 10 4    " # "8 8 8"  0 V[//E	BR/SS	
 	
 	
   C C C T(Q(Q(Q RSS4  4  TS4 n0 0 0* RVQK!Q#899' ' :9' !Q((
  
  )(
 , , ,0, , , 6	T5%"b*	T5$%	q%A'	q$s#	tUEB8,	tUD2r(+	tUD2$'	sE51#&	sD%!%	sE51a&)  , ,!  , 	rAq	rB	rD"	d#	D!	a 	A	vr	*	*	*D$7	vr	*	*	*LBL,@,@$G	vr	*	*	*D,",|2L2LM	vr	*	*	*LBL,@,@$G	vr	*	*	*D,",v2F2FG "& &# "&L L L	* 	* 	*8 8 8     "*al!;<</ / =</*: : :.
D 
D 
D$ $ $"@ @ @* * *& &$ $ '&$ A A A
2 
2 
2J J J- - -        : : :O O O& & &' ' '
E 
E 
E  % % %K K K	H 	H 	H# # #2 1v..q!f--%77+eT];;) ) <; 87 .- /.)* &3 3 '&3 &1 1 '&1   D%=11!Q((  )( 21= = =*, , ,  B B BD D D
 
 
- - -3 3 3& & &2 2 2,Q Q Q7 7 7  , , ,:0 0 0) ) )>I I I M*GHH    IH I I IU U U M*GHH    IH U U U
S 
S 
S( ( (@ 3,//Iw#788A//    0/ 98 0/ 9 9 9  J J J N      	 	   	 	   N        .% % % %00  10 	sQFmAq6	2	2	2dVeW4EF	QF!Q00	1	1T5MD%=3QR	QF!Q00	1	1T4L5%.3QRBL|||,,,??@@D\D$<%%H	

 BL|||,,,??@@E]T5MD%=4-H	
     !   0 	9i01	i+,	B	R	   "	R 	R 	R' ' '  )D%=99' ' :9'  4-88  98(   42 2 2 2 2s$   C C%$C%)C0 0C:9C: