
    bi                   5   d dl mZ d dlZd dlZd dlZd dlZd dlZd dlmZ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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' d dl(m)Z) d dl*m+Z+m,Z,m-Z-m.Z. d dl/m0Z0 d dl1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7 d dl8m9Z9m:Z:m;Z; 	 d dl<Z<	 d dl>m?Z?  ej                  g dg ddg d       ej                  g dg ddg d       ej                  g dg ddg d      dZB e6ddd ej                  g d       ej                               ZD ej                   ej                  eBj                               g d       ZHeHj                         ZJdd!ZKd" ZLd# ZMd$ ZNd% ZOd& ZPd' ZQd( ZRd) ZSd* ZTd+ ZUd, ZVd- ZWd. ZXd/ ZYd0 ZZd1 Z[d2 Z\ej                  j                  d3 ej                  d4d5ej                  j                  e< d67      8      d9g      d:        Zaej                  j                  d;dddd<d=gfdddg d>fdddg d?fdddg d@fddddAdBgfdCdDgddEdFgdfej                  gdddfdD e5       gddEdGgdfddD e5       gddf e5       dHdIgdddfg      dJ        ZcdK Zdej                  j                  dL      dM        ZfdN ZgdO Zhej                  j                  exr ej                  dPk  dQ7      dR        ZjdS ZkdT Zlej                  j                  dUe9j                  e9j                   ej                  e9j                  ej                  j                  dV7      g8       ej                  e9j                  ej                  j                  dV7      g8      g      dW        ZrdX Zsej                  j                  dYdZd[g      d\        Ztd] Zud^ Zvd_ Zwd` Zxda Zydb Zzdc Z{dd Z|de Z}df Z~dg Zdh Zej                  j                  di7      dj        Zdk Zdl Zdm Zdn Zdo Zdp Zdq Zdr Zds Zdt Zdu Zdv Zej                  j                  dwdxdyg      dz        Zd{ Zd| Zd} Zd~ Zd Zd Zd Zej                  j                  d ej                  d4ej                  j                  e< d67      8      dg      ej                  j                  dd      d               Zej                  j                  d ej                  d4ej                  j                  e< d67      8      dg      d        Zej                  j                  d ej                  d4ej                  j                  e< d67      8      dg      d        Zej                  j                  d      ej                  j                  d ej                  d4 ej2                  g dg d       ej                  g dg dgdEdGgg d      fej                  j                  e< d67      8      d ej2                  g dg d       ej                  g dg dgdEdGgg d      ffg      ej                  j                  dg d      d                      Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zej                  j                  dg d      d        Zej                  j                  dg d      d        Zd Zd Zej                  j                  e$d7      ej                  j                  dg d      d               Zd Zd Zd Zd Zd Zej                  j                  ddxdyg      ej                  j                  dg d      ej                  j                  dg d      ej                  j                  dedg      ej                  j                  dd d g      d                                    Zej                  j                  ddxdyg      ej                  j                  dddg      ej                  j                  dddg      ej                  j                  dd dÄ g      dĄ                             Zdń ZdƄ ZdǄ ZdȄ ZdɄ Zej                  jv                  ej                  j                  dg dˢ      ej                  j                  dg d͢      ej                  j                  dg dϢ      ej                  j                  dg dѢ      d҄                                    Zdӄ ZdԄ ZdՄ Zdք Zej                  j                  dde%rdnddfddddddddddde%rdndfde%rdndfde%rdndfe%rdnde%rdndfde%rdndfde%rdndfde%rdndfde%rdndf ej                  d       ej                  d      fg      d        Zd Zd Zd Zd Zd Zej                  j                  ddxdyg      d        Zd Zɐd  Zʐd Zːd Z̐d Z͐d Zΐd Zϐd ZАd Zѐd Zej                  j                  d	egdfdegfej                   e5       gegfdHgdfg      d
        ZՐd Z֐d Zאd Zؐd Zِd Zڐd Zej                  j                  ddgg g      d        Zܐd Zݐd Zސd Zߐd Zd Zd Zej                  j                  ddydyg      d        Zej                  j                  ddydxg      d        Zej                  j                  dg ddydfddxdy ej,                  g d !      fg      d"        Zd# Zd$ Zd% Zej                  j                  e$ d&7      ej                  j                  d'dd(g      d)               Zej                  j                  e$d*7      d+        Zd, Zd- Zd. Zd/ Zej                  j                  dg d      d0        Zd1 Zej                  j                  ej                  j                  d27      ej                  j                  dg d      d3                      Zd4 Zej                  j                  ej                  j                  d27      d5               Zd6 Zej                  j                  d7ddg      d8        Zej                  jv                  d9        Zej                  j                  d ej                  dej                  j                  d:7      8       ej                  dx       ej                  dyej                  j                  d:7      g8      g      d;        Zd< Zd= Zd> Zd? Zd@ ZdA ZdB Z dC ZdD ZdE Zej                  j                  ddFg      dG        ZdH ZdI ZdJ ZdK ZdL Z	dM Z
dN ZddOZdP ZdQ ZdR Zej                  j                  dSdej                   ej"                  g      dT        ZdU ZdV ZdW ZdX ZdY ZdZ Zd[ Zej                  j                  d\dxdyg      ej                  j                  d] ej4                  d^       eej8                  j9                  d^_             ej:                  d`d^a      g      db               Zej                  j                  dUdcddg      de        Zdf Z dg Z!dh Z"di Z#ej                  j                  dje$ej,                  ej2                  ej                  g      dk        Z%dl Z&dm Z'dn Z(do Z)dp Z*ej                  j                  dqg dr      ds        Z+ej                  j                  dtdudvg      dw        Z,dx Z-dy Z.ej                  j                  dg dz      ej                  j                  d{ddg      ej                  j                  d|g d}      d~                      Z/ej                  j                  d{ddg      d        Z0ej                  j                  d{ddg      d        Z1d Z2d Z3d Z4d Z5ej                  j                  ddxdyg      ej                  j                  ddxdyg      d               Z6ej                  j                  ddxdyg      ej                  j                  ddxdyg      d               Z7ej                  j                  ddxdyg      d        Z8ej                  j                  ddxdyg      ej                  j                  ddxdyg      d               Z9ej                  j                  dg d      d        Z:d Z;ej                  j                  dd ej                  d4ej                  j                  e< d67      8      g      d        Z<d Z=ej                  j                  ddy ej                  dxej                  j                  8      g      d        Z>d Z?ej                  j                  dej                  d gddgg      d        ZAej                  j                  dd dg      d        ZBd ZCd ZDej                  j                  ddddydyddgfdddydxdgfdddydyddgfdddxdydgfdddydyddgfdddydxddgfdddydxdgfdddydydgfdddxdydgfdddydyddgfg
      d        ZEej                  j                  d eFd      d df eFd      ddf eFd      ddfg dddfg dddfg dddfg dddf ej:                  dda      ddf ej:                  dda       ej                  d      df ej:                  dda      d ej                  d      f ej:                  dda       ej                  d      df ej:                  dda      d ej                  d      fg      d        ZHd ZId ZJd ZKd ZLd ZMej                  j                  dUej                  e9j                  g      d        ZPd ZQd ZRd ZSd ZTd ZUej                  j                  d        ZWej                  j                  dddg      d        ZXej                  j                  d7      d        ZYd ZZd Z[d Z\d Z]dÄ Z^dĄ Z_dń Z`dƄ ZadǄ ZbdȄ ZcdɄ Zddʄ Zed˄ Zfej                  j                  d7      d̄        Zgd̈́ Zhej                  j                  dddg      ej                  j                  dddg      ej                  j                  ddydxg      ej                  j                  ddydxg      d҄                             Ziej                  j                  dӄ        Zjej                  j                  dԄ        ZkdՄ Zlej                  j                  ddxdyg      ej                  j                  dd dg      d؄               Zmdل Zndڄ Zodۄ Zpej                  j                  dܬ7      d݄        Zqej                  j                  dܬ7      dބ        Zrd߄ Zsd Ztd Zud Zvd Zwd Zxej                  j                  dg dg dg dg dg dg      ej                  j                  ddydxg      ej                  j                  dddg      d                      Zyd Zzd Z{d Z|ej                  j                  deeg      ej                  j                  dddg      ej                  j                  dddg      d                      Z}d Z~d Zej                  j                  dg d      d        Zd Zd Zej                  j                  dUddg      d        Zej                  j                  d ej                  dddgiddg      dxgdyggf ej                  ddgddgdF      dxdygdxdyggf ej                  ddgddgdF      dxdxgdydyggf ej                  g d g ddF      dxdxgdxdxgdydygdydyggf ej                  g d g ddF      dxdygdxdygdxdygdxdyggfg      d        Zd Zd Zej                  j                  ddxdyg      d        Zej                  j                  ddxdyg      d        Zej                  j                  d	        Zd
 Zd Zd Zd Zd Zd Zej                  j                  dddg      d        Zd Zd Zd Zy# e=$ r dZ<Y w xY w# e=$ r e@Z?Y w xY w(      )annotationsN)datetime	timedelta)product)add)PerformanceWarning)delayed)WINDOWS)collections_to_expr)_compatmethods)PANDAS_GE_210PANDAS_GE_220PANDAS_GE_300tm)to_pyarrow_string)_concat_map_freq_to_period_starthas_parallel_typetotal_mem_usage)meta_nonempty)	assert_eqassert_eq_dtypesassert_max_depsget_string_dtype	make_metapyarrow_strings_enabled)Mis_dataframe_likeis_series_like)ArrowNotImplementedError                  ab)r   r#   r%   indexr%   r$   r#   )r(   r)         r0   	   r   r   r   )r3   r3   r3   xr   )r7   r#   r7   r$   i8)r.   parent_meta)r   r(   r3   r3   	divisionsc                   t        | t        j                        r4t        j                  | j
                  d|f<   | j                  dd       | S t        | t        j                        r| j                  dgdd       | S t        d      )zNTODO: In pandas 2.0, mean is implemented for datetimes, but Dask returns None.meanallT)howinplaceignore)labelsrA   errorsz&Expected Series or DataFrame with mean)

isinstancepd	DataFramenpnanatdropnaSeriesdropNotImplementedError)dfcols     ^/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/dask/dataframe/tests/test_dataframe.py
_drop_meanrR   B   sv    "bll#VVfck
		eT	*
 I	 
B			"
xh? I ""JKK    c                 d   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kD     t        t        d   dkD            t        t        ddg   t        ddg          t        t        j                  t        j                         t        j                  j                         j                         t        j                  j                         k(  sJ t        j                  t        j                  j                         j                         t        j                  j                               sJ t        j                  t        j                  j!                         j                         t        j                  j!                               sJ t        j"                  j$                  t        j"                  j$                  k(  sJ t'        t              sJ y )N)	r$   r%   r'   r(   r)   r2   r0   r3   
   	r   r#   r%   r(   r)   r0   r3   r3   r3   r+   )r.   namer#   r,   r$   )rF   rL   r   dr   assert_index_equalcolumnsIndexfullr+   r,   r>   computerH   allclosevarstdr.   _namerepr)expecteds    rQ   test_Dataframerd   N   sS   yy$,GcH afqj(#!))RXXsCj%9:a#
mT$s)a-01ac
mT3*-.acc4663388:466;;=000;;qsswwy((*DFFJJL999;;qsswwy((*DFFJJL99977==AGGMM)))7N7rS   c                    t        t        j                  d      t        j                  d             t        t        j                  d      t        j                  d             t        t        j                  d      t        d   j                  d             t        t        d   j                  d      t        d   j                  d             t        t        d   j                  d      t        d   j                  d             t        t        d   j                  d      t        d   d   j                  d             t        t        j                  dd      j                        t        t        j                  dd      j                        k(  sJ t        t        j                  dd      j                        t        t        j                  dd      j                        k7  sJ t        t        j                  d      t        j                  d             t        t        j                  d      t        j                  d             t        t        j                  d      t        d   j                  d             t        t        d   j                  d      t        d   j                  d             t        t        d   j                  d      t        d   j                  d             t        t        d   j                  d      t        d   d   j                  d             t        t        j                  dd      j                        t        t        j                  dd      j                        k(  sJ t        t        j                  dd      j                        t        t        j                  dd      j                        k7  sJ y )Nr$   r%   r6   r+   F)r]   r8   )r   rX   headr\   dsksorteddasktail rS   rQ   test_head_tailrl   c   s   affQi1&affQi1&affQiX++A./afkk!nd3innQ/0afkk!nd3innQ/0afkk!nc(mC055a89!&&E&*//0F	q% %%5    !&&E&*//0F	q% %%5    affQi1&affQi1&affQiX++A./afkk!nd3innQ/0afkk!nd3innQ/0afkk!nc(mC055a89!&&E&*//0F	q% %%5    !&&E&*//0F	q% %%5   rS   c                    t        t        j                  dd      t        j                  d             t        t        j                  ddd      t        j                  d             t        t        j                  dd      t        j                  d             t        t        j                  dd      t        j                  d             t        t        j                  dd      t        j                  d             t	        j
                  t              5  t        j                  dd       d d d        y # 1 sw Y   y xY w)Nr(   r$   npartitionsF)ro   r]   r2   )r   rX   rf   r\   pytestraises
ValueErrorrk   rS   rQ   test_head_npartitionsrt      s    affQAf&		!5affQAuf5tyy|DaffQBf'16affQBf'16affQBf'16	z	" !	qa ! ! !s   E  E	c                    d} t        j                  t        |       5  t        j	                  d       d d d        d} t        j                  t        |       5  t        j	                  d       d d d        t        j                  t        |       5  t        j	                  d       d d d        t        j                  t        |       5  t        j	                  dd       d d d        d	D ]<  }t        j                  d
      5 }t        j	                  d|       d d d        s<J  t        j                  t        j                  dg di      d      }t        j                  d
      5 }|j	                          d d d        rJ y # 1 sw Y   \xY w# 1 sw Y   .xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   MxY w)Nz%5 elements requested, only 3 elementsmatchr(   zInsufficient elementsd   r2   r$   rn   )r%   rp   TrecordrU   r7   r"   r#   )rq   warnsUserWarningrX   rf   warningscatch_warningsddfrom_pandasrF   rG   )rw   nrz   d2s       rQ   test_head_npartitions_warnr      su   3E	k	/ 	q	 $E	k	/ 	s 
k	/ 	q	 
k	/ !	qa !  $$D1 	&VFF21F%	&z 
c9%56A	FB		 	 	- 
	:v/   ! !
	& 	& sG   FFF(F5G0GFF%(F25F>G
	Gc                     t        t        j                  j                  d      t        j                  d d        t        t        j                  j                  d      t        j                  d d        y Nr$   r%   )r   rX   r.   rf   r\   rk   rS   rQ   test_index_headr      sB    aggll1otzz"1~.aggll1otzz"1~.rS   c                     t        t        j                  t        j                        sJ t        t        j                  dz   t        j                        sJ t        t        dz   t        dz          y Nr#   )rE   rX   r+   r   rL   r   r\   rk   rS   rQ   test_Seriesr      sH    acc299%%%accAgryy)))q1utax rS   c            	        t        j                  t        j                  j	                  dd      t        d            t        j                  t        j                  j	                  dd      t        j                  ddd            fD ]U  } t        j                  | d      }t        |j                  | j                         t        j                  t        |fd	       W y )
NrU   r(   
abcdefghijr-   z
2011-01-01D)freqperiodsr%   c                .    | j                   j                   S Nr-   ddfs    rQ   <lambda>ztest_Index.<locals>.<lambda>   s    ciioo rS   )rF   rG   rH   randomrandnlist
date_ranger   r   r   r.   rq   rr   AttributeError)caser   s     rQ   
test_Indexr      s    
RYY__R+43EF
IIOOB"--3C	
 	G nnT1%#))TZZ(n&EF	GrS   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 y )Nr#   r$   r%   r'   col1col2rn   c              3  :   K   | ]  \  }}t        ||        y wr   r   .0rX   ps      rQ   	<genexpr>ztest_axes.<locals>.<genexpr>   s     B41ayAB   )rF   rG   r   r   lenaxesr?   zippdfrO   s     rQ   	test_axesr      sn    
,,AA7
8C		+Brww<3sxx=(((B3rww+ABBBBrS   c                    t        j                  dg      } t        j                  | d      }t	        |j
                        t	        | j
                        k(  sJ t        d t        |j
                  | j
                        D              sJ y )Nabcder$   rn   c              3  :   K   | ]  \  }}t        ||        y wr   r   r   s      rQ   r   z#test_series_axes.<locals>.<genexpr>   s     A41ayAAr   )rF   rL   r   r   r   r   r?   r   )psdss     rQ   test_series_axesr      sc    	G9	B		*Brww<3rww<'''A3rww+@AAAArS   c                 ,    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       y )Nr+   fooc                 "    t         j                  S r   )rX   r   rk   rS   rQ   r   z!test_attributes.<locals>.<lambda>   s
    !%% rS   za b cr"   r$   rn   r#   )r+   r(   r(   r%   c                      j                   S r   r   rO   s   rQ   r   z!test_attributes.<locals>.<lambda>   s    "&& rS   )dirrX   rq   rr   r   r   r   rF   rG   r   makeTimeDataFramer   s   @rQ   test_attributesr      s    #a&==A
MM.-0	gy%9:	JB#b'!!!	Aq6q!f%=>A	NB#b'>>CG	113	CB
MM..1rS   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 y )Nr+   r,   r#   )r   rY   rX   rZ   rF   r[   rW   rk   rS   rQ   test_column_namesr      s    !))RXXsCj%9:!S#J-//3*1EFS6;;#cFQJ###cFQsVO!!)))rS   c                 B   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                         y )
Nr#   r$   r%   r'   r+   r,   crX   )_metar<   )r   r#   r%   r(   r-   r$   )r   r%   r(   r<   r   )	rF   rG   r   r   r<   r   r?   r   rZ   rO   r   s     rQ   %test_columns_named_divisions_and_metar      s    	-AB
B ..Q
C==I%%%c+-syy  Wk$::;;;c'lBHH%rS   c                    t         j                  j                  J t        j                  g dd      } t        j
                  t        j                  j                  dd      |       }t        j                  |d      }|j                  j                  dk(  sJ |j                  j                         j                  dk(  sJ y )N
r   r#   r$   r%   r'   r(   r)   r2   r0   r3   r7   rW   rU   r(   r%   )rX   r.   rW   rF   r[   rG   rH   r   r   r   r   r]   )idxrO   r   s      rQ   test_index_namesr      s    77<<
((1
<C	biioob!,c	2B
..Q
C99>>S   99##s***rS   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        |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        ||        y # 1 sw Y   xY w)Nr#   r$   r%   r'   r(   r)   r2   )r2   r)   r(   r'   r%   r$   r#   r*   r$   r7   yzILength mismatch: Expected axis has 2 elements, new values have 4 elementsr   )r#   r$   r$   r%   ))A0)Br#   rn   )rF   rG   r   r   rZ   r   rY   r[   r   r   rq   rr   rs   strvalue)rO   r   msgerrs       rQ   test_rename_columnsr      sa   	18MN	OB
..Q
C*CKsBJ#++rxxc
';<#))++RXXsCj-ABc2
VC	z	" #c"##cii.    
<<H	IB
..
+CsBJ*CK#++rxxc
';<#))++RXXsCj-ABc2# #s    
GG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        ||       y )Nr   r7   r   r$   renamed)rF   rL   r   r   rW   r   r.   )sr   inddinds       rQ   test_rename_seriesr     s    
		'c2A	1	BAFBG66Yb!
''C88DCHDI88y   dCrS   c                 l   t        j                  g dd      } t        j                  | d      }t	        |j                  d      | j                  d             |j                  dk(  sJ t        j                  t              5  |j                          d d d        t	        ||        y # 1 sw Y   xY w)Nr   r7   r   r$   r   )
rF   rL   r   r   r   renamerW   rq   rr   	TypeErrorr   r   s     rQ   test_rename_series_methodr   '  s    
		'c2A	1	Bbiinahhsm,77c>>	y	! 
		 b! s   B**B3c                 p   t        j                  g dd      } t        j                  | d      }dD ]  }|j	                  d |      }t        || j	                  d              |j                  |k(  sJ |j	                  | |      }t        || j	                  |              |j                  |k(  rJ  t        j                  t              5  |j	                  d	 d
      j                   d d d        t        |j	                  d       | j	                  d              |j	                  |      }t        || j	                  |              |j                  rJ |j                         }|j	                  d d
      }t        || j	                  d              |j                  rJ y # 1 sw Y   xY w)N)r+   r,   r   rX   efgr7   r   r$   TFc                    | dz  S Nr$   rk   r7   s    rQ   r   z-test_rename_series_method_2.<locals>.<lambda>:  s
    !Q$ rS   )sorted_indexc                    | dz  S r   rk   r   s    rQ   r   z-test_rename_series_method_2.<locals>.<lambda>;  s
    !Q$ rS   c                    |  S r   rk   r   s    rQ   r   z-test_rename_series_method_2.<locals>.<lambda>C  s    QB rS   Tc                    |  S r   rk   r   s    rQ   r   z-test_rename_series_method_2.<locals>.<lambda>D  s    1" rS   c                    |  S r   rk   r   s    rQ   r   z-test_rename_series_method_2.<locals>.<lambda>D  s    1" rS   c                    | dz  S r   rk   r   s    rQ   r   z-test_rename_series_method_2.<locals>.<lambda>K  s
    q!t rS   c                    | dz  S r   rk   r   s    rQ   r   z-test_rename_series_method_2.<locals>.<lambda>L  s
    ad rS   )rF   rL   r   r   r   r   known_divisionsrq   rr   rs   r<   clear_divisions)r   r   	is_sortedresds2s        rQ   test_rename_series_method_2r   4  sk   
		5C@A	1	B" 0	iiYi?#qxx/0""i///ii	i2#qxx{#""i///0 
z	" =
		,T	2<<=bii%qxx'=>
))B-Cc188A;""""



C
**^$*
7Cc188N+,"""""= =s   F,,F5zmethod,test_valuestdigest)r)   rU   zRequires crickreason)marks)ri   )r'      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        |j                         |j                  |              t        |j                         |j                  |              t        |j                  |      |j                  ||              t        |j                         |j                  d	| 
             t        |j                         |j                  d	| 
             t        j                  t        t        |d               |d   z  t        t        |d               |d   z  t        dd |d          |d   z  d      }t        j                  ||d         }t        |j                         |j                  |              t        |j                         |j                  d	| 
             y )Nr#   r   r*         ?      ?percentiles_methodpercentiles)r   r   r$   )split_everyr   abcdefr+   r,   r   )	rF   rL   r   rangerG   r   r   r   describe)methodtest_valuesr   rO   r   r   test_quantiless          rQ   test_describe_numericr  P  s    			$u[^,-A>?A	eKN+,{1~=eKN+,{1~=	

B 
;q>	*B
..[^
,CD\NbkkmS\\V\DEajjlBKK6KBC
/FK ajjlBKKA&KQRbkkmS\\aF\ST 
eKN+,{1~=eKN+,{1~=h/Q01KNB	

B ..[^
,CbkkmS\\V\DEbkkmS\\aF\STrS   z"include,exclude,percentiles,subsetr   rX   )r   rX   r   )r   rX   r   )r   rX   r   r   r   r   )r?   NNNnumberr         ?r   r   boolc                   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   j                  t                     |d<   ||j                  d d |f   }t        j                  |d      }|j                  | ||      }|j                  | ||      }d|v rt        |d      }t        ||       |PdD ]J  }	||	   j                  | |      }|	dk(  rt        |      }||	   j                  | |      }t        ||       L y y )Naaabbbr  NNzzzr$   Nr   r#   r$   r%   r'   Nr   r#   r'   2017-05-09 00:00:00.0060002017-05-09 07:56:23.8586942017-05-09 05:59:58.938999r%   r   r#   TFT)r+   r   rX   r   r   r   r+   )includeexcluder   r   )r+   r   r   r   r  r  )rF   	TimestamprH   timedelta64rG   astyper   locr   r   r  rR   r   )
r  r  r   subsetdatarO   r   actualrc   rP   s
             rQ   test_describer!    s   $ 69"Q&ALL56LL56LL56LL56
  NN1c"NN1c"NN1c"NN1c"
  !1$-D4 
d	Bgnn-/0BsGVVAvI
..Q
C \\  F
 {{  H hh,fh ~' 	(C#w'''IHcz%h/X&&w&HFh'	( rS   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      }|j                         }t        |d
      }t        |j                         |       dD ]0  }t        ||   j                         ||   j                                2 t        |j                  j                               }t        ||j                  j                                y )Nr  r$   r  r  r'   r  r  r  )r+   r   rX   r   r   r+   r   )	rF   r  rG   r   r   r  rR   r   r   )r  rO   r   rc   rP   s        rQ   )test_describe_without_datetime_is_numericr$    s   59"Q&ALL56LL56LL56LL56
 	D 
d	B
..Q
C {{}H(C(Hcllnh'  ;"S'""$c#h&7&7&9:; "$$--/*Hh()rS   zAignore:invalid value encountered in (true_)?divide:RuntimeWarningc                 T   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	        | j                         |j                  d             t	        |j                         |j                  d             t        j                  t              5  |j                  d      j                          d d d        y # 1 sw Y   y xY w)Nr   r$   r   r   ri   r   )
rF   rG   r   r   r   r  rq   rr   rs   r]   df_noneddf_nonedf_len0ddf_len0
ddf_nocolss        rQ   test_describe_emptyr-    s     llC$./G~~gq)Hll"-.G~~gq)HR 0!4Jg ("3"3v"3"NOg ("3"3v"3"NO	z	" Av6>>@A A As   4!DD'c                 r   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        | j                         |j                  d      j                                t        j                         5  t        j                  dt               t        |j                         |j                  d             t        |j                         |j                  d             d d d        t        j                  t              5  |j                  d      j                          d d d        y # 1 sw Y   LxY w# 1 sw Y   y xY w)Ncrickr   r$   r   r   rB   )rq   importorskiprF   rG   r   r   r   r  r]   r}   r~   simplefilterRuntimeWarningrr   rs   r'  s        rQ   test_describe_empty_tdigestr3    sc   
 llC$./G~~gq)HllC9%G~~gq)HR 0!4J H---KSSU 
	 	 	" W 	h7'""$h&7&79&7&UV'""$h&7&79&7&UVW 
z	" Dy9AACD DW WD Ds   'A/F!7!F-!F*-F6c                    t        j                  dd      } t        j                  |       }dg dg dg dfD ]  }t        t
        t        j                  fD ]x  }|!|j                  |      j                         }n&|j                   ||            j                         }t        |d   d	       t        |d
   d       t        |d   d       z  y)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   r
  r   r   r
  r   Gz?r   r
  r   r   z25%      9@z50%      I@z75%     R@)daaranger   from_dask_arrayr   tuplerH   arrayr  r]   r   )r   r   q	f_convertrs        rQ   %test_describe_for_possibly_unsorted_qrE    s     			!SA			A	B&(@BST 	&rxx0 	&IyKKAK.668KKIaLK9AACah%ah%ah%	&	&rS   )r%      z?https://github.com/dask/dask/pull/11320#issuecomment-2293798597c                 (   t        d      D  cg c]  } d| d
 }} t        j                  t        j                  j                  dd      t        d      |      }t        j                  |d      }t        |j                         |j                                t        |j                         |j                                t        |j                         |j                                t        |j                         |j                                t        |j                  d      |j                  d             t        |j                  d      |j                  d             t        |j                  d      |j                  d             t        |j                  d      |j                  d             t        |j                  j                         |j                  j                                t        |j                  j                         |j                  j                                t        |j                  j                         |j                  j                                t        |j                  j                         |j                  j                                t        t        j                  |      t        j                  |             t        t        j                  |      t        j                  |             t        t        j                  |d      t        j                  |d             t        t        j                  |d      t        j                  |d             t        t        j                  |j                        t        j                  |j                               t        t        j                  |j                        t        j                  |j                               y c c} w )	Nrx   row03dr(   r   rZ   r.   r#   axis)r  rF   rG   rH   r   r   r   r   r   r   cumsumcumprodcummincummaxr+   )ir.   rO   r   s       rQ   test_cumulativerR  0  sh   
 %*#J/qs1S']/E/	biiooc1-tG}E	RB
..Q
CcjjlBIIK(ckkmRZZ\*cjjlBIIK(cjjlBIIK(cjjaj ")))"34ckkqk!2::1:#56cjjaj ")))"34cjjaj ")))"34ceellnbddkkm,ceemmortt||~.ceellnbddkkm,ceellnbddkkm,biinbiim,bjjorzz"~.bii!$bii&;<bjj1%rzz"1'=>bii		"$$0bjjBDD!123 0s   Pc                    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        | j                         |j                                t        | j                         |j                                t        | j                         |j                                t        | j                         |j                                t        | j                  d
      |j                  d
             t        | j                  d
      |j                  d
             t        | j                  d
      |j                  d
             t        | j                  d
      |j                  d
             t        | j                  d      |j                  d             t        | j                  d      |j                  d             t        | j                  d      |j                  d             t        | j                  d      |j                  d             t        | j                  dd
      |j                  dd
             t        | j                  dd
      |j                  dd
             t        | j                  dd
      |j                  dd
             t        | j                  dd
      |j                  dd
             y )Nr#   r$   r'   r(   r)   r2   r0   r  r%   FskipnarK  rL  rU  )rF   rG   rH   rI   r   r   r   rM  rO  rP  rN  r   s     rQ   test_cumulative_with_nansrW  Q  s\   	Q1aA.Q266266B&&A	

B ..Q
Cbiik3::<(biik3::<(biik3::<(bjjlCKKM*biiui%szzz'?@biiui%szzz'?@biiui%szzz'?@bjjj&5(ABbiiQi!34biiQi!34biiQi!34bjjaj #++1+"56biiQui-szzqz/OPbiiQui-szzqz/OPbiiQui-szzqz/OPbjjaj.50QRrS   c                    t        j                  t        j                  j	                  dd      t        d            } t        j                  | d      }t        | j                         |j                                t        | j                         |j                                t        | j                         |j                                t        | j                         |j                                t        | j                  d      |j                  d             t        | j                  d      |j                  d             t        | j                  d      |j                  d             t        | j                  d      |j                  d             t        | j                  d      |j                  d             t        | j                  d      |j                  d             t        | j                  d      |j                  d             t        | j                  d      |j                  d             t        | j                  dd	      |j                  dd	             t        | j                  dd	      |j                  dd	             t        | j                  dd	      |j                  dd	             t        | j                  dd	      |j                  dd	             y )
Nrx   r%   abbrZ   FrT  r#   rK  rV  )rF   rG   rH   r   r   r   r   r   r   rM  rO  rP  rN  r   s     rQ   &test_cumulative_with_duplicate_columnsr[  p  s   	biiooc1-tE{	CB
..Q
Cbiik3::<(biik3::<(biik3::<(bjjlCKKM*biiui%szzz'?@biiui%szzz'?@biiui%szzz'?@bjjj&5(ABbiiQi!34biiQi!34biiQi!34bjjaj #++1+"56biiQui-szzqz/OPbiiQui-szzqz/OPbiiQui-szzqz/OPbjjaj.50QRrS   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                  y )Nr7   r#   r$   r%   r'   r(   r)   r2   r0   r'   rn   r(   )
r#   r$   r%   r'   Nr(   r)   Nr2   r0   )rF   rG   r   r   r   r7   )r\  rO   r   s      rQ    test_cumulative_empty_partitionsr_    s    0 
s45	6B
..
+Cd2bddQh< $s35519~"67	s@A	BB
..
+Cd2bddQh< $s35519~"67rS   c            
        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                         | j                  j                                t        |j                  j                         | j                  j                                t        |j                  j                         | j                  j                                t        |j                         | j                                t        |j                  d	
      | j                  d	
             t        |j                  dg      | j                  dg             t        |j                  ddg      | j                  ddg             t        |j                  ddgd	      | j                  ddgd	             t        |j                  d       | j                  d              t        |j                  d      | j                  d             t        |j                  d      | j                  d             t        |j                  d      | j                  d             t        |j                  d      | j                  d             t        j                  t        d      5  |j                  d	d       d d d        t        j                  ddt        j                  gg dd      } t	        j
                  | d      }t        |j                  dg      | j                  dg             y # 1 sw Y   zxY w)Nr$   r%   r'   r)   r#   r7   r   zrU   r      (   2   <   r-   r?   r@   r7   r  r   rb  )r  r@   )threshr   z,cannot set both the how and thresh argumentsrv   )r@   rj  r"   )_0_1rn   rk  )rF   rG   rH   rI   r   r   r   r7   rK   r   rb  rq   rr   r   r   s     rQ   test_dropnarm    s   	&&!Q2661-Q2662662Q1bffa(	

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

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

uQ
'( 
aBFF^9=	>B
..
+Ccjjj'4&)AB( (s   )N66N?zlower, upper)r$   r(   )      @      @c                   t        j                  g dg dd      }t        j                  |d      }t        j                  g d      }t        j                  |d      }t        |j                  | |      |j                  | |             t        |j                  |       |j                  |              t        |j                  |      |j                  |             t        |j                  | |      |j                  | |             t        |j                  |       |j                  |              t        |j                  |      |j                  |             y )N	r#   r$   r%   r'   r(   r)   r2   r0   r3   	r%   r(   r$   r(   r2   r$   r'   r$   r'   r*   r%   )lowerupper)rs  rt  )rF   rG   r   r   rL   r   clip)rs  rt  rO   r   r   r   s         rQ   	test_cliprw    s   	)0KL
B ..Q
C
		-.A	1	BchhU%h0"''U'2STchhUh#RWW5W%9:chhUh#RWW5W%9:bggEg/e51QRbggEg"AFFF$78bggEg"AFFF$78rS   c                    t        j                  g dg dd      } t        j                  g d      }t        j                  dgt        |       z        }t        j                  dgt        |       z        }t	        j
                  | d      }t	        j
                  |d      }t	        j
                  |d      }t	        j
                  |d      }t        |j                  ||d      | j                  ||d             t        |j                  |d      | j                  |d             t        |j                  |d	      | j                  |d	             t        |j                  ||d      |j                  ||d             t        |j                  |d      |j                  |d             t        |j                  |d	      |j                  |d	             y )
Nrq  rr  r*   r%   r2   r   rs  rt  rL  rs  rL  rt  rL  )rF   rG   rL   r   r   r   r   rv  )rO   r   lur   r   dldus           rQ   test_clip_axis_0r    s~   	,,	

B 			-.A
		1#B- A
		1#B- A
..Q
C	1	B	1	B	1	BchhRrh2BGG!1STG4UVchhRah("'''*BCchhRah("'''*BCbggBbqg1166QR63STbggBQg'aa)@AbggBQg'aa)@ArS   c                 |   t        j                  g dg dd      } t        j                  | d      }t        j                  ddd      }t        j                  ddd      }t        |j                  ||d	      | j                  ||d	             t        |j                  |d
      | j                  |d
             t        |j                  |d      | j                  |d             t        j                  t        d      5  |j                  j                  ||d	       d d d        y # 1 sw Y   y xY w)Nrq  rr  r*   r%   r$   r2   r(   r#   ry  rz  r{  zNo axis named 1 for Seriesrv   )rF   rG   r   r   rL   r   rv  rq   rr   rs   r+   )rO   r   r|  r}  s       rQ   test_clip_axis_1r     s    	,,	

B ..Q
C
		"#A
		"#AchhQaah0"''QR'2STchhQQh'qq)ABchhQQh'qq)AB	z)E	F -

!!
,- - -s   
D22D;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        | j                         |j                                t        t        j                  dgd      |j                                t        |j                         |j                                t        j                  t              5 }|j                  d	       d d d        t        |       d
}|t        j                        v sJ t        j                  t              5 }|j                  d	       d d d        dd dt        |       }|t        |j                        v sJ t        j                  t              5 }|j                  d	       d d d        dt        |       }|t        |j                        v sJ y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   IxY w)Nr7   )r#   r%   r)   r   rx   )testr,   r%   r$   r   rK  z& does not support squeeze along axis 0zNo axis z for object type r  zNo axis test for object type )rF   rG   rL   r   r   r   squeezerq   rr   rN   typer   r   rs   )rO   df2r   r   ddf2r   infor   s           rQ   test_squeezer    s   	sI&	'B
,,aSz
"C
		13'(A
..Q
C>>#q!D	1	BbjjlCKKM*bii#&7bjjlAIIK(	*	+ t#YK=
>C#djj/!!!	z	" dQC(c
4C#djj/!!!	z	" !d !)$s)
5C#djj/!!! 
 
! !s$   %H! H-H9!H*-H69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|j	                  g d      || |f||||f|j	                  g d      |j	                  g d      ||f|	|||
f|	j	                  g d      |||
f||| |f||||f|	|
||
fg	}|D ]4  \  }}}}t        |t        j                        sJ t        |t        j                  t         j                  f      sJ t        |t         j                        sJ t        |t         j                        sJ t        |j                  |      |j                  |             t        |j                  |      |j                  |             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                               t        |j                  j                  |j                  |j                         |j                  j                  |j                  |j                                t        |j                  j                  |j                  |j                         |j                  j                  |j                  |j                                7 y )Nrq  rr  r*   r$   r  r%   )FFT)	r   r#   r$   r%   r'   r(   r)   r2   r0   r-   )	r(   r)   r2   r0   r3   rU   rF        )	r3   r'   r$   r)   r$   r%   r#   r)   r$   r  Fr3   Tr   )r   r%   r)   r0   )r   r'   r)   r0   )r(   r3   rU   r  )r   r'   r2   r0   )
rF   rG   r   r   repartitionrE   r   wheremaskr+   )pdf1ddf1pdf2r  pdf3ddf3pdf4ddf4pdf5ddf5pdf6ddf6casesr   ddcondr   pdconds                    rQ   test_where_maskr  0  s   <<)0KLD >>$"D<<1A5<PST<TUVD>>$"D <<)0KL)D >>$"D<<!A%,@1,DE-D >>$"D <<,,0	

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

688(<=#%%++fhh/VXXv1NO#%%**VXXv.

688ceeV0LM!NrS   c                    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          y )Nc                    | |z   S r   rk   r*   s     rQ   r   z4test_map_partitions_multi_argument.<locals>.<lambda>z  s
    QU rS   c                    | |z   |z   S r   rk   r  s      rQ   r   z4test_map_partitions_multi_argument.<locals>.<lambda>|  s    !a%!) rS   r#   )r   r   map_partitionsrX   r+   r,   r\   rk   rS   rQ   "test_map_partitions_multi_argumentr  y  si    b 2ACC=tvvO
3QSS!##qA466DFF?UVCVrS   c                    t        t        j                  d t              t               t        t        j                  d       t               t        j                  d       } t        | t        j	                  d             t        t        j                  d       t        j                  g dt        j                  	      d
d
       y )Nc                    | S r   rk   r   s    rQ   r   z%test_map_partitions.<locals>.<lambda>      " rS   metac                    | S r   rk   r   s    rQ   r   z%test_map_partitions.<locals>.<lambda>  r  rS   c                &    | j                  d      S )Nr#   rK  sumr   s    rQ   r   z%test_map_partitions.<locals>.<lambda>  s    Q rS   r#   rK  c                     yr   rk   r   s    rQ   r   z%test_map_partitions.<locals>.<lambda>      rS   )r#   r#   r#   dtypeF)check_divisionscheck_index)	r   rX   r  r\   r  rF   rL   rH   int64results    rQ   test_map_partitionsr    s    a}15t<a}-t478FfdhhAh&'	&
		)288,	rS   c                     t         j                  t              j                  d      } t	        | t
        j                        sJ t        d | D              sJ y )Nsingle-threaded	schedulerc              3  B   K   | ]  }|t         j                  k(    y wr   rF   rG   r   r7   s     rQ   r   z+test_map_partitions_type.<locals>.<genexpr>  s     1QqBLL 1s   )rX   r  r  r]   rE   rF   rL   r?   r  s    rQ   test_map_partitions_typer    sI    d#++6G+HFfbii(((1&1111rS   c                     dd} t         j                  | t               }|j                  d      }t        |      t        j
                  k(  sJ y )Nc                    |J d|v sJ d|v sJ t         d|d   f   j                  |       sJ t         dt        j                  j	                  |d         f   j                  |       sJ | S )Nr	  divisionr7   )rg   equalsrX   r<   r.   )rO   partition_infos     rQ   r   z-test_map_partitions_partition_info.<locals>.f  s    )))>)))^+++C123::2>>>C**>*+EFGHOOPRSSS	rS   r  r  r  r   )rX   r  r]   r  rF   rG   )r   rO   r  s      rQ   "test_map_partitions_partition_infor    sE     
		!!		$BZZ"3Z4F<2<<'''rS   c            	        d } t        t        j                  | t        t              j                        t        t        j                  | t        t              j                        k(  sJ d } t        t        j                  | t        t        t              j                        t        t        j                  | t        t        t              j                        k(  sJ y )Nc                    | S r   rk   r   s    rQ   r   z+test_map_partitions_names.<locals>.<lambda>  s    Q rS   r  c                    | S r   rk   r7   r   s     rQ   r   z+test_map_partitions_names.<locals>.<lambda>  s     rS   )rh   r   r  rX   ri   )r\  s    rQ   test_map_partitions_namesr    s    D"##D!!499:f
$*//?    D"##D!QQ7<<=
$11-22B   rS   c                    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 y )Nr   r(   r)   r2   r0   r  r$   rn   c                    | S r   rk   r   s    rQ   r   z1test_map_partitions_column_info.<locals>.<lambda>      A rS   r  c                    | S r   rk   r   s    rQ   r   z1test_map_partitions_column_info.<locals>.<lambda>  r  rS   c                    | S r   rk   r   s    rQ   r   z1test_map_partitions_column_info.<locals>.<lambda>  r  rS   c                4    | j                   | j                  z   S r   r  r   s    rQ   r   z1test_map_partitions_column_info.<locals>.<lambda>  s    RTTBDD[ rS   r9   c                     | j                   dz   S r   r   r   s    rQ   r   z1test_map_partitions_column_info.<locals>.<lambda>  s    RTTAX rS   r7   r9   r7   )rF   rG   r   r   r  r   rY   rZ   r   r7   rW   rE   rL   r  rO   r+   r,   s      rQ   test_map_partitions_column_infor    sc   	L|<	=B
rq)A
+qq1A!))QYY/b!
+qss5A66QSSXXbddA
+qss5A66QSSXXbddA
0!4Aa###77d??
-q{CAa###66S==77d??rS   c                 <   t        j                  g dg dd      } t        j                  | d      }|j	                  d       }t        |t        j                        sJ t        j                  |j                  |j                         |j	                  d       }t        |t        j                        sJ |j                  dk(  sJ |j	                  d	 d
      }t        |t        j                        sJ |j                  dk(  sJ |j                  dk(  sJ y )Nr   r  r  r$   rn   c                    | S r   rk   r   s    rQ   r   z2test_map_partitions_method_names.<locals>.<lambda>  s    1 rS   c                     | j                   dz   S r   r   r   s    rQ   r   z2test_map_partitions_method_names.<locals>.<lambda>      BDD1H rS   r9   c                     | j                   dz   S r   r   r   s    rQ   r   z2test_map_partitions_method_names.<locals>.<lambda>  r  rS   r  r  r7   )rF   rG   r   r   r  rE   r   rY   rZ   rL   r  rW   r  s      rQ    test_map_partitions_method_namesr    s    	L|<	=B
rq)A	%Aa&&&!))QYY/	,-Aa###77d??	,;?Aa###66S==77d??rS   c                 (   t        j                  t        d      d      } t        j                  t	        j
                  dt        j                        t	        j
                  ddt        j                        d| 	      }t        j                  |d
      }|j                  d g d      }|j                  |j                  |j                  z         }t        ||       |j                  d       }|j                  d      }t        ||       y )Nr   myindexr   r(   r  rU      r&  r-   r$   rn   c                T    | j                  | j                  | j                  z         S )NC)assignr   r   r   s    rQ   r   z?test_map_partitions_propagates_index_metadata.<locals>.<lambda>  s    299rttbdd{9+ rS   ))r   i4)r   r  )r  r  r  r  c                $    | j                  d      S )Nnewindex)rename_axisr   s    rQ   r   z?test_map_partitions_propagates_index_metadata.<locals>.<lambda>  s    z(B rS   r  )rF   rL   r   rG   rH   r>  int32r   r   r  r  r   r   r   r  )r.   rO   r   r   sols        rQ   -test_map_partitions_propagates_index_metadatar    s    IId7m)4E	ii*2r1RS
B ..
+C


+4  C ))bddRTTk)
"Cc3


B
CC
..
$Cc3rS   znow we use SubgraphCallablesc                    t        j                  g dg dd      } t        j                  | d      }dd}|j                  j                  |d      }d	t        t        |j                              v s"d
t        t        |j                              v sJ t        | j                  dz   |       |j                  j                  |d      j                  |j                  j                  |d      j                  k7  sJ y )Nr   r  r  r$   rn   c                    | |z   S r   rk   )r   r7   s     rQ   r   z4test_map_partitions_keeps_kwargs_readable.<locals>.f  s    1urS   r(   r   z['x', 5]z{'x': 5}r)   r#   )rF   rG   r   r   r7   r  r   dictri   r   ra   )rO   r+   r   r,   s       rQ   )test_map_partitions_keeps_kwargs_readabler    s    	L|<	=B
rq)A 	
1"A T!&&\**jCQVV<M.MMMbddQh33a1%++qss/A/A!q/A/I/O/OOOOrS   c                     t        j                  t        d            } t        j                  | d      }|j                  t        d            j                          y )NabcdefghijkrZ  r$   ri  )rF   rG   r   r   r   rK   r]   r   s     rQ   +test_map_partitions_with_delayed_collectionr    sA    	d=1	2B
..Q
CJJd=)J*224rS   c                     t        j                  dg di      } t        j                  | d      }d }t        j                  |||j
                        }t        ||       y )Nr7   r#   r$   r%   r'   r(   r#   rn   c                X    t        |       t        |      k(  sJ t        |       dkD  sJ | S )Nr   )r   )rO   df_xs     rQ   checkzDtest_metadata_inference_single_partition_aligned_args.<locals>.check  s-    2w#d)###2w{{	rS   )rF   rG   r   r   r  r7   r   )rO   r   r  r   s       rQ   5test_metadata_inference_single_partition_aligned_argsr    sP     
sO,	-B
..
+C
 

E3
.Cc3rS   c                    t        j                  g dg dd      } t        j                  g dg dd      }t        j                  | d      }t        j                  |d	      }|j	                  t         j
                  |d
ddd      }t        j
                  | |ddd      }t        ||d
d
       |j	                  t         j
                  |d
ddd      }t        j
                  || ddd      }t        ||d
d
       y )N)r#   r$   r%   r%   r$   r%   r#   r$   r%   r'   r(   r)   r&  )r%   r#   r$   r"   )r   r  r$   rn   r#   Fr   left)align_dataframesleft_onright_onr@   )r  r  r@   )r  r  right)rF   rG   r   r   r  merger   )df1r  r  r  r   rc   s         rQ   test_align_dataframesr    s    
,,/6HI
JC
,,YY7
8C>>#1-D>>#1-D  
#sSf ! F xxS#HHfhE5I  
$cw ! F xxS#IHfhE5IrS   c                   d } t         j                         }t         j                  d|       }t        j                         }t        ||       t        ||       |j                  |j                  k7  sJ t         j
                  j                         }t         j
                  j                  d|       }t        j
                  j                         }t        ||       t        ||       |j                  |j                  k7  sJ t         j                  j                         }t         j                  j                  d|       }t        j                  j                         }t        |j                         j                         |       t        |j                         j                         |       t         j                         }|j                  j                         }|j                  j                  d|       }t        j                  j                         }t        |j                         j                         |       t        |j                         j                         |       |j                  |j                  k7  sJ t        j                  t              5  t         j                  d       d d d        y # 1 sw Y   y xY w)Nr$   )r   shuffle_methodF)keep)rX   drop_duplicatesr\   r   ra   r+   r.   r]   sort_valuesr   rq   rr   rN   )r  r   res2r  _ds        rQ   test_drop_duplicatesr	  +  s   N



C>JD



 Cc3dC99

"""
##


C331^LD
&&
 
 
"Cc3dC99

"""
''
!
!
#C77""q"PD
**
$
$
&Cckkm'')3/dlln((*C0	
			B
((
"
"
$C88##.#QD
**
$
$
&Cckkm'')3/dlln((*C099

"""	*	+ &	u%& & &s   J??K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	         | j                  dd|i| |j                  dd|i|       t	         | j                  |fi | |j                  |fi |       b  y )N)r#   r$   r%   r#   r$   r%   )r+   r+   r,   r,   r   r   r  r$   rn   r  firstlastr7   r   r  rk   )rF   rG   r   r   r   r7   r  )rO   r   kwargsss       rQ   test_drop_duplicates_subsetr  N  s   	.5ST	UB
..
+C7#ff%56 Y&"$$&&//1F1F1F1O1OP5#Sz* 	YB"""6"66###7277 (b((5u57Js7J7J27WQV7WX	YYrS   c                    t        j                  t        j                  j	                  dd      t        d            } t        j                  | d      }|j                  dk(  sJ |j                  d      }t        |t        j                        sJ t        || j                  dd	        |j                  d
      }t        || j                  dd        |j                  d      }t        || j                  dd        t        |      t        |      z   t        |      z   t        |       k(  sJ |j                  j                  d      }t        |t        j                        sJ t        || j                  j                  dd	        |j                  j                  d
      }t        || j                  j                  dd        |j                  j                  d      }t        || j                  j                  dd        t        |      t        |      z   t        |      z   t        | j                        k(  sJ t!        j"                  t$              5  |j                  d       d d d        t!        j"                  t$              5  |j                  d	       d d d        y # 1 sw Y   =xY w# 1 sw Y   y xY w)NrU   r(   r   rZ  r'   	chunksize)r   r'   r0   r3   r   r%   r#   r2   r$   r0   r3   rp   )rF   rG   rH   r   r   r   r   r   r<   get_partitionrE   r   r  r   r+   rL   rq   rr   rs   )r   r   div1div2div3s        rQ   test_get_partitionr  \  s   
,,ryyr1-tG}
EC
..
*C==L((( QDdBLL)))dCGGAaL!QDdCGGAaL!QDdCGGAaL!t9s4y 3t9,C888 55q!DdBII&&&dCEEIIaN#55q!DdCEEIIaN#55q!DdCEEIIaN#t9s4y 3t9,CEE
:::	z	" " 
z	" !   s   J*J6*J36J?c                     t         j                  dk(  sJ t         j                  j                  dk(  sJ t         j                  j                  dk(  sJ y )Nr$   r#   )rX   ndimr+   r.   rk   rS   rQ   	test_ndimr  |  s<    66Q;;3388q==77<<1rS   c                 f    t         j                  t        j                  k(  j                         sJ y r   )rX   dtypesr\   r?   rk   rS   rQ   
test_dtyper    s!    HH#((***rS   c                 j   t        j                  dg di      } t        j                  | d      }|j                  j                         }| j                  j                         }t        ||       |j                  j                  d      }t        ||       |j                  |j                  k7  sJ y )Nr7   r#   r$   r#   r%   r%   r#   r'   r%   rn   r$   r   rF   rG   r   r   r7   value_countsr   ra   rO   r   r  rc   result2s        rQ   test_value_countsr%    s    	s12	3B
..
+CUU!Ftt  "Hfhee  Q /Ggx <<7==(((rS   c                 r   t        j                  dg di      } t        j                  | d      }|j                  j                  d      }| j                  j                  d      }t        ||       |j                  j                  d      }t        ||       |j                  |j                  k7  sJ y )	Nr7   r  r%   rn   F)sortr$   r   r!  r#  s        rQ   test_value_counts_not_sortedr(    s    	s12	3B
..
+CUUU+Ftt  e ,Hfhee  Q /Ggx <<7==(((rS   c            
        t        j                  dddddt        j                  ddgi      } t	        j
                  | d      }|j                  j                  d      }| j                  j                  d      }t        ||       |j                  j                  dd	      }t        ||       |j                  |j                  k7  sJ y )
Nr7   r#   r$   r%   r'   rn   FrK   )r   rK   
rF   rG   rH   rI   r   r   r7   r"  r   ra   r#  s        rQ   test_value_counts_with_dropnar,    s    	sQ1aA67	8B
..
+CUUu-Ftt   .Hfhee  Qu =Ggx <<7==(((rS   c                    t        j                  dg di      } t        j                  | d      }|j                  j                  d      }| j                  j                  d      }t        ||       |j                  j                  dd      }t        ||       |j                  |j                  k7  sJ |j                  j                  dd	      }t        ||       |j                  |j                  k7  sJ y )
Nr7   r  r%   rn   T)	normalizer$   )r   r.  )	split_outr.  r!  )rO   r   r  rc   r$  result3s         rQ    test_value_counts_with_normalizer1    s    	s12	3B
..
+CUU$/Ftt  4 0Hfhee  Q$ ?Ggx <<7==(((ee  1 =Ggx <<7==(((rS   r.  TFc           
        t        j                  dddddt        j                  ddgi      }t	        j
                  |d      }|j                  j                  d|       }|j                  j                  d|       }t        ||       |j                  j                  dd| 	      }t        ||       |j                  |j                  k7  sJ |j                  j                  dd| 
      }t        ||       |j                  |j                  k7  sJ |j                  j                  d| d      }|j                  j                  d|       }t        ||       y )Nr7   r#   r$   r%   r'   rn   F)rK   r.  )r   rK   r.  )r/  rK   r.  T)rK   r.  r/  r+  )	r.  rO   r   r  rc   r$  r0  result4	expected4s	            rQ   +test_value_counts_with_normalize_and_dropnar5    s(   	sQ1aA67	8B
..
+CUUu	BFtt   CHfhee  Qu	 RGgx <<7==(((ee  1Ui PGgx <<7==(((ee  	Q OG!!!CIgy!rS   c                 d   t        j                  g ddddt        j                  ddddt        j                  dg
d      } t	        j
                  | d      }t        |j                  j                  d	
      t        j                  | j                  j                         d             t        |j                  j                  d	
      t        j                  | j                  j                         d             t        |j                  j                  dd	      t        j                  | j                  j                         d             t        |j                  j                  dd	      t        j                  | j                  j                         d             t        |j                  j                  d	
      | j                  j                                |j                  j                  d      j                  |j                  j                         j                  k7  sJ y )N)
r#   r$   r#   r%   r%   r#   r'   r$   r%   r#   r+   r   r,   rX   r  r%   rn   r#   )r/  r7   r   r   r$   r   r/  r   )rF   rG   rH   rI   r   r   r   r7   uniquerL   r   r.   ra   r   r   s     rQ   test_uniquer:    sn   
,,/sCc3RVVSI	
C ..!
,CceellQl'355<<>)LMceellQl'355<<>)LMa0"))CEELLNQT2U a0"))CEELLNQT2U cii+SYY-=-=-?@55<<A<&,,0D0DDDDrS   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
                  j                  |       t        j
                  j                  |              t        t        j
                  j                  |      t        j
                  j                  |             t        t        j
                  j                  |      t        j
                  j                  |             t        t        j
                  j                  |      t        j
                  j                  |              t        t        j
                  j                  |      t        j
                  j                  |             t        j                  t              5  t        j
                  j                  t        j
                         d d d        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        |t        fD ]9  }t        j                  t              5  t        j                  |       d d d        ; y # 1 sw Y   NxY w# 1 sw Y   SxY w)
Nr"   r   r%   r#   r$   r*   2)r$   r%   r'   )r%   r'   r(   )rF   rL   r	   r   rX   r+   isinr\   rq   rr   rN   )f_listf_seriesf_dictf_list2f_list_delayedf_list_of_listsobjs          rQ   	test_isinrE    s*   Fyy Hq6A'F#hGaj'!*gaj9N )Y7O acchhvF 34acchhx $&&++h"78acchhwW!56	 F 	!O$ 
*	+ 	 affVndii/0affVndii/0affWotyy12	~		& 			/" 8T" ]]./ 	FF3K	 	  	 	s   	.M"MMM	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 y )	Nr#   r$   r%   r'   )r   r   r   r   r   )r   r   rF   rG   r   s    rQ   test_contains_framerG    sW    	Aq6q!f%=>	BB"997N7b==B;;rS   c                 
   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 y )Nr#   rn   r   r$   rZ  r   )r   rX   r\   r+   r   r   rF   rG   rk   rS   rQ   test_lenrI    s    q6SYqss8s466{"""r~~blln!<=BBBr~~bllAq6:JKqPPPr~~bllE5>BPQRSWXXXXrS   c                 D   t        t        j                  t        j                         t        t        j                  j                  t        j                  j                         t        t        j
                  j                  t        j
                  j                         y r   )r   rX   sizer\   r+   r.   rk   rS   rQ   	test_sizerL    sH    affdii acchh$aggllDJJOO,rS   c                    t         j                  } t        | d   j                         | d   ft	        t
              t	        t
        j                        f       t        t        j                  |       d   t	        t
              t	        t
        j                        f       t         j                  j                  } t        | d   j                         t	        t
        j                               t        t        j                  |       d   t	        t
        j                        f       t        j                  t        j                  g d      d      j                  }|d   j                         |d   fdk(  sJ t        j                  t        j                  g g dg       d      j                  }|d   j                         |d   fd	k(  sJ y )
Nr   r#   r"   r-   r$   rn   )r%   r   r*   )r   r$   )rX   shaper   r]   r   r\   rZ   r   r+   r   rF   rG   )r  shs     rQ   
test_shaperP  "  s=   WWFvay  "F1I.TC<M0NObjj #c$iT\\1B%CDSSYYFfQi!3tvv;/bjj #c$&&k^4	951	E	K	KBqEMMORU#v---	2B%7rBPQ	R	X	XBqEMMORU#v---rS   c                     t        t        j                  j                  t        j                  j                         t        t        j
                  j                  t        j
                  j                         y r   )r   rX   r+   nbytesr\   r.   rk   rS   rQ   test_nbytesrS  1  s8    accjj$&&--(aggnndjj//0rS   r  ri   quantile)g333333?r
  ?c                   t         j                  j                  ddd      }t        j                  |dg      }t        j                  d|z
         dz  }|j                  j                  |g|       }t        |      dk(  sJ |j                  ||fk(  sJ t        |t        j                        sJ |j                         }t        |t        j                        sJ |j                  d   t!        j"                  |d	
      k(  sJ |j                  j                  ||       }|j$                  dk(  sJ |j                         }|t!        j"                  |d	
      k(  sJ y )Nr#   i'  i  chunksr7   rZ  r  r   g333333?)rel)r=  r   exponentialr   r?  rH   logr7   rT  r   r<   rE   rL   r]   rF   ilocrq   approxr  )r  rT  rA  rO   expr  s         rQ   test_quantiler`  6  s6    II!!!V[!BE			EC5	1B66!h,
!
#C TT]]H:f]5Fv;!(3333fbii(((^^Ffbii(((;;q>V]]3D9999 TT]]8F]3F;;!^^FV]]3D1111rS   c                b   t        j                  ddt        j                  dgi      }t	        j
                  |d      }|j                         }|j                  |       }t        ||       |j                  j                         }|j                  j                  |       }t        ||       y )Nr   r   r$   r#   rn   rY  )	rF   rG   rH   rI   r   r   rT  r   r   )r  rO   r   rc   r  s        rQ   test_quantile_missingrb  W  s     
sQN+	,B ..
+C{{}H\\\(Ffhtt}}HUU^^6^*FfhrS   c                    t        j                  t        d      5  t        j                  j                  g |       j                          d d d        y # 1 sw Y   y xY w)Nzmust provide non-rv   rY  )rq   rr   AssertionErrorrX   r,   rT  r]   rY  s    rQ   test_empty_quantilere  n  sE     
~-@	A 2	R'//12 2 2s   0AAzTignore:In future versions of pandas, numeric_only will be set to False:FutureWarningzmethod,expected)g      #@g     =@g     3@r   Xr   )g      @     8@      -@)ri  g     @A@rh  r.   rZ   )      @g      ;@g      1@)      ?g     5@g      '@)g      ,@g      A@g      8@numeric_only)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        j                  t        t        f      5   |j                  di | d d d        t        j                  t        t        t        fd      5   |j                  di | d d d        y  |j                  dd| i|}|j                  dk(  sJ |j                  dk(  sJ |j                         }t        |t         j                         sJ |j"                  dk(  sJ t%        ||d   d        |j                  ddgfd| i|}|j                  dk(  sJ |j                  dk(  sJ |j                         }t        |t         j                        sJ t'        j(                  |j*                  t        j,                  ddg             t'        j(                  |j.                  t        j,                  g d             ||d   k(  j1                         j1                         sJ t3        j4                  d      5  t3        j6                  dt8                |j                  dddi|}d d d         |j                  dd| d|}t%        ||       t        j                  t              5   |j                  ddgfd| d| d d d        y # 1 sw Y   oxY w# 1 sw Y   y xY w# 1 sw Y   ~xY w# 1 sw Y   y xY w)Nr   re  rU   rd  r   r(   )r   rg  r   r  rZ  r%   rm  Fz7unsupported operand|no kernel|non-numeric|not supportedrv   r  r#   )r   rg  r
  r   )check_namesr   r   )r   r   rf  Try   rB   categoryrL  )rL  r  rk   )rF   rG   rH   r>  r   r   rq   rr   r   r!   rT  rs   ro   r<   r]   rE   rL   rW   r   r   rY   r.   r[   rZ   r?   r}   r~   filterwarningsFutureWarning)r  rc   rm  rO   r   numeric_only_kwargr  s          rQ   test_dataframe_quantileru  }  s   D 
22r"2r"%)		
 %
B ..Q
C,l;u 4]]I'?@A 	.BKK-,-	.]]0*=K
 	/ CLL.-.		/ 	/ BVB/AB!!Q&&&:---!&")),,,{{c!!!&(1+59tTlP6P=OP!!Q&&&<///!&",,///
fllBHHdD\,BC
fnnbhh.GH(1+%**,00222$$D1 	A##H}E"r{{@@-?@H	A
 J1VJ7IJ&(#]]:& 	TCLL$SAfS@RS	T 	TK	. 	.	/ 	/4	A 	A	T 	Ts0   "L"#L/0L; M"L,/L8;MMc                    t        j                  g dt         j                  gt        dd      D  cg c]  } t	        d| d       c} z   t        j
                  dddddd	d
t        j                  g      d      }t        j                  |d      }t        |j                  d      |j                  d             y c c} w )Nr^  r#   r0   i  r$   r%   r'   r(   r)   r2   )intdtr   Frm  )rF   rG   NaTr  r   to_timedeltarH   rI   r   r   r   rT  rQ  rO   r   s      rQ   )test_quantile_datetime_numeric_only_falser}    s    	+66(E!QKHqhtQ2HH!Q1aArvv)FG	

B ..Q
Cclll.0OP Is   B=c                    t        j                  dd      } t        j                  |       }g dg dg dg dfD ]l  }|j	                  |      j                         }t        |j                  d   d       t        |j                  d	   d
       t        |j                  d   d       n |j	                  dg      j                         }t        |j                  d   d       |j	                  d      j                         }t        |d       y)zcheck that quantile is giving correct answers even when quantile parameter, q, may be unsorted.

    See https://github.com/dask/dask/issues/4642.
    r   r5  r6  r7  r9  )r   r8  r   r
  r   r:  r
  r;  r   r<  N)r=  r>  r   r?  rT  r]   r   r  )r   r   rB  rD  s       rQ   %test_quantile_for_possibly_unsorted_qr    s     			!SA			A	B 	  	 	% KKN""$!%%+t$!%%+t$!%%+t$	% 	TF##%AaeeDk4 
D!!#AarS   c                     t        j                  dg di      } t        j                  | d      }|d   j	                  d      j                         }|dk(  sJ y)z,See https://github.com/dask/dask/issues/6551r+   r"   r%   rn   r
  r$   N)rF   rG   r   r   rT  r]   )rO   r   rD  s      rQ   test_quantile_tiny_partitionsr    sM    	sI&	'B
..
+CC#&&(A6M6rS   c                    t        j                  dg i      } t        j                  | d      }| j	                  d      }t        |j	                  d      |       t        j                  dt        j                  t        j                  t        j                  t        j                  gi      } t        j                  | d      }| j	                  d      }t        |j	                  d      |       y)z,See https://github.com/dask/dask/issues/2792r   r$   rn   r
  N)rF   rG   r   r   rT  r   rH   rI   )rO   r   rc   s      rQ    test_quantile_trivial_partitionsr  	  s    	sBi	 B
..
+C{{3Hcll3*	sRVVRVVRVVRVV<=	>B
..
+C{{3Hcll3*rS   c                 T    t        t        j                  t        j                         y r   )r   rX   r.   r\   rk   rS   rQ   
test_indexr    s    aggtzz"rS   c                    t        j                  t        d      t        dd      D  cg c]  } t        |        c} dt        j                  t        d                  }t        j                  |d      }t        j                  |dd	
      j                         }|j                  rJ |j                  dd|j                  j                         |j                  |j                  z   d t        j                  ddd            }|j                  dd|j                  j                         |j                  |j                  z   d t        j                  ddd            }|j                  dd|j                  j                         |j                  |j                  z   d t        j                  ddd            }t        ||       t        ||       |j                  |j                  dz         }t        ||j                  |j                  dz                |j                  |j                         }t        ||j                  |j                                t        |j                  |j                  dz         |j                  |j                  dz                t#        j$                  t&              5  |j                  t        t        d                   d d d        t        |j                  |j                        |j                  |j                               t        |j                  |j                        |j                  |j                               t        j                  dddgi      }|j                  d d        t        j                  t        j                  dddgi      d      }|j                  d d        t        ||       y c c} w # 1 sw Y   xY w)Nr0   rU      r*   abcdefghr-   r%   rn   Fro   r'  r#   stringc                4    | j                   | j                  z   S r   r#  r   s    rQ   r   ztest_assign.<locals>.<lambda>(      ACC!##I rS   i  r$   r  )r   rX   r   r   r   rx  c                4    | j                   | j                  z   S r   r#  r   s    rQ   r   ztest_assign.<locals>.<lambda>0  r  rS   c                4    | j                   | j                  z   S r   r#  r   s    rQ   r   ztest_assign.<locals>.<lambda>8  r  rS   r   r3   r   r   c                    | d   S Nr   rk   r   s    rQ   r   ztest_assign.<locals>.<lambda>N  s
    2c7 rS   c                4    | j                   | j                  z   S r   r&  r   s    rQ   r   ztest_assign.<locals>.<lambda>N  s     rS   )r   r  c                    | d   S r  rk   r   s    rQ   r   ztest_assign.<locals>.<lambda>Q  s
    BsG rS   c                4    | j                   | j                  z   S r   r&  r   s    rQ   r   ztest_assign.<locals>.<lambda>Q  s    "$$+ rS   )rF   rG   r  floatr[   r   r   r   r   r   r  r+   r  r,   r  r   r.   rq   rr   r   )rQ  rO   r   ddf_unknownr   res_unknownr  s          rQ   test_assignr    s   	Ahb">1eAh>?hhtJ'(
B ..
+C..?OOQK****
**


%%))+
%%#%%-
<<a$  C $$


--



--+--
'
<<a$ % K ))


$$((*
$$+
<<a$  C c3k3
**rttax*
 Cc299rttax9()
**syy*
!Cc299rxx9()k  244!8 ,bii"$$(i.CD 
y	! %

T%(^
$% k  SUU +RYY244Y-@Acjj[]]j+RYY244Y-@A	sQFm	$BII"&<I=
..sQFm4!
DCJJ#'=J>b#o ?V% %s   O,
%O11O;c                     t        j                  t        j                  dt	        d      i      d      } | j                  | j                  j                               }| j                  d       }t        ||       y )Nr   rU   r$   rn   )r   c                6    | j                   j                         S r   r   shiftr   s    rQ   r   z&test_assign_callable.<locals>.<lambda>Y  s    acciik rS   )	r   r   rF   rG   r  r  r   r  r   r  s      rQ   test_assign_callabler  V  sX    	c59%56A	FB
		BDDJJL	!A
		)	*AaOrS   c                 8   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             y )Nr+   r,   r#   r$   r   r   r   r  rZ   rn   col3r   1r  )r   r   r  )r  r.   rk   )	r   r   rF   rG   rL   r  r   r   r  )r   new_colr   string_dtypes       rQ   test_assign_dtypesr  ]  s    
..
*q!f5?O	
 	C ryy#s,-G
#**
w
C#%L


		6*	
rS   c                     t        j                  ddgddgd      } t        j                  | d      }|j	                  | d         }t        || j	                  | d                y )	Nr#   r$   r(   r)   )r+   r#   rn   r+   r  )rF   rG   r   r   r  r   r   s     rQ   test_assign_pandas_seriesr  r  sZ    	QF1v.	/B
..
+C
**r#w*
Cc299r#w9'(rS   c                    t        j                  t        d      g ddt        j                  g dd            } t	        j
                  | d	      }t        j                  t        d
      5  t        |j                  j                  d       | j                  j                  d              | j                  j                  D ci c]  }||dz   
 }}t        |j                  j                  |      | j                  j                  |             t        |j                  j                  |      | j                  j                  |             t        j                  |      }t        |j                  j                  |      | j                  j                  |             t        |j                  j                  |      | j                  j                  |             d d d        t        |j                  j                  |j                        | j                  j                  |             t        |j                  j                  |d      | j                  j                  |             y c c}w # 1 sw Y   xY w)Nr3   )	r'   r(   r)   r#   r$   r%   r   r   r   r*   rV   r  r   r-   r%   rn   r  rv   c                    | dz   S r   rk   r   s    rQ   r   ztest_map.<locals>.<lambda>  s
    a!e rS   c                    | dz   S r   rk   r   s    rQ   r   ztest_map.<locals>.<lambda>  s
    Q rS   r#   r  )r,   r9   )rF   rG   r  r[   r   r   rq   r{   r|   r   r+   mapvaluesr,   rL   )rO   r   vlks       rQ   test_mapr  z  s   	Ah89hh2C
B ..
+C	k	0 /#%%))O,bddhh.GH ",1aQh,,#%%))B-".#%%))B-".YYr]#%%))B-".#%%))B-"./ ceeiii'"6ceeiii-rttxx|< -/ /s    /AI<I7DI<7I<<J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 y )Nr+   r,   rZ  r   )r   rF   rG   r   rZ   r   r   s    rQ   test_concatr    sU    sCj12<<c
3STUA		?sCj(((q6Q;;rS   c                 l    t         j                  sJ t         j                         } | j                  rJ y r   )rX   r   r   r   s    rQ   test_known_divisionsr    s1    	
			B!!!!!rS   c                 X   t        j                  g dg dd      t        j                  g dg dd      t        j                  g dg dd      d} t        j                  t        j                  | j                               g d	      j                         }|j                  d
      }t        |j                  j                         |j                  j                                t        |j                  |j                  z   dz   |j                  |j                  z   dz          y )Nr"   r&   r*   r/   r1   r4   r5   )r   r#   r$   rU   r;   syncr  r#   )rF   rG   r   r  concatr  r   r]   r   r+   r  r,   )rg   rX   r\   s      rQ   test_unknown_divisionsr    s    ,,YY?@,,YY?@,,YY?@C
 	
		#**,=	o  99v9&Daccggi&accACCi!mTVVdff_q01rS   c            
        t        j                  g dg dg dg      t        j                  g dg dg dg      g} | D cg c]  }t        j                  |d       }}ddg}t	        | |      D ]o  \  }}|D ]e  }d	D ]^  }t        |j                  ||
      |j                  ||
             t        |j                  ||
      |j                  ||
             ` g q y c c}w )Nr   )Nr(   r)   )r(   r'   r3   )r$   NNr'   rn   r   r#   )r   r#   r$   r%   )	min_countrL  )rF   rG   r   r   r   r   r  prod)dfsrO   ddfsr   r   rL  r  s          rQ   test_with_min_countr    s    
lL)<=
o|Y?@C 9<<"BNN21-<D<q6DsD> 
C 		D) 	FFYTF:GGidG; GGidG;HHytH<		
 =s   C$join)innerouterr  r  c                ,   t        j                  t        j                  j	                  d      t        j                  j	                  d      dg d      }t        j                  t        j                  j	                  d      t        j                  j	                  d      dg d      }t        j                  |d      }t        j                  |d      }|j                  ||       \  }}|j                  ||       \  }}t        ||      sJ t        ||      sJ |d   j                  |d	   |       \  }}|d   j                  |d	   |       \  }}t        ||      sJ t        ||      sJ |j                  || d
      \  }}|j                  || d
      \  }}t        ||      sJ t        ||      sJ |d   j                  |d	   | d
      \  }}|d   j                  |d	   | d
      \  }}t        ||      sJ t        ||      sJ y )NrU   r&  
r#   r  r(   r)   r%   r3   rU   r'   r  rF  r-   
r   r%   r$   rU   r(   r)   r2   r0   r  r  r%   )r  r   r   r#   )r  
fill_value)	rF   rG   rH   r   r   r   r   alignr   	r  df1adf1bddf1addf1bres1r  exp1exp2s	            rQ   
test_alignr    s   <<iioob!		(;<0D
 <<iioob!		(;</D NN4#ENN4#E U.JD$Dt,JD$T4   T4    s!!%*4!8JD$cc6JD$T4   T4    U!<JD$Dt:JD$T4   T4    s!!%*4A!FJD$cc!DJD$T4   T4   rS   c                   t        j                  t        j                  j	                  d      t        j                  j	                  d      t        j                  j	                  d      dg d      }t        j                  t        j                  j	                  d      t        j                  j	                  d      t        j                  j	                  d      dg d      }t        j                  |d      }t        j                  |d      }|j                  || d	      \  }}|j                  || d	      \  }}t        ||      sJ t        ||      sJ |j                  || d
	      \  }}|j                  || d
	      \  }}t        ||      sJ t        ||      sJ |j                  || d	      \  }}|j                  || d	      \  }}t        ||      sJ t        ||      sJ |j                  || d	      \  }}|j                  || d	      \  }}t        ||      sJ t        ||      sJ t        j                  t              5  |j                  || d	       d d d        t        j                  t              5  |d   j                  |d   | d
	       d d d        y # 1 sw Y   FxY w# 1 sw Y   y xY w)NrU   r   r   r  r  r-   )r   r  r   r  r%   r   )r  rL  r#   r.   rZ   XXXr   r   )rF   rG   rH   r   r   r   r   r  r   rq   rr   rs   r  s	            rQ   test_align_axisr    sf   <<iioob!		(;"))//RTBUV0D
 <<iioob!		(;"))//RTBUV/D NN4#ENN4#EUA6JD$Dt!4JD$T4   T4   UA6JD$Dt!4JD$T4   T4   UG<JD$Dt':JD$T4   T4   UI>JD$Dt)<JD$T4   T4    
z	" 2E512 
z	" 8c
s$Q78 82 28 8s   J0J<0J9<Kc            
        t        j                  t        j                  j	                  ddt        j
                  gd      t        j                  j	                  g dd      d      } t        j                  t        j                  j	                  g dd      t        j                  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 ]b  \  }}}}	}
|
D ]U  \  }}|j                  |	||      }t        |j                  |||      |       t        |j                  |	||      |       W d t        |j                  |t        d      | j                  |t        d             j                  t              j                  |j                  |t              j                  k(  sJ y )Nr#   r$   rx   r+   r,   rI   r&  r"   r  r'   r(   c                    | S r   rk   r*   s     rQ   r   ztest_combine.<locals>.<lambda>  s     rS   c                4    | t         j                  ur| |z   S | S r   )rH   rI   r*   s     rQ   r   ztest_combine.<locals>.<lambda>!  s    ARVVO1q5  rS   rX   )r  F)	overwrite)rF   rG   rH   r   choicerI   r   r   r   r   r   combiner   ra   )r   r  r  r  r  str_addddaddbr+   r,   runsr\  r  r  s                 rQ   test_combiner    s   
,,!!1a.#6!!"3S9	
C ,,!!)S1!!/37	
C >>#q!D>>#q!DE ;G 
tS#deT];<	dc3Z%'OPFFFFEEEEt_wnudm<	

! HS!Q !% 	HD*))At
);Cckk#t
kCSIckk!TjkA3G	HH  T3%0#++c3RW+2X ;;sC &&#++c3*?*E*EEEErS   c                    t        j                  t        j                  j	                  ddt        j
                  gd      t        j                  j	                  g dd      d      } t        j                  t        j                  j	                  g dd      t        j                  j	                  g dd      d      }t        j                  | d      }t        j                  |d	      }t        |j                  |      | j                  |             t        |j                  |      | j                  |             t        |j                  j                  |j                        | j                  j                  |j                               t        |j                  j                  |j                        | j                  j                  |j                               t        |j                  j                  |j                        | j                  j                  |j                               t        |j                  j                  |j                        | j                  j                  |j                               y )
N      ?       @rx   r  r&  r  r        @r  r'   r(   )rF   rG   rH   r   r  rI   r   r   r   combine_firstr   r   )r   r  r  r  s       rQ   test_combine_firstr  :  s   
,,!!3RVV"4c:!!"3S9	
C ,,!!/37!!/37	
C >>#q!D>>#q!D d  &(9(9#(>?d  %s'8'8'=> dff""466*CEE,?,?,FGdff""355)355+>+>suu+EFdff""466*CEE,?,?,FGdff""355)355+>+>suu+EFrS   z)https://github.com/dask/dask/issues/10931zdtype_lhs,dtype_rhs))f8r9   )r  f4)zdatetime64[s]datetime64[ns]c                   t         rt        j                  t        d      }nt	        j
                         }t        j                  t        j                  t        j                  g|       }t        j                  t        j                  dg|       }t        j                  ddg|      }t        j                  |d      }t        j                  |d      }t        j                  |d      }|5  |j                  |      }	ddd       |5  t        |j                  |      	       ddd       t        |j                  |      |j                  |             y# 1 sw Y   ZxY w# 1 sw Y   @xY w)	a0  If you call s1.combine_first(s2), where s1 is pandas.Series of all NaNs and s2 is
    a pandas.Series of non-floats, the dtype becomes that of s2. Starting with pandas
    2.1, this comes with a deprecation warning.
    Test behaviour when either a whole dask series or just a chunk is full of NaNs.
    zDThe behavior of array concatenation with empty entries is deprecatedrv   r  r  r#   r$   rn   N)r   rq   r{   rs  
contextlibnullcontextrF   rL   rH   rI   r   r   r  r   )
	dtype_lhs	dtype_rhsctxs1s2s3ds1r   ds3s13s
             rQ   test_combine_first_all_nansr  X  s    llX

 $$&	BFFBFF#9	5B	BFFC=		2B	Aq6	+B
..
+C
..
+C
..
+C 
 #r"#	 /###C(#./ c$b&6&6r&:;# #/ /s   3EE*E'*E3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                  j                         }	 | ||	            }
t        |	|
       y )Nr   )dumpsloads)r  )r  r%   rn   r$   )pickler  r  cloudpickler   r   r   r   r   r   r.   r  )r  r  cp_dumpscp_loadsrX   rO   r  a2i2r   r  s              rQ   test_dataframe_picklabler  |  s   #--!!#A	q	)B	aB b	
Cb#
8B<
 Cb# 
uRTT{	BbddB	(244.	!BbddB 
uRXX	Bbhh	(288$	%Bbhh 	
A	(1+	BarS   c                 b   t         j                  ddgd      \  } }t        | t        j                        sJ t        |t        j                        sJ | j
                  |j
                  k7  sJ t        j                  j                  | j                  t        | j                               t        | j                               t        |j                               z   t        t              k(  sJ t         j                  ddgd      \  }}|j
                  | j
                  k(  sJ |j
                  |j
                  k(  sJ t         j                  ddgdd      \  } }t         j                  ddgdd      \  }}t        | |       t        ||       t        j                   t"              5  t        j                  j                  | j                  t        | j                               d d d        t         j                  g dd      }|D ch c]  }|j
                   }}|j%                  | j
                  |j
                  g       t        |      dk(  sJ t        j                   t&              5  t         j                  ddgd       d d d        y # 1 sw Y   xY wc c}w # 1 sw Y   y xY w)Nr
  *   T)皙?r
  g?r(   r  )rX   random_splitrE   r   rG   ra   rH   testingassert_array_equalr.   rh   r   r]   r\   r   rq   rr   rd  updaters   )r+   r,   r  b2partsr   namess          rQ   test_random_partitionsr	    s   >>3*b)DAqa&&&a&&&77aggJJ!!!''6!''?;qyy{c!))+..#d);;;^^S#J+FB88qww88qww>>3*b$/DAq^^S#JD1FBaa	~	& @


%%aggvagg?@ NN?B/E#$QWW$E$	LL!''177#$u:??	z	" '	Sz2&' '@ @ %' 's   +>JJ 2J%J%J.c                     t        j                  g dd      } t        j                  | d      }t	        |j                         | j                                y )N)+?Cl @Cl@X9v?Zd;@Zd;	@r+   r   r%   rn   )rF   rL   r   r   r   round)r   r   s     rQ   test_series_roundr    s9    	=C	HB
rq)Aaggi$rS   c                   
 t        j                  g dt        d      dg d      } t        j                  | d      

j                  g d      }|j                  dk(  sJ t        
|       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                  j                  dd      t        d            }|j                  }t        dd      D ]b  }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                  |      }|j                  t!        |      k(  sJ t        ||       |j                  |      }	|	j                  t!        |      k(  sJ t        |j                  |	       ~ ddgg d g d!fD ]~  }|j                  |d"#      }|j                  t!        |      k(  sJ t        ||       |j                  |d"#      }	|	j                  t!        |      k(  sJ t        |j                  |	        e 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                  |      }|j                  t!        |      k(  sJ t        ||       |j                  |      }	|	j                  t!        |      k(  sJ t        |j                  |	       ~ t        d/      t        d0      t        d1      fD ]~  }|j                  |d"#      }|j                  t!        |      k(  sJ t        ||       |j                  |d"#      }	|	j                  t!        |      k(  sJ t        |j                  |	         y )2Nr  abdabdr  rc  r-   r$   rU   r   rf  rg  r;   r   rg  rU   rf  r#   r   F   )rU   rf  r   rg  )rU   rU   r   rg  c                D    j                  |       j                         S )Nr;   )r  r]   )divr+   s    rQ   r   z"test_repartition.<locals>.<lambda>  s    (D(L(L(N rS   r2   r(   abxyzrZ  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   r'   r(   r3   rU   T)r<   forcer   )
r3   r0   r2   r)   r(   r'   r%   r$   r#   r   r   ajajjadjabfjahjjacdjadfijabdefgijYadijmacmrxzYajz)rF   rG   r   r   r   r  r<   r   rq   rr   rs   rH   r   r   r7   r  r@  )rO   r,   r  r   r   r   r   r   rddfrdsr+   s             @rQ   test_repartitionr*    s   	 tH~6>V
B 	r1A	 01A;;****aO 
R	R	
	
B	R 
 	3N	

 ,,ryyq!,d7m
DC	B1a[ "nnS!$UU#s"bF$	
 	"C ??S?1D>>U3Z///c4 ..3./C==E#J...ceeS!!	"& Hm-=> 	"C??S?=D>>U3Z///c4 ..3d.;C==E#J...ceeS!	"1"B ,,,3QR< C 
B1a[  "nnS!$UU#s"bJKKLLLM

 	"C ??S?1D>>U3Z///c4 ..3./C==E#J...ceeS!#	"( NDNDLA 	"C??S?=D>>U3Z///c4 ..3d.;C==E#J...ceeS!	"3 "rS   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                         y )Nr  r  r  rc  r-   r  r;   )
rF   rG   r   r   r  rE   r<   r   r   rL   r   s     rQ   $test_repartition_on_pandas_dataframer,  $  s    	 tH~6>V
B ..'7
8Cc2<<(((==,,,,c2
..)9
:Cc299%%%==,,,,c244rS   	use_indexr   )r#   r$   r'   r(   kr  zM8[ns]	transformc                    | S r   rk   r   s    rQ   r   r   7      " rS   c                    | j                   S r   r   r   s    rQ   r   r   7  
     rS   c                   t        j                  g ddz  t        d      dz  dt        j                  t        t	        dd            dz  |      	      } ||      }t        j                  ||| 
      }|j                  |      }t        ||       |j                  |k(  sJ t        t        t        |j                              sJ y )Nr  rU   r  r  r   rd  r$   r  r-   r  rn   )rF   rG   r   rL   r  r   r   r  r   ro   r?   r  r   
partitions)r-  r   r.  r  r/  rO   r+   r,   s           rQ   test_repartition_npartitionsr6  3  s     
 2%DNR,?@iiU1b\*Q.e<
B 
2B
rqy9A	!$AaO==As3%&&&rS   r$   r(   partition_size1kiBi{  c                    | S r   rk   r   s    rQ   r   r   H  r1  rS   c                    | j                   S r   r   r   s    rQ   r   r   H  r3  rS   c                   t        j                  g ddz  t        d      dz  dt        j                  g ddz              } ||      }t	        j
                  |||       }|j                  |      }t        ||d	
       t        j                  |j                  t        d      j                         dk        sJ t        j                  |j                  |j                               }t        t!        t"        |            sJ y )Nr  rU   r  r  rc  r-   r  r7  Fr  Tdeepi   )rF   rG   r   rL   r   r   r  r   rH   r?   r  r   r]   ri   get__dask_keys__r  r   )r-  r   r7  r/  rO   r+   r,   r  s           rQ   test_repartition_partition_sizerB  E  s    
 
 2%DNR,?@ii0256
B 
2B
rqy9A	^4AaE*66!""?">FFHDPQQQHHQVVQ__./Es3rS   c                     t        j                  dt        d      i      } t        j                  | d      }|j                  d      }|j                  dk(  sJ y )Nr7   rU   r$   rn   z1 MiBr<  r#   )rF   rG   r  r   r   r  ro   r  s      rQ   #test_repartition_partition_size_argrD  W  sK    	sE"I&	'B
rq)A	W-A==ArS   c                    t        j                  dg dit        j                  d      t        j                  d      t        j                  d      g      } t        j                  | d      }|j                  d	       y )
Nr7   r"   r  z2017-05-09 02:45:00.017999r  r-   r$   rn   rU   )rF   rG   r  r   r   r  r   s     rQ   (test_repartition_npartitions_same_limitsrF  ^  sd    		iLL56LL56LL56

B ..
+COOO#rS   c                     t        j                  dt        d      i      } t        j                  | d      }|j
                  dk(  sJ |j                  d      }t        ||       y)z}
    Test that we cover numeric edge cases when
    int(ddf.npartitions / npartitions) * npartitions) != ddf.npartitions
    r7   rx   r  rn   rF  N)rF   rG   r  r   r   ro   r  r   r  s      rQ   .test_repartition_npartitions_numeric_edge_caserH  m  sV    
 
sE#J'	(B
rr*A==B	"%AaOrS   c                 ^   t        j                  dg ddz  it        d      dz        } t        j                  | d      }|j                  d      }|j                  dk(  sJ t        ||        |j                  d      }|j                  dk(  sJ t        ||        |j                  rJ y )	Nr7   r  rU   r  r-   r(   rn   r$   )	rF   rG   r   r   r   r  ro   r   r   r  s      rQ   test_repartition_object_indexrJ  y  s    	s.34DNR<O	PB
rq)A	!$A==Aa	"%A==Ba     rS   c                    t        j                  t        d            } t        j                  | D cg c]  }t	        ddddd      t        |      z     c}d      | _        t        j                  | d	
      }|j                  d	k(  sJ t        | |       |j                  d
      }|j                  dk(  sJ t        | |       y c c}w )NrU   i  r#   r  r   )minutesTutcr$   rn   r(   )rF   rL   r  to_datetimer   r   r.   r   r   ro   r   r  )r   r7   r   r  s       rQ   "test_repartition_datetime_tz_indexrP    s     			%)AnnEFG$1b!	$y';	;GTAG 
q	)B>>Qa^^^*F"""a 	Hs   #Cro   )r#   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:00rY  c                \   t        j                  |      }t        j                  |      }t        j                  ||d      }t        j                  dt	        j
                  t        |            i|      }t        j                  ||       }|j                  |      }t        ||       y )N60s)rW  rV  r   r7   r-   rn   r   )rF   r  r   rG   rH   r>  r   r   r   r  r   )ro   r   rW  rV  r   rO   r   r  s           rQ   test_repartition_freqr]    s~     LLE
,,s
C
--e5
9C	sBIIc#h/0	<B
..
5C???%DdBrS   c                 D   t        j                  dt        j                  j                  d      it        j                  t        j                  j                  d      dz              } t        j                  | d      }|j                  d      }|j                  d	d
 D ]  }||j                  d      k(  rJ  |j                  d   | j                  j                         k(  sJ |j                  d
   | j                  j                         k(  sJ t        ||        y )Nr7   rU   g   vH7Br-   r%   rn   15sr\  r#   rp   r   )rF   rG   rH   r   DatetimeIndexr   r   r  r<   r  r.   minmaxr   )rO   r   r  r  s       rQ   test_repartition_freq_divisionsrc    s    		biir"#ryy//3e;<
B ..
+C???&D~~a# 'cii&&&&'>>!...>>"///dBrS   c                 H   t        j                  dg di      } t        j                  | d      }t	        j
                  t              5 }|j                  d       d d d        dt        j                        v sJ dt        |j                        v sJ y # 1 sw Y   <xY w)	Nr7   r"   r#   rn   1sr\  only
timeseries)
rF   rG   r   r   rq   rr   r   r  r   r   )rO   r   r  s      rQ   test_repartition_freq_errorsrh    s    	sI&	'B
..
+C	y	! #TT"# S_$$$3tzz?***	# #s   
BB!c            	     f   t        j                  ddd      } t        j                  t        j                  j                  ddt        |       df      t        d	      | 
      }t        j                  |d      j                  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 y )Nz2015-01-01 00:00z2015-05-01 23:5010minr\  r   rx   r'   rK  ABCDrJ  r#   rn   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:00r(   )rF   r   rG   rH   r   randintr   r   r   r   r  r   r<   r  ro   )tsrO   r   s      rQ   test_repartition_freq_monthrp    s    	)+=G	LB	
		!SB|4d6lRT
B ..
+
7
7T
7
BCb#==
()
()
()
()
()
()    ??arS   c                    t        j                  d      t        j                  d      t        j                  d      t        j                  d      g} t        j                  | ddi      }t        j                  |d      j                  d      }t        ||       |j                  d	k(  sJ |j                  t        j                  d      t        j                  d      t        j                  d      fk(  sJ y )
Nz2020-1-1z2020-1-2r   )r.   r  r#   rn   r   r\  r$   )	rF   r  rG   r   r   r  r   ro   r<   )r.   r   r   s      rQ   test_repartition_freq_dayrr    s    
Z 
Z 
Z 
Z 	E ,,U%
8C
..!
,
8
8c
8
BCc3??a==
Z 
Z 
Z    rS   zfreq, expected_freq)r   rm  MEr   rm  )rm  rm  )2M2MS)QQS)zQ-FEBzQS-FEB)2Q2QS)z2Q-FEB2QS-FEB)rz  rz  )BQBQS)2BQ2BQS)SMSMSr   YSASYA-JUNzYS-JUNzAS-JUNzY-JUNBABYSBAS2BA2BYS2BASBYr#   secondsc                ~   t        j                         }t        r<| dv s| ddt        j                  d      dfvrt        j                  t        d      }n=t        r7| ddt        j                  d      dfvrt        j                  t        d	      }|5  t        |       }||k(  sJ 	 d d d        y # 1 sw Y   y xY w)
N)r   r  r  r  rs  rm  r#   r  rz  zInvalid frequencyrv   z5is deprecated and will be removed in a future version)r  r  r   rF   	Timedeltarq   rr   rs   r   r{   rs  r   )r   expected_freqr  new_freqs       rQ   test_map_freq_to_period_startr    s    > 
 
 
"C++dBLL$;YGGmmJ.AB	4dBLL4KY'WWll!X
 
 ),T2=((() ) )s   B33B<c                 l   t        j                  dg di      } t        j                  | d      }t	        j
                  t              5  |j                  dd d g       d d d        t	        j
                  t              5  |j                  dd       d d d        y # 1 sw Y   ?xY w# 1 sw Y   y xY w)	Nr7   r"   r#   rn   r(   )ro   r<   5MiB)ro   r7  )rF   rG   r   r   rq   rr   rs   r  r   s     rQ   test_repartition_input_errorsr  	  s    	sI&	'B
..
+C	z	" ?A$>?	z	" >Af=> >? ?> >s   
BB*B'*B3c                    t        j                  g dt        d      dg d      } t        j                  | d      }t        |j                  j                  d      | j                  j                  d             |j                  j                  d      j                         j                  dk(  sJ t        |j                  j                         | j                  j                                t        |j                  j                  dd      | j                  j                  dd             t        |j                  j                  dd      | j                  j                  dd             t        |j                  j                         | j                  j                                t        |j                  j                         | j                  j                                t        |j                         | j                                t        |j                         | j                                t        |j!                  d	
      j                               t        |       k  sJ y )Nr#   r$   r%   r'   Nr)   r  r  rc  r-   r$   float32r'   r
  frac)rF   rG   r   r   r   r   r7   r  r]   r  rK   betweenrv  notnullisnullr   samplerO   r+   s     rQ   'test_embarrassingly_parallel_operationsr   	  s~   	#$x.9&
B 	r1Aaccjj#RTT[[%;<33::i ((*00I===accjjlBDDKKM*acckk!Qa!34acchhq!nbddii1o.acckkmRTT\\^,accjjlBDDKKM*aiik2::<(ahhj"))+&qxxSx!))+,s2w666rS   c                    t        j                         } t        j                  | dd      t	        j                  d      | j                  d             t	        j                  j                  d      | j                  j                  d             t	        j                  j                  d   j                               | j                  j                  | d   j                                      t	        j                  dd      | j                  dd             t        j                  t        fd       y )	Nr(   Fr  rx   r   r#   rK  c                 >     j                   j                  dd      S )Nr   r#   rK  )r   fillnar   s   rQ   r   ztest_fillna.<locals>.<lambda>A	  s    ceell11l&= rS   )r   makeMissingDataframer   r   r   r  r   r>   rq   rr   rs   r   s    @rQ   test_fillnar  8	  s    		%	%	'B
..
7Ccjjoryy~.ceell3S!12ceell3s8==?+RTT[[C-HIcjj1j%ryy1y'=>
MM*=>rS   c                    t        j                         } t        j                  | dd      t	        j                         | j                                t	        j                  j                         | j                  j                                t	        j                  d      | j                  d             t	        j                  j                  d      | j                  j                  d             t	        j                  d      | j                  d             t	        j                  dd      | j                  dd             t        j                         } t        j                  | j                  d d	d
f<   t        j                  | dd      t        j                  t        fd       t	        | j                  d      j                  d             y )Nr(   Fr  r$   limitr#   rK  )r  rL  r  r   c                 @     j                         j                         S r   )ffillr]   r   s   rQ   r   ztest_ffill.<locals>.<lambda>R	      ciik&9&9&; rS   r%   )r   r  r   r   r   r  r   rH   rI   r]  rq   rr   rs   r   s    @rQ   
test_ffillr  D	  sK   		%	%	'B
..
7Cciik288:&ceekkmRTTZZ\*ciiai "((("34ceekkk"BDDJJQJ$78ciiQiq!12ciiaai("(((*CD		%	%	'BffBGGCRCFO
..
7C
MM*;<bhhQh!34rS   c                 *   t        j                         } t        j                  | dd      t	        j                         | j                                t	        j                  j                         | j                  j                                t	        j                  d      | j                  d             t	        j                  j                  d      | j                  j                  d             t        j                         } t        j                  | j                  d ddf<   t        j                  | dd      t        j                  t        fd       t	        | j                  d	      j                  d	             y )
Nr(   Fr  r$   r  r  r   c                 @     j                         j                         S r   )bfillr]   r   s   rQ   r   ztest_bfill.<locals>.<lambda>c	  r  rS   r%   )r   r  r   r   r   r  r   rH   rI   r]  rq   rr   rs   r   s    @rQ   
test_bfillr  V	  s   		%	%	'B
..
7Cciik288:&ceekkmRTTZZ\*ciiai "((("34ceekkk"BDDJJQJ$78		%	%	'BffBGGCRCFO
..
7C
MM*;<bhhQh!34rS   optimizec                
   t         dz   dz   }|j                  |       }t        |      |j                  k(  sJ t         j                  j                         j                  |       }|D cg c]
  }|dz  |z
   }}|D ]  }|j                  j                           t        j                  |||j                        }|dz
  dz
  }t        |t        dz   dz  t        j                  j                         z
  dz
         y c c}w )Nr#   )optimize_graphr$   )r  r<   )rX   
to_delayedr   ro   r+   r>   ri   validater   from_delayedr<   r   r\   )r  r   r	   dmr7   delayed2df3df4s           rQ   test_delayed_roundtripr  g	  s    
a%!)CnnHn5Gw<3??***	
		h		7B$+,qA
,H, 	 //(
FC
'A+CcD1H>DFFKKM1A56 -s   +D c                    t         j                  d        }  |        g}t        j                  |t	        t
                    }t        j                  t              5  |j                          ddd       y# 1 sw Y   yxY w)zBEnsure that the graph is 100% lazily evaluated if meta is providedc                     t               r   )RuntimeErrorrk   rS   rQ   raise_exceptionz@test_from_delayed_lazy_if_meta_provided.<locals>.raise_exception|	  s
    nrS   r+   r  N)
ri   r	   r   r  r  r  rq   rr   r  r]   )r  tasksr   s      rQ   'test_from_delayed_lazy_if_meta_providedr  y	  se     
\\  E
//%dUm
4C	|	$   s   A77B c                    t         j                  d        } t        j                   |         |        gt	        t
        t
                    }|j                  j                  |j                        |_        |j                          y )Nc                 b    t        j                  t        dgt        j                  g            S )Nr  r*   )rF   rG   r  rH   rI   rk   rS   rQ   r   z&test_fillna_duplicate_index.<locals>.f	  s     ||DC5RVVH566rS   r*   r  )
ri   r	   r   r  r  r  r,   r  r+   r]   )r   r   s     rQ   test_fillna_duplicate_indexr  	  sZ    	\\7 7 //13*4%5+A
BCEELLCEKKMrS   c                    t        j                         } t        j                  | dd      }t	        |j
                  j                  |j                        | j
                  j                  | j                               t	        |j                  j                  |j
                        | j                  j                  | j
                               y )Nr(   Fr  )r   r  r   r   r   r   r  r   r   s     rQ   test_fillna_multi_dataframer  	  sz    		%	%	'B
..
7Cceell355!244;;rtt#45ceell355!244;;rtt#45rS   c                    t        j                         } t        j                         }t        j                  | d      }t        j                  |d      }t	        |j                  |      | j                  |             t        j                  | dd      }t	        |j                  |      | j                  |             y )Nr(   rn   r%   Fr  )r   r  r   r   r   r  )rO   r   r   r  r  s        rQ    test_fillna_dask_dataframe_inputr  	  s    		%	%	'B

&
&
(C
..
+C>>#1-Dcjj		#/..?Kk  &		#7rS   c                    t        j                         } t        j                  | dd      }t	        |j                         | j                                t	        |j                         | j                                t	        |j                  d      | j                  d             t	        |j                  d      | j                  d             y )Nr(   Fr  r#   rK  )r   r  r   r   r   r  r  r   s     rQ   test_ffill_bfillr  	  s    		%	%	'B
..
7Cciik288:&ciik288:&ciiQiq!12ciiQiq!12rS   c                 0   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        |j                  |      | j                  |             y )
Nr#   r%   r&  r$   rn   rU   r   r  r-   )	rF   rG   rH   rI   r   r   rL   r   r  )rO   r   r  s      rQ   test_fillna_series_typesr  	  sm    	QN!RVVQ@	AB
..
+CAr73*5Jcjj$bii
&;<rS   c                    t        j                  g dt        d      dg d      } t        j                  | d      }|j                  d      }t        ||       |j                  dd	
      }|j                  dd	
      }t        ||       |j                  d      j                  |j                  d      j                  k7  sJ y )Nr  r  r  rc  r-   r$   r
  r    r  random_state)rF   rG   r   r   r   r  r   ra   )rO   r+   r,   r   rX   s        rQ   test_sampler  	  s    	#$x.9&
B 	r1A	cAaO	c-A	c-AaO888##qxxSx'9'?'????rS   c                    t        j                  g dt        d      dg d      } t        j                  | d      }|j                  dd	      }|j                  j                         }t        |      t        t        |            k(  sJ y )
Nr  r  r  rc  r-   r$   gffffff?F)r  replace)
rF   rG   r   r   r   r  r.   r]   r   set)rO   r+   r,   bbs       rQ   test_sample_without_replacementr  	  sm    	#$x.9&
B 	r1A	c5)A	
	Br7c#b'l"""rS   c                 >   t        j                  g dt        d      dg d      } t        j                  | d      }t        j                  t              5  |j                  dd	      }d d d        |j                  dd
      }t        |       t        j                  t              5  |j                  d       d d d        t        j                  t              5  |j                  d        d d d        y # 1 sw Y   xY w# 1 sw Y   JxY w# 1 sw Y   y xY w)Nr  r  r  rc  r-   r$   r
  r  )r  r  rU   r   r  )rF   rG   r   r   r   rq   r{   r|   r  r   rr   rs   )rO   r+   r,   r   s       rQ   test_sample_raisesr  	  s    	#$x.9&
B 	r1A 
k	" -HHStH,-	c-AaO	z	" 	2 
z	" 	d - -
  s$   C;+DD;DDDc                 L   t        j                  d       t        j                  g dg dd      } t	        j
                  | d      }t        |j                  d      | j                  d             t        |j                  dd	d
i      | j                  dd	d
i             y )Nnumexprr   r  r  r$   rn   zx**2 > yzx**2 > @valuer   r'   )
local_dict)rq   r0  rF   rG   r   r   r   queryr   s     rQ   
test_queryr  	  s    
	"	L|<	=B
..
+Ccii
#RXXj%9:		/wl	;
gq\:rS   zinclude, excludec           	     ~   d}t        j                  dg|z  dg|z  dg|z  t        j                  d|      d      }|d   j                  t	                     |d<   t        j                  |d	
      }|j                  | |      }|j                  | |      }t        ||       t        ||       t        ||       y )NrU   r#   r+   r  z
2016-01-01r   )cintcstrclfoatcdtr  r$   rn   r  )
rF   rG   r   r  r   r   r   select_dtypesr   r   )r  r  r   rO   r+   r  rc   s          rQ   test_select_dtypesr  	  s     	A	C!GEAIeai==q9		

B F""#3#56BvJ
rq)A__Wg_>FAHfh QVX&rS   c                    t        j                  g dg dd      } t        j                  | d      }t	        |j
                  j                  d      j                        t	        |j
                  j                  d      j                        k(  sJ t	        |j
                  j                  d      j                        t	        |j
                  j                  d      j                        k7  sJ t	        |j
                  j                         j                        t	        |j
                  j                         j                        k(  sJ t	        |j                  d      j                  j                         j                        t	        |j                  d      j                  j                         j                        k(  sJ y )Nr   r  r  r$   rn   r%   r7   )rF   rG   r   r   rh   r7   nlargestri   r  groupbyr   r>   r  s     rQ   +test_deterministic_apply_concat_apply_namesr  
  s-   	L|<	=B
rq)A!##,,q/&&'6!##,,q/2F2F+GGGG!##,,q/&&'6!##,,q/2F2F+GGGG!##%%',,-8K8K8M8R8R1SSSS!))C.""'')../6!))C.:J:J:O:O:Q:V:V3WWWWrS   c                 n   t        j                  t        d      t        dd      d      } t        j                  | d      }dd}d }|j
                  j                  ||      }t        || j
                  j                                |j                  ||      }|j                  |j                  ||      j                  k(  sJ t        || j                                |j                  ||d	d
i      }|j                  |j                  ||d	d
i      j                  k(  sJ |j                  |j                  k7  sJ t        || d
k\  j                                d }|j                  |d       }t        |t        j                  | j                         | j                         d             y )Nrf  rx   r  r'   rn   c                (    | |k\  j                         S r   r  )r7   vals     rQ   r   z'test_reduction_method.<locals>.<lambda>"
  s    a3h^^- rS   c                "    | j                         S r   r  r   s    rQ   r   z'test_reduction_method.<locals>.<lambda>#
  s    AEEG rS   )	aggregater     )r  chunk_kwargsc                j    t        j                  | j                         | j                         d      S )Nr  count)rF   rG   r  r  r   s    rQ   sum_and_countz,test_reduction_method.<locals>.sum_and_count8
  s"    ||AEEGaggi@AArS   c                B    | j                  d      j                         S )Nr   )level)r  r  r   s    rQ   r   z'test_reduction_method.<locals>.<lambda>;
  s    19919;M;Q;Q;S rS   r  r   )rF   rG   r  r   r   r7   	reductionr   r  ra   r  )rO   r   chunkaggr   r  r  s          rQ   test_reduction_methodr  
  sh   	E"IE"cN;	<B
..
+C-E
C %%//%3/
/Cc244::<  ---
-C99es;AAAAAc288: ==#UBK=HD

==#UBK=HNN	O	O ::"""dR2XNN$%B --1S-
TCc2<<288: FGHrS   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                        j
                  j                         k(  sJ  |d	      } |d
      }|j                  |j                  k7  sJ  |d	      j                         dk(  sJ j                  dd	      }|j                         dk(  sJ j                  dd	      }|j                         dk(  sJ t        j                  t              5   |d       d d d        t        j                  t              5  j                  d	t        d      t        d      t        d             d d d        y # 1 sw Y   axY w# 1 sw Y   y xY w)Nr#   rg  r  rn   c                (    | j                         |z   S r   r  r7   constants     rQ   r  z0test_reduction_method_split_every.<locals>.chunkD
  s    uuw!!rS   c                .    | j                         |z   dz   S r   r  r   s     rQ   r  z2test_reduction_method_split_every.<locals>.combineG
      uuw!A%%rS   c                .    | j                         |z   dz   S r   r  r   s     rQ   r  z.test_reduction_method_split_every.<locals>.aggJ
  r  rS   c           
     p    j                  t        d      t        d      t        d      |       S )Nr  r  r  r  )r  r  r  combine_kwargsaggregate_kwargsr   )r  r  )r   r  r  r  r   s    rQ   r   z3test_reduction_method_split_every.<locals>.<lambda>M
  s9    #--3'S)s+    rS   r%   r'   Fr(   r5  r  )r  r  r  r      )r  r  r      r  r  r  )r  r   r  r  r  r  )rF   rL   r   r   r   ri   keysro   ra   r]   r  rq   rr   rs   r  )	rO   r   r3r4r   r  r  r  r   s	        @@@@rQ   !test_reduction_method_split_everyr  @
  s   	A38	B
..
,C"&&	A AaD!AaD!U#AaD!R5::??#// 2 7 7 < < >>>>	
1B	
1B88rxx Q4<<><<<<
--g  C ;;=????
--s-
JC;;=5555 
z	" 	! 
z	" 
s+-!3/ 	 	

 
	 
 
s   	G*+6G6*G36G?c                 T   t        j                  t        d      t        dd      d      } t        j                  | d      }d
d}t        |j                  |dd	       ||dd	             t        |j                  j                  |dd	       ||j                  dd	             y )Nrf  rx   r  r'   rn   c                    | |z   |z   S r   rk   ra  s      rQ   r   ztest_pipe.<locals>.f
  s    1uqyrS   r#   r$   )rb  r  )rF   rG   r  r   r   r   piper7   )rO   r   r   s      rQ   	test_piper  {
  s    	E"IE"cN;	<B
..
+C chhq!qh!1S!q>2ceejjAj#Qsuua1%56rS   c                    t         j                  j                  dd      } t        j                  | ddg      }t        j                  |d      }|j                  j                         j                         dk(  sJ t        j                  t        j                  ||g      d      }|j                  j                         j                         dk(  sJ y )Nrx   r$   r+   r,   rZ  r(   )rH   r   r   rF   rG   r   r   r.   nuniquer]   r  )arrrO   r   r  s       rQ   test_gh_517r  
  s    
))//#q
!C	cC:	.B
..Q
C99&&(C///>>"))RH-q1D::'')S000rS   c                    t        j                  g dg dg dd      } t        j                  | d      }t	        |j                  dd	      | j                  dd	             t	        |j                  dd
gd	      | j                  dd
gd	             t        j                  t        t        f      5  |j                  ddgd	       d d d        t	        |j                  ddgdd      | j                  ddgdd             t	        |j                  dd
g      | j                  dd
g             y # 1 sw Y   nxY w)Nr   r  )r3   rU   rF  r  ra  r$   rn   r   r#   rK  rb  r+   r7   rB   )rL  rD   rZ  )
rF   rG   r   r   r   rM   rq   rr   rs   KeyErrorr   s     rQ   test_drop_axis_1r  
  s   	L|/R	SB
..
+Cchhsh#RWWSqW%9:chhSzh*BGGS#JQG,GH	
H-	. %#s!$%#s!H5
c
84 chhSzh*BGGS#JG,GH% %s   6D99ErZ   r,   c                    t        j                  g dg dd      }t        j                  |d      }|j	                  |       }|d   dz   |d	<   t        |j	                  |       |       y )
N)r$   r'   r)   r0   )1a2b3c4dr*   r$   rn   rZ  r+   r#   new)rF   rG   r   r   rM   r   )rZ   rO   r   r  s       rQ   test_drop_columnsr   
  se    
 
)	

B ..
+C88G8$DSACJbgggg&-rS   c                 p   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                y )Nr7   rU   r  r$   )	rF   rG   rH   r>  r  r   r   r   cosr   s     rQ   
test_gh580r#  
  sv    	sBIIb67	8B
..Q
CbffRWorvvc#h/0bffRWorvvc#h/0rS   c                 v    ddd} t        t        j                  |       t        j                  |              y )Nr   r   r*   rZ  r   rX   r   r\   renamers    rQ   test_rename_dictr(  
  s,    c"Gahhwh'W)EFrS   c                 r    d } t        t        j                  |       t        j                  |              y )Nc                "    | j                         S r   ru  r   s    rQ   r   z&test_rename_function.<locals>.<lambda>
  s    	 rS   rZ  r%  r&  s    rQ   test_rename_functionr+  
  s'    !Gahhwh'W)EFrS   c                 H     ddi t        j                  t         fd       y )Nr   r#   c                 0    t         j                         S )Nr-   )rX   r   r&  s   rQ   r   z#test_rename_index.<locals>.<lambda>
  s    ahhWh&= rS   )rq   rr   rs   r&  s   @rQ   test_rename_indexr.  
  s    !fG
MM*=>rS   c                    t        j                  ddd      } t        j                  g dg dd|       }t        j                  |d	
      }t        |j                         |j                         d       t        |j                  dd      j                         |j                  dd      d       t        |j                  j                         |j                  j                         d       t        |j                  j                  dd      j                         |j                  j                  dd      d       t        j                  |d
      }t        |j                  d      |j                  d             t        |j                  j                  d      |j                  j                  d             y )Nr  z1/1/2001z	12/1/2004)r   rW  rV  r   rU   r   rd  re  r  r-   r%   rn   F)
check_freqr   r   )r   r@   r'   rV  rh  )	rF   period_rangerG   r   r   r   to_timestampr]   r7   )r.   rO   r   s      rQ   test_to_timestampr4  
  sZ   OOJKHE	L/?@	NB
..
+Cc "//"3Fcs+335
Sc*
 cee  "BDD$5$5$7EJ-557
s, ..
+Cc5)2??u?+EFcee  U +RTT->->5->-IJrS   c                    t        j                  g dd      } t        j                  | d      }t	        | j                         |j                                t	        | j                  d      |j                  d             y )Nr"   r   r   r$   rn   bar)rF   rL   r   r   r   to_frame)r   r+   s     rQ   test_to_framer8  
  sT    
		)%(A
qa(AajjlAJJL)ajjE!23rS   as_framec                   t        j                  g dd      }t        j                  |d      }| r|j	                         }t        j                  t        d      5  |j                  d       d d d        t        j                  t        d	      5  |j                  d
       d d d        y # 1 sw Y   ?xY w# 1 sw Y   y xY w)Nr  r   r   r$   rn   z4 != 2rv   r   zUnexpected valuer(   )	rF   rL   r   r   r7  rq   rr   rs   to_dask_array)r9  r   r+   s      rQ   test_to_dask_array_raisesr<  
  s    
		$51A
qa(AJJL	z	2 &	%& 
z);	< 	 & & s   B.B:.B7:Cc                   t        j                  g dd      }t        j                  |d      }| r|j	                         }|j                         }t        |t        j                        sJ |j                  }| rt        |      dk(  sJ |d   dk(  sJ t        |      dk(  sJ |d   }t        |      dk(  sJ t        d	 |D              sJ y )
Nr  r   r   r$   rn   r#   r  r   c              3  F   K   | ]  }t        j                  |        y wr   )rH   isnanr  s     rQ   r   z-test_to_dask_array_unknown.<locals>.<genexpr>  s     +qrxx{+s   !)rF   rL   r   r   r7  r;  rE   r=  ArrayrX  r   r?   )r9  r   r+   r  s       rQ   test_to_dask_array_unknownrA  
  s    
		/.A
qa(AJJL__Ffbhh''']]F6{aayD   6{aAYFv;!+F++++rS   zlengths,as_frame,metar$   r$   r#   )TFNr  r  c                   t        j                  g ddd      }t        j                  |d      }|r|j	                         }|j                  ||       }t        |t        j                        sJ d}|r|d	z   }|j                  |k(  sJ y )
Nr  r   r  rW   r  r$   r  )lengthsr  rB  )r  )
rF   rL   r   r   r7  r;  rE   r=  r@  rX  )r  r9  rE  r   r+   r  expected_chunkss          rQ   test_to_dask_arrayrH    s~     			/T:A
qA&AJJL__W4_8Ffbhh'''"O)G3==O+++rS   c                 :   t        j                  g ddd      } t        j                  |       }|j	                  d      }t        |t        j                        sJ | j                  f}|j                  |k(  sJ t        j                  | j                  |       y )Nr  r   r  rD  T)rE  )rF   rL   r   r   r;  rE   r=  r@  rN  rX  r   r  )r   r+   r  rG  s       rQ   #test_to_dask_array_single_partitionrJ  %  su    
		/T:A
qA__T_*Ffbhh'''wwjO==O+++LL6"rS   c                 R   t        j                  g dg dd      } t        j                  | d      }t	        |j
                  j                  d dt        f      | j
                  j                  d	              t	        |j                  d
 dd t        f      | j                  d d             t	        |j                  d dd t        f      | j                  d d             t        j                         5  t        j                  dt               t	        |j                  d d      | j                  d d             d d d        t        j                         5  t        j                  dt               t	        |j                  d d      | j                  d d             d d d        d }t	        |j
                  j                  |dt        fdt        fg      | j
                  j                  |             t        j                         5  t        j                  dt               t	        |j
                  j                  |      | j
                  j                  |             d d d        t        j                  t              5  |j                  d d       d d d        t        j                  t              5  |j                  d d       d d d        y # 1 sw Y   xY w# 1 sw Y   JxY w# 1 sw Y   xY w# 1 sw Y   fxY w# 1 sw Y   y xY w)Nr   r0  r  r$   rn   c                    | dz   S r   rk   r   s    rQ   r   ztest_apply.<locals>.<lambda>5  
    a!e rS   r7   r  c                    | dz   S r   rk   r   s    rQ   r   ztest_apply.<locals>.<lambda>5  s    APQE rS   c                @    | j                   d   | j                   d   z   S r  r]  xys    rQ   r   ztest_apply.<locals>.<lambda>:      RWWQZ"''!*4 rS   r#   rL  r  c                @    | j                   d   | j                   d   z   S r  rP  rQ  s    rQ   r   ztest_apply.<locals>.<lambda>;      BGGAJ3 rS   rK  c                @    | j                   d   | j                   d   z   S r  rP  rQ  s    rQ   r   ztest_apply.<locals>.<lambda>>  rS  rS   rZ   c                @    | j                   d   | j                   d   z   S r  rP  rQ  s    rQ   r   ztest_apply.<locals>.<lambda>?  rV  rS   rB   c                @    | j                   d   | j                   d   z   S r  rP  rQ  s    rQ   r   ztest_apply.<locals>.<lambda>F  s    bggaj!8 rS   c                @    | j                   d   | j                   d   z   S r  rP  rQ  s    rQ   r   ztest_apply.<locals>.<lambda>G  s    
RWWQZ 7 rS   c                    | S r   rk   rQ  s    rQ   r   ztest_apply.<locals>.<lambda>K  s    r rS   c                    | S r   rk   rQ  s    rQ   r   ztest_apply.<locals>.<lambda>K  s     rS   c                0    t        j                  | | g      S r   rF   rL   r   s    rQ   r   ztest_apply.<locals>.<lambda>N  s    RYY1v& rS   r   c                    | S r   rk   rQ  s    rQ   r   ztest_apply.<locals>.<lambda>W      R rS   c                    | S r   rk   rQ  s    rQ   r   ztest_apply.<locals>.<lambda>Z  r`  rS   r.   )rF   rG   r   r   r   r7   applyrw  r}   r~   r1  r|   rq   rr   rN   )rO   r   r\  s      rQ   
test_applyrc  0  sq   	L/?@	AB
..
+CO3*5rttzz/7R
 		41D#;	O
3!< 		49DRU;	W
3)D 
	 	 	" 
h4II8qIAHH7aH@	

 
	 	 	" Uh4#))M)2BHH]QRH4STU
 'Dceekk$q#hC%9k:BDDJJt<LM		 	 	" 7h4#%%++d#RTTZZ%567
 
*	+ )		-a	() 
*	+ /		-g	./ /-
 
U U7 7
) )/ /s?   >AK+%AK8ALLL+K58LLLL&c                    t        j                  g dg dd      } t        j                  | d      }d }t	        j
                  t              5 }|j                  |d       d d d        t              dk(  sJ t        j                  d	
      5 }|j                  |dd t        f       d d d        rJ t	        j
                  t              5 }|j                  d d       d d d        t        |      dk(  sJ dt        |d   j                        v sJ dt        |d   j                        v sJ y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   jxY w)Nr   r0  r  r$   rn   c                    | d   | d   z   S )Nr7   r   rk   )rH  s    rQ   r   z"test_apply_warns.<locals>.<lambda>a  s    s3x#c(* rS   r#   rK  Try   rT  c                    | S r   rk   r   s    rQ   r   z"test_apply_warns.<locals>.<lambda>l  s    A rS   z'x'r   r  )rF   rG   r   r   rq   r{   r|   rb  r   r}   r~   rw  r   message)rO   r   r\  wrz   s        rQ   test_apply_warnsri  ]  s*   	L/?@	AB
..
+C*D	k	"  a		$Q	 q6Q;;		 	 	- 2		$QdC[	12:	k	" 'a		+A	&'q6Q;;C!%%%%c!A$,,''''   2 2' 's$   D8EE8EEEzNot available before	na_actionrB   c                   t        j                  dddt        j                  gg dd      }t	        j
                  |d      }t        j                  t        d      5  t        |j                  d	 | 
      |j                  d | 
             t        |j                  d       |j                  d              d d d        y # 1 sw Y   y xY w)Nr#   r$   r%   r0  r  rn   r  rv   c                    | dz   S r   rk   r   s    rQ   r   z$test_dataframe_map.<locals>.<lambda>y  rM  rS   )rj  c                    | dz   S r   rk   r   s    rQ   r   z$test_dataframe_map.<locals>.<lambda>z  s
    QU rS   c                
    | | fS r   rk   r   s    rQ   r   z$test_dataframe_map.<locals>.<lambda>|  s
    QF rS   c                
    | | fS r   rk   r   s    rQ   r   z$test_dataframe_map.<locals>.<lambda>|  s
    q!f rS   )rF   rG   rH   rI   r   r   rq   r{   r|   r   r  )rj  rO   r   s      rQ   test_dataframe_maprp  r  s     
Q1bff-4DE	FB
..
+C	k	0 GGGOyG9FF?iF8	
 	#''*+RVV4D-EFG G Gs   ACCzAvailable at 2.1c                     t        j                  g dg dd      } t        j                  | d      }t	        j
                  t        d      5  |j                  d        d d d        y # 1 sw Y   y xY w)	Nr   r0  r  r$   rn   zDataFrame.map requires pandasrv   c                    | dz   S r   rk   r   s    rQ   r   z+test_dataframe_map_raises.<locals>.<lambda>  s
    !a% rS   )rF   rG   r   r   rq   rr   rN   r  r   s     rQ   test_dataframe_map_raisesrs    sW    	L/?@	AB
..
+C	*2Q	R ! ! ! !s   A++A4c                 :   t        j                  g dg dd      } t        j                  | d      }t	        |j                  d      | j                  d             t	        |j                  j                  d      | j                  j                  d             y Nr  r'   r(   r)   r2   r0   r  r$   rn   abc)rF   rG   r   r   r   
add_prefixr7   r   s     rQ   test_add_prefixry    g    	O/B	CB
..
+CcnnU#R]]5%9:ceeu%rttu'=>rS   c                 :   t        j                  g dg dd      } t        j                  | d      }t	        |j                  d      | j                  d             t	        |j                  j                  d      | j                  j                  d             y ru  )rF   rG   r   r   r   
add_suffixr7   r   s     rQ   test_add_suffixr}    rz  rS   c                 z   t        j                  g dg dg dd      } t        j                  | d      }t	        |j
                  j                         | j
                  j                                t	        |ddg   j                         | ddg   j                                t        j                  t        t        t        f      5  |j                  j                          d d d        t        j                  t        t        f      5  |j                          d d d        y # 1 sw Y   BxY w# 1 sw Y   y xY w)	N)r#   r  r%   r(   )g      iiirU   r+   r,   r   rX   r   r  r$   rn   r   r   )rF   rG   r   r   r   r   absrq   rr   r   rN   rs   r  r   s     rQ   test_absr    s    	"'*	

B ..
+Cceeiik24488:&c3*o!!#Rc
^%7%7%9:		#6
C	D 				#67	8 	   s   	D%D1%D.1D:c                    t        j                  g dg dd      } t        j                  | d      }t	        |j                         | j                                t	        |j                  d      | j                  d             y )N)r  r  r  )r  r  r  r   r$   rn   )rF   rG   r   r   r   r  r   s     rQ   
test_roundr    sW    	4>ST	UB
..
+Cciik288:&ciilBHHQK(rS   c                   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                  k7  sJ |j                  |j                  k7  sJ |j                  |j                  k7  sJ y )Nr)   rn   rm  r   r$   rk   )rU   )r   r  r   r   covr   ra   )
rm  rO   r   rt  r   r  res3res4r  sol2s
             rQ   test_cov_dataframer    sL    
	%	%	'B
..
+C,l;
#''
'&
'C3777'7Q7D377,+,D377;+;;D
"&&
&%
&C266+*+Dc3dCdDdD995"45;;;;;99

"""::###99

"""rS   c                    t        j                         } | 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                  k7  sJ |j                  |j                  k7  sJ |j                  |j                  k7  sJ y )Nr)   rn   r$   r   rU   )	r   r  r   r   r   r   r  r   ra   )rO   r+   r,   r=  dbr   r  r  r  r  r  s              rQ   test_cov_seriesr    s0   		%	%	'B
A
A	q	)B	q	)B
"&&*C266"!$D266"b>D266"ba(D
%%(C55B<Dc3dCdDdD99r
(((((99

"""::###99

"""rS   z-https://github.com/rapidsai/cudf/issues/16560c                   t        j                  d      }|j                  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                  k7  sJ y )Ncudfr)   rn   rm  r   r$   rk   )	rq   r0  r   r   makeDataFramer   r  r   ra   )rm  r  rO   r   rt  r   r  r  s           rQ   test_cov_gpur    s     v&D 
		'//1	2B
..
+C,l;
#''
'&
'C3777'7Q7D
"&&
&%
&Cc3dC995"45;;;;;99

"""rS   c                   	
 t        j                         } 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                  k7  sJ |j                  |j                  k7  sJ |j                  |j                  k7  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                  k7  sJ |j                  |j                  k7  sJ |j                  |j                  k7  sJ t        j                  t        	
fd	       t        j                  t        	fd
       y )Nr)   rn   r$   r   rU   )min_periods)r  r   c                 (     j                  d      S NspearmanrY  corrr   s   rQ   r   ztest_corr.<locals>.<lambda>  s    sxxzx/J rS   c                 ,      j                   d      S r  r  )r=  r  s   rQ   r   ztest_corr.<locals>.<lambda>*  s    wrwwr*/M rS   c                 (      j                         S r   r  )r=  r   s   rQ   r   ztest_corr.<locals>.<lambda>+  s    WRWWS\ rS   )r   r  r   r   r  r   ra   rq   rr   rN   r   r   r   )rO   r   r  r  r  r  r  r+   r,   r=  r  r   s            @@@rQ   	test_corrr    sX   		%	%	'B
..
+C
((*C888"D888#D8882D
'')C77r7"Dc3dCdDdD99
(((((99

"""::###99

"""
MM%'JK 	A
A	q	)B	q	)B
"''"+C27721%D27722&D2772215D
"''"+C27722&Dc3dCdDdD99)))))99

"""::###99

"""
MM%'MN
MM)12rS   c                    t        j                  d      } | j                  t        j                               }t        j                  |d      }|j                         }|j                  d      }|j                         }t        ||       t        ||       |j                  |j                         j                  k(  sJ |j                  |j                  k7  sJ y )Nr  r)   rn   r$   r   )	rq   r0  r   r   r  r   r  r   ra   )r  rO   r   r   r  r  s         rQ   test_corr_gpur  .  s     v&D 
		'//1	2B
..
+C
((*C888"D
'')Cc3dC99
(((((99

"""rS   c                    t        j                         } t        j                  | d      }|j                  j                  |j                  j                  d            }|j                  j                  |j                        }t        ||       |j                  j                  |j                  j                  d      d      }t        ||       y )Nr)   rn   r   r$   r   )	r   r  r   r   r   r  r   r   r   r#  s        rQ   test_corr_same_namer  @  s     
	%	%	'B
..
+CUUZZS)*Fuuzz#%% Hfh eejjc*j:Ggx rS   r  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        |j                         |j                                t        |j                         |j                                |j                  j                  |j                        j                  j                  d
k(  sJ |j                  j                  |j                        j                  j                  d
k(  sJ y )Nr   r  r  r        @r  r  r  r  r   r-   r  r  )rF   rG   rH   rA  r[   r   r   r   r  r  r+   r,   r   r  )r  rO   r   s      rQ   test_cov_corr_metar  O  s    	,'.d;./	

 hh|)4
B ..y
1Cchhj"'')$cggi"5599SUU!!''4///55::cee""((D000rS   c                 J   t        j                  t        j                  j	                  ddd      ddg      } t        j                  | d      }t        |j                  d	
      | j                                t        |j                  d	
      | j                                y )Nrp   r#   )i -1r$   r+   r,   rZ  rf  rn   r0   r   )
rF   rG   rH   r   uniformr   r   r   r  r  r   s     rQ   test_cov_corr_stabler  `  so    	bii''A}=Sz	RB
..
,Ccgg!g$bffh/chh1h%rwwy1rS   zfails with non-numeric datac                   d}t        j                  d|      t         j                  j                  d||      t         j                  j	                  |      t         j                  j                  ddg|      t         j                  j                  ddt         j                  g|      t         j                  j                  ddt         j                  g|      dt         j                  j                  g d|      t         j                  j                  dd	g|      t         j                  j                  g d
|      d
}t        st        j                  d|d      |d<   t        j                  |      }|d   dk(  |d<   |d   j                  dt         j                        |d<   |d   j                  d      |d<   |d   j                  t              |d<   t        j                  |d      }i }| d| i} |j                   di |} |j                   dddi|}t#        ||d        |j$                  di |} |j$                  dddi|}t#        ||d       y )N  r   rk  r#   g        r  )rU   r   rd  re  rf  r+   r,   r  )
	unique_idintsfloatsboolsint_nans
float_nansr  int_categoricalcategorical_binarycategorical_nansz
2015-01-011minr   r   datesr  	hardboolsr  r   r  rq  r  r   rn   rm  r   r'   Fr=  rk   )rH   r>  r   rn  r   r  rI   r   rF   r   rG   r  r  r   r   r   r  r   r  )rm  rK  rX   rO   r   rt  rc   r  s           rQ   test_cov_corr_mixedr  h  s   & DYYq$'		!!!T!5))//$'!!1a&t!4II$$aBFF^$$?ii&&S"&&'9&E99++,@t+L ii..Sz.EII,,_4,H	A ]]<FK'
	aBkQ&B{O 23;;CHB!"67>>zJBo,,S1B{O
..
,C,l; rww,+,HSXX:!:'9:Ffh6 rvv+*+HSWW99&89Ffh6rS   c                 &   t        j                  t        j                  j                  d            } t	        j
                  | d      t        j                  d      | j                  d             t        j                  d      | j                  d             t        j                  d      | j                  d             t        j                  dd      | j                  d             t        j                  t        fd	       y )
Nrx   rU   rn   r$   r   r  r%   r   c                 &     j                  d      S )Nrl  )autocorr)dxs   rQ   r   ztest_autocorr.<locals>.<lambda>  s    R[[%5 rS   )rF   rL   rH   r   r   r   r   r  rq   rr   r   )r7   r  s    @rQ   test_autocorrr    s    
		"))""3'(A	r	*Bbkk!najjm,bkk!najjm,bkk"oqzz"~.bkk!k+QZZ];
MM)56rS   c                 N   t        j                  g dg dd      } t        j                  | d      }d }t	        j
                         5  t	        j                  dt               |j                  |d	      }d d d        t        t        j                        sJ t        j                  |j                  t        j                  d
dg             t        || j                  |d	             t	        j
                         5  t	        j                  dt               |j                  d d	      }d d d        t        |t        j                        sJ |j                   J t        || j                  d d	             d }t	        j
                         5  t	        j                  dt               |j"                  j                  |      }d d d        t        |t        j                        sJ t        j                  |j                  t        j                  ddg             t        || j"                  j                  |             t	        j
                         5  t	        j                  dt               |j"                  j                  d       }d d d        t        |t        j                        sJ |j                   dk(  sJ t        || j"                  j                  d              y # 1 sw Y   }xY w# 1 sw Y   xY w# 1 sw Y   AxY w# 1 sw Y   xY w)Nr   r0  r  r$   rn   c                p    t        j                  | j                         | j                         gddg      S )Nr  r>   r-   )rF   rL   r  r>   r   s    rQ   	return_dfz+test_apply_infer_columns.<locals>.return_df  s(    yy!%%'1668,UFODDrS   rB   r#   rK  r  r>   c                     yr   rk   r   s    rQ   r   z*test_apply_infer_columns.<locals>.<lambda>  r  rS   c                     yr   rk   r   s    rQ   r   z*test_apply_infer_columns.<locals>.<lambda>  r  rS   c                D    t        j                  | dz  | dz  gddg      S )Nr$   r%   x2x3r-   r^  r   s    rQ   
return_df2z,test_apply_infer_columns.<locals>.return_df2  s#    yy!a%Qd|<<rS   r  r  c                     yr   rk   r   s    rQ   r   z*test_apply_infer_columns.<locals>.<lambda>  r  rS   r7   c                     yr   rk   r   s    rQ   r   z*test_apply_infer_columns.<locals>.<lambda>  r  rS   )rF   rG   r   r   r}   r~   r1  r|   rb  rE   r   rY   rZ   r[   r   rL   rW   r7   )rO   r   r  r  r  s        rQ   test_apply_infer_columnsr    s^   	L/?@	AB
..
+CE
 
	 	 	" .h491-. fbll+++&.."((E6?*CDfbhhyqh12 
	 	 	" 0h4;Q/0 fbii(((;;fbhh{h34= 
	 	 	" )h4Z() fbll+++&.."((D$<*@Afbddjj,- 
	 	 	" *h4[)* fbii(((;;#fbddjj-.A. .0 0) )* *s0   .K4/L6L!7L4K>LLL$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                               y )Nr%   rn   day)r   makeTimeSeriesr   r   r   r.   r   r  rF   r[   month)rQ  r+   s     rQ   test_index_time_propertiesr    s|     A
qa(ACL   aggkk288AGGKK01aggmmRXXaggmm45rS   c                 ~   ddl m}  t        j                  t        j
                  j                  d      t        | d d       t        j
                  j                  d      j                  d      d      }t        j                  |d      }dD ],  }||fd	} |||d
d      } |||d
dd      } |||d
d      }t        ||       t        ||       |j                  |j                  k7  sJ  |||d
ddg      } |||d
ddgd      } |||d
ddg      }t        ||       t        ||       |j                  |j                  k7  sJ  ||j                  |d
      } ||j                  |d
d      } ||j                  |d
      }t        ||       t        ||       |j                  |j                  k7  r-J  y )Nr   ascii_lowercaser   float64r  r%   rn   )r  	nsmallestc                &     t        | |      |i |S r   )getattr)rO   margskwargss       rQ   r   z)test_nlargest_nsmallest.<locals>.<lambda>  s    A0O0O rS   r(   r+   r$   r   r   )r  r  rF   rG   rH   r   permutationr   r  r   r   r   ra   r+   )r  rO   r   r  r   r   r  r  s           rQ   test_nlargest_nsmallestr    s   &	&&r*ocr*+&&r*11)<	

B ..
+C& 'AOQ3aCQ/Aq##s$yyDJJ&&&QC:&aS#JA6Aq3*%#s$yyDJJ&&&q!n1!,am#s$yyDJJ&&&-'rS   c                 d   t        j                  dg di      } t        j                  | d      }t	        j
                  t        d      5  |j                          d d d        t	        j
                  t        d      5  |j                          d d d        y # 1 sw Y   >xY w# 1 sw Y   y xY w)Nr+   r"   r$   rn   zrequired positionalrv   )	rF   rG   r   r   rq   rr   r   r  r  r   s     rQ   test_nlargest_nsmallest_raisesr  	  s    	sI&	'B
..
+C	y(=	> 	y(=	>    s   B B&B#&B/c                 *   t        j                  g dg dd      } t        j                  | d      }| j	                         }|j	                         }t        d |j                  D              sJ t        ||d       | j	                  d	
      }|j	                  d	
      }t        d |j                  D              sJ t        ||d       | j                  j	                         }|j                  j	                         }t        d |j                  D              sJ t        ||d       | j                  j	                  d	
      }|j                  j	                  d	
      }t        d |j                  D              sJ t        ||d       y )Nr   r0  r  r$   rn   c              3  $   K   | ]  }|d u  
 y wr   rk   r   rX   s     rQ   r   z#test_reset_index.<locals>.<genexpr>       0QqDy0   Fr  TrM   c              3  $   K   | ]  }|d u  
 y wr   rk   r  s     rQ   r   z#test_reset_index.<locals>.<genexpr>  r  r  c              3  $   K   | ]  }|d u  
 y wr   rk   r  s     rQ   r   z#test_reset_index.<locals>.<genexpr>"  r  r  c              3  $   K   | ]  }|d u  
 y wr   rk   r  s     rQ   r   z#test_reset_index.<locals>.<genexpr>'  r  r  )	rF   rG   r   r   reset_indexr?   r<   r   r7   )rO   r   r  r   s       rQ   test_reset_indexr    s@   	L/?@	AB
..
+C
..
C
//
C0#--0000c3E*
..d.
#C
//t/
$C0#--0000c3E*
$$


C
%%


C0#--0000c3E*
$$



%C
%%



&C0#--0000c3E*rS   c                     t        j                  t        j                  dt	        d      i      d      j
                  j                         } | j                  d       y )Nr+   rU   r$   rn   )bogus_keyword)r   r   rF   rG   r  r+   r  r]   r   s    rQ   %test_dataframe_compute_forward_kwargsr  +  sA    
r||S%)$451EGGKKMAIIBIrS   c                     t        j                  dg di      } t        j                  | d      }t	        | d   |d         D ]  \  }}||k(  rJ  y )Nr7   r   r$   rn   )rF   rG   r   r   r   )r   r   r+   r,   s       rQ   test_series_iterr  0  sR    
c<()A	q	)BAcFBsG$ 1AvvrS   c                    t        j                  g dg dd      } t        j                  | d      }t	        | j                         |j                               D ]!  \  }}t        j                  |d   |d          # y )Nr   r0  r  r$   rn   r#   )rF   rG   r   r   r   iterrowsr   assert_series_equalrO   r   r+   r,   s       rQ   test_dataframe_iterrowsr  7  sd    	L/?@	AB
..
+CBKKM3<<>2 +1
qtQqT*+rS   c                     t        j                  g dg dd      } t        j                  | d      }t	        | j                         |j                               D ]  \  }}||k(  rJ  y )Nr   r0  r  r$   rn   rF   rG   r   r   r   
itertuplesr  s       rQ   test_dataframe_itertuplesr  ?  sX    	L/?@	AB
..
+CBMMOS^^%56 1AvvrS   r  c                2   t        j                  ddgddgddgddgg| 	      }t        j                  |d
      }t	        |j                         |j                               D ]2  \  }}|d   |d   k(  sJ t        |d   |d   j                                4 y )Nr#   rU   r$   r   r%   rd  r'   re  rZ  rn   r   )rF   rG   r   r   r   itemsr   r]   )rZ   rO   r   r+   r,   s        rQ   test_dataframe_itemsr  G  s     
2wB!R1b':G	LB
..
+CBHHJ		, (1tqt||!A$!'(rS   c                     t        j                  g dg dd      } t        j                  | d      }t	        | j                  d      |j                  d            D ]  \  }}||k(  rJ  y )Nr   r0  r  r$   rn   Fr-   r  r  s       rQ   *test_dataframe_itertuples_with_index_falser  U  sa    	L/?@	AB
..
+CBMMM.U0KL 1AvvrS   c                    t        j                  g dg dd      } t        j                  | d      }t	        | j                  d       |j                  d             D ]$  \  }}||k(  sJ t        |      t        |      u r$J  y )Nr   r0  r  r$   rn   r   )rF   rG   r   r   r   r  r  r  s       rQ   (test_dataframe_itertuples_with_name_noner  ]  sw    	L/?@	AB
..
+CBMMtM,cnn$n.GH "1AvvAw$q'!!!"rS   c                 `   t        j                  g dg ddg d      } t        j                  | d      }t	        |j                  t              | j                  t                     t	        |j                  j                  t              | j                  j                  t                     y )Nr#   r$   r%   Nr0  r  r-   r$   )rF   rG   r   r   r   r  r  r7   r  s     rQ   test_astyper  f  sm    	$45=M
B 	r1Aahhuoryy/0accjjU!34rS   c                    t        j                  g dg dg dd      } | j                  ddi      } t        j                  | d      }|j
                  j                  j                  sJ |j                  ddi      }|j                  j                  j                  rJ |j
                  j                  j                  sJ |j                  j                  dk(  sJ |j                         j                  j                  dk(  sJ |j                  j                  d      }|j                  j                  rJ |j                  dk(  sJ |j                         j                  dk(  sJ y )	Nr+   r,   r   r,   r   )r7   r   rb  r7   r   r  ra  r   rq  r$   r7   )rF   rG   r  r   r   r   catknownr7   r  r]   )rO   r   r  r  s       rQ   test_astype_categoricalsr  p  s   	** 	

B 
C$	%B
..Q
C5599???::sJ'(Dvvzz66::66<<:%%%<<>!!Z///	j	!Bvv||88z!!!::<+++rS   c                    t        j                  g dg dg dg dd      } t        j                  | d      }t         j                  j
                  j                  g dd	      }t         j                  j
                  j                  d	      }|j                  ||d
dd      }dD ]R  \  }}t        ||      }t        |j                  t         j                        sJ |j                  j                  |k(  rRJ  d|df|dffD ]a  \  }}|j                  j                  |      }	t        |	j                  t         j                        sJ |	j                  j                  |k(  raJ  y )Nr   )r7   r   rb  r   rb  )r,   r,   r,   r   r,   r  )r7   r   rb  otherr$   r  F)orderedrq  r  ))r7   T)r   F)rb  F)rq  FT)rF   rG   r   r   apitypesCategoricalDtyper  r  rE   r  r  r  r7   )
rO   r   rw  rq  r  rP   r  r7   r  dx2s
             rQ   test_astype_categoricals_knownr    s:   	***$		

B ..Q
C
&&,,
'
'
'
GCvv||,,U,;H ::ChZ$OPD? $
UD#!''2#6#6777uu{{e###$ -x.?#tM &ueell5!#))R%8%8999ww}}%%%&rS   c                    t        j                  g dg ddg d      } t        j                  | d      }d }t	        | j                  |      j                  j                         |j                  |      j                  j                                t	        | j                  j                  |      j                         |j                  j                  |      j                                y )Nr  r0  r  r   r-   r$   c                    | dz  dk(  S )Nr$   r   rk   r   s    rQ   isevenz%test_groupby_callable.<locals>.iseven  s    1uzrS   )rF   rG   r   r   r   r  r   r  )r+   r,   r  s      rQ   test_groupby_callabler    s    
?1AB,WA
q!A aii!!%%'6):)<)<)@)@)BCacckk&!%%'V)<)@)@)BCrS   c                    t        j                  dg di      } t        j                  | d      } | j                  j                  d       j                  | j                  j                  d       j                  k7  sJ y )Nr7   r   r#   rn   c                H    t        j                  | j                               S r   )rF   rL   ra  r   s    rQ   r   z3test_methods_tokenize_differently.<locals>.<lambda>  s    bii&8 rS   c                H    t        j                  | j                               S r   )rF   rL   rb  r   s    rQ   r   z3test_methods_tokenize_differently.<locals>.<lambda>  s    1557); rS   )rF   rG   r   r   r7   r  ra   r   s    rQ   !test_methods_tokenize_differentlyr    sh    	sL)	*B		*B
89??44;<BB	C	CrS   c                   ddl m} t        | t        j                        sJ t        |t
        j                        sJ  |        |       }}| j                  ||       |j                  |d|       |j                         }|j                         }|j                  t        t        |            t        t        |                   }||k(  sJ y )Nr   )StringIO)bufmemory_usageT)r  verboser  )ior  rE   rF   rG   r   r  getvaluer  r   r  )rO   r   r  r  buf_pdbuf_da	stdout_pd	stdout_das           rQ   _assert_infor    s    b",,'''c2<<(((ZFFGG\G2HHLHA!I!I!!#d3i.#d2h-@I	!!!rS   c                 r   t        j                  ddgddgg      } t        j                  | d      }|j	                  |d   j                  t                    }t        || j	                  | d   j                  t                           |j                  d	   t        j                  t              k(  sJ y )
Nr  r<  34r$   rn   r#   r   r   )rF   rG   r   r   r  r  rw  r   r  rH   r  rO   r   r  s      rQ   test_gh_1301r%    s    	SzC:.	/B
..
+C::Ac*:+DdBII1S 1I23;;srxx},,,rS   c                     t        j                         } t        j                  | j	                         d      }d| j
                  _        t        |j                  ddd      |        y )Nr$   rn   r.   T)rh   rM   )	r   r   r   r   r  r.   rW   r   	set_indexr   s     rQ   test_timeseries_sortedr(    sK    		"	"	$B
..)q
9CBHHMcmmGDtm<bArS   c                    t        j                         } t        j                  | j	                         d      }t        j                  t        d      5  |j                  dgg       d d d        t        j                  t        d      5  |j                  |dg          d d d        t        j                  t        d      5  |j                  d       d d d        t        j                  t        d      5  |j                  d	       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   WxY w# 1 sw Y   y xY w)
Nr$   rn   z"You tried to index with this indexrv   r   zYou tried to index with a framezhas no column|None ofr   r   )
r   r   r   r   r  rq   rr   rN   r'  r  r   s     rQ   test_index_errorsr*    s    		"	"	$B
..)q
9C	*2V	W ug	*2S	T "c3%j!"	x'>	? e	x'>	? a  " "  s0   DD!D-:D9D!D*-D69E
null_valuec                P   t        j                  g dg dd      }t        j                  |d      }t	        j
                  t        d      5  |j                  |d   j                  d	| d
|d   j                              j                          ddd       y# 1 sw Y   yxY w)z9Setting the index with some non-numeric null raises errorr   )r   r6  r   r6  )numericnon_numericr$   rn   zpresence of nullsrv   r.  r   )r   r6  r  N)rF   rG   r   r   rq   rr   rN   r'  r  r   r]   )r+  rO   r   s      rQ   test_index_nullsr/    s     
 1MN
B ..
+C	*2E	F ""j1M8J8P8P # 	
 ')  s   ABB%c                     t        j                  g dg dd      j                  d      } t        j                  | d      }|j                  |j
                        }||u sJ |j                  dd      }||u sJ y	)
z4Setting the index with the existing index is a no-opr   r#   r   r#   r   r  r7   r$   rn   Fr  N)rF   rG   r'  r   r   r.   r$  s      rQ   test_set_index_with_indexr2    sl    	L|<	=	G	G	LB
..
+C==#D3;;
--%-
(C3;;rS   c                 2   t        j                  g dg dd      } t        j                  | d      }|j	                         }|j
                  |j                  z   |d<   | j
                  | j                  z   | d<   t        | |       d|j                  vsJ y )Nr   r1  r  r$   rn   rb  )	rF   rG   r   r   copyr7   r   r   rZ   )rO   r   origs      rQ   test_column_assignmentr6    sv    	L|<	=B
..
+C88:Duusuu}CHddRTTkBsGb#dll"""rS   c                    t        j                  t        j                  j	                  d      t        j                  j	                  d      d      } t        j                  | d      }|j                         }t        j                  t        j                  j	                  d            }t        j                  |d      }|| d<   ||d<   t        | |       d|j                  vsJ t        j                  t        j                  j	                  d	            }t        j                  |d      }d
}t        j                  t        |      5  ||d<   d d d        t        j                  t        j                  j	                  d            }t        j                  |d      }d}t        j                  t        |      5  ||d<   d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nrf  rk  r  r$   rn   r  rW  rb  )rf  rf  z)Array assignment only supports 1-D arraysrv   rU   z!Number of partitions do not match)rF   rG   rH   r   normalr   r   r4  rA  r=  
from_arrayr   rZ   rq   rr   rs   )rO   r   r5  r  darrr   s         rQ   test_array_assignmentr;    s|   	BII,,",5BII<L<LRT<L<UV	WB
..
+C88:D
((299###,
-C==R(DBsGCHb#dll"""
((299###2
3C==R(D
5C	z	- C ((299###,
-C==R(D
-C	z	- C   s   GG#G #G,c                 `   t        j                  dg di      } t        j                  | d      }| j	                  | j
                  dz   | j
                  dz
        }|ddg   | d	d
g<   |j	                  |j
                  dz   |j
                  dz
        }|ddg   |d	d
g<   t        | |       y )Nr7   r   r$   rn   r#   )r   rb  r   rb  r+   r,   )rF   rG   r   r   r  r7   r   )rO   r   r  r  s       rQ   test_columns_assignmentr=  (  s    	sL)	*B
..
+C
))bddQh"$$()
+C#s_BSzN::	SUUQY:/DC:&Cc
Ob#rS   c                    t        j                  g dg dd      } t        j                  | d      }|j                  |j
                  z   |_        t        || j                  | j                  | j
                  z                y )Nr  r  r  r  r        @r  r$   rn   r#  )rF   rG   r   r   r7   r   r   r  r   s     rQ   test_attribute_assignmentrA  5  sZ    	O2KL	MB
..
+CEECEEMCEc299rttbdd{9+,rS   c                    t        j                  t        j                  dt	        d      i      d      } t        j                  t        j
                  t	        d      d      d      }|| d<   t        |       dk(  sJ y )	Nr   r  r%   rn   r   r   r'   r  )r   r   rF   rG   r  rL   r   r*   s     rQ   test_setitem_triggering_realignrC  =  s\    
r||S%)$451EA
ryyr51EAAcFq6R<<rS   c                    t        j                  g dg dd      } t        j                  | d      }|dxx   dz  cc<   t	        |j
                  | j
                  dz         t	        || j                  | j
                  dz               y )	Nr  r?  r  r$   rn   r   r
  r#  )rF   rG   r   r   r   r   r  r   s     rQ   test_inplace_operatorsrE  D  sg    	O2KL	MB
..
+CHHceeRTT3Yc299rttSy9)*rS   rU  r   rx   rk  20150101r  c           	     	   t        j                  t        j                  j	                  dd      t        d      |       }t        j                  |j                  d<   t        j                  |j                  d<   t        j                  |d      }t        |d	u t        | t         j                        f       }t        j                         }t        r|st!        j"                  t$        d
      }|5  t'        j(                  d      5  |s!t*        rt'        j,                  dt.               t1        |j3                  d|      |j3                  d|             t1        |j5                  d|      |j5                  d|             t1        |j3                  |      |j3                  |      |       t1        |j3                  |      |j3                  |d      |       |j3                  |      j6                  |j3                  |d      j6                  k7  sJ t1        |j5                  |      |j5                  |      |       t1        |j5                  |      |j5                  |d      |       |j5                  |      j6                  |j5                  |d      j6                  k7  sJ t1        |j8                  j3                  |      |j8                  j3                  |             t1        |j8                  j3                  |      |j8                  j3                  |d             |j8                  j3                  |      j6                  |j8                  j3                  |d      j6                  k7  sJ t1        |j8                  j5                  |      |j8                  j5                  |             t1        |j8                  j5                  |      |j8                  j5                  |d             |j8                  j5                  |      j6                  |j8                  j5                  |d      j6                  k7  sJ 	 d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nrx   r(   r   rJ  )   r#   )N   r%   r%   rn   FzEncountered an NArv   Try   rB   rp  r#   rV  rT  check_dtyper$   rU  r   )rF   rG   rH   r   r   r   rI   r]  r   r   r?   rE   r`  r  r  r   rq   rr   rs   r}   r~   r   r1  rs  r   idxmaxidxminra   r+   )r   rU  rO   r   rK  r  s         rQ   test_idxmaxminrO  N  s    
biiooc1-tG}C	PBVVBGGENVVBGGEN
..
+C 6U?JsB<L<L,MNOOK

 
 
"CVmmJ.AB	 9$$D1 8	m%%hG		q	0#**!F*2S 		q	0#**!F*2S 			(

&
)'
 			(

&a
8' 

&
)//::V:;AABB 			(

&
)'
 			(

&a
8' 

&
)//::V:;AABB bddkkk0#%%,,f,2MN6*CEELLTUL,V F+1155<<v1<=CCDD bddkkk0#%%,,f,2MN6*CEELLTUL,V F+1155<<v1<=CCDDm8	9 98	 8	9 9s%   2Q;	MQ/Q;/Q8	4Q;;RrN  rM  c                   t        j                  g dddddt        j                  dddgt         j                  gt        d	d
      D cg c]  }t        d|d	       c}z   t        j                  d	ddddddt        j                  g      ddgdz  d      }t        j                  |d      }t         t        ||       d       t        ||       d      j                                t         t        ||       d       t        ||       d      j                                t         t        |j                  d      |       dd	       t        |j                  d      |       dd	      j                                y c c}w )Nr^  r  r  r  r        @rk         @r#   r0     r$   r%   r'   r(   r)   r2   TF)rw  r  rx  r   r  rn   ry  r  rZ  )rm  rL  )rF   rG   rH   rI   rz  r  r   r{  r   r   r   r  
sort_indexrM   )r\  rQ  rO   r   s       rQ   test_idxmaxmin_numeric_onlyrU    sT   	+3S"&&#sC@66(E!QKHqhtQ2HH!Q1aArvv)FG5MA%	

B ..
+CT.Du-88: T-Dt,779
 /($/TJ.'.DqITTV Is   Fc                 J   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
      }n6t        rt        j                  t        d      }nt        j                          }dD ]P  }|5  | j#                  |      }d d d        t        r'|j#                  |d      }|5  t%        |       d d d        R t%        |g d   j#                  dd      | g d   j#                  d             t%        |j&                  j)                  d      | j&                  j)                                t        j                  t        j                  |d      gd	z        }t        j                  t              5  |j)                         j+                          d d d        t        j                  t              5  |j&                  j)                         j+                          d d d        y # 1 sw Y   kxY w# 1 sw Y   xY w# 1 sw Y   nxY w# 1 sw Y   y xY w)Nr"   )rl  r$   r%   r%   r#   r$   r   r   rn   rU   z6Encountered all NA values|Encountered an NA value withrv   zall-NA valuesr   rT  rL  )r+   r,   rX   Tr   )rF   rG   rH   rI   r]  r   r  r   r   rq   rr   rs   r   r{   rs  r  r  rN  r   r,   rM  r]   )rO   emptyr   r  rU  rc   r  s          rQ   test_idxmaxmin_empty_partitionsrX    s   	k1Aq"&&>R
B GGBQKE
))		*+>>%Q/
02
5	6C
 mmV
 
ll=@$$& , 	0yyy/H	0 ZZv1Z=F ,&(+, ,, O##4Q#?
?""$"/
 ceellql)244;;=9 ))R^^Eq9:R?
@C	z	" 

	z	" ! ! !)	0 	0, , ! !s0   7I3.J J)J3I=	 J
	JJ"c                 \   t        j                  g dddddt        j                  dddgt         j                  gt        d	d
      D  cg c]  } t        d| d	       c} z   t        j                  d	ddddddt        j                  g      d      }t        j                  |d      }t        |j                  d      |j                  d             t        |j                         |j                                t        |j                  d      |j                  d             y c c} w )Nr^  r  r  r  r  rQ  rk  rR  r#   r0   rS  r$   r%   r'   r(   r)   r2   )rw  r  rx  r   rn   Fry  T)rF   rG   rH   rI   rz  r  r   r{  r   r   r   moder|  s      rQ   test_mode_numeric_onlyr[    s    	+3S"&&#sC@66(E!QKHqhtQ2HH!Q1aArvv)FG		

B ..
+CchhEh*BGGG,GHchhj"'')$chhDh)2777+EF Is   D)c                     g dg dd} t        j                  | ddg      }t        j                  |d      }t	        |j
                  |j                  d	k(     |j
                  |j                  d	k(            y )
N)r+   r+   r,   r   r#   r   r   r   r   r  r#   rn   r+   )rF   rG   r   r   r   r   r   )r  rO   r   s      rQ   test_getitem_metar^    s]    #Y7D	4&&)9	:B
..
+Cbggbggn%sxxC'@ArS   c                     t        j                  dt        t        d            i      } t	        j
                  | d      } G d dt              } |d      }t        | |   ||          y )Ncolumn_1rU   r%   rn   c                      e Zd Zy)5test_getitem_string_subclass.<locals>.string_subclassN)__name__
__module____qualname__rk   rS   rQ   string_subclassrb    s    rS   rf  )rF   rG   r   r  r   r   r   r   )rO   r   rf  r`  s       rQ   test_getitem_string_subclassrg    sW    	z4b	?3	4B
..
+C#  z*HblCM*rS   col_typec                    t        j                  ddgddgddgd      }t        j                  |d      } | g d      }t	        ||   ||          y )	Nr#   r$   r%   r'   r(   r)   r  )r  r   r   rF   rG   r   r   r   )rh  rO   r   colss       rQ   test_getitem_column_typesrl    sO    	QF!Qq!f=	>B
..Q
CO$DbhD	"rS   c                     t        j                  ddgddgddgd      } t        j                  | d      }t	        | | dkD     ||dkD            y )Nr#   r$   r%   r'   r(   r)   r  rj  r   s     rQ   'test_getitem_with_bool_dataframe_as_keyrn    sM    	QF!Qq!f=	>B
..Q
Cbaj#cAg,'rS   c                     t        j                  t        t        d            t        d            } t	        j
                  | d      }t        | ddg   |ddg          y )NrU   r   r-   r%   rn   r+   r,   )rF   rL   r   r  r   r   r   r   s     rQ   test_getitem_with_non_seriesrp    sI    
		$uRy/l);<A	q	)Bac
mRc
^,rS   c                     t        j                  dgdgd      } t        j                  | d      }|j	                         }d|v sJ d|v sJ d|vsJ y )Nr#   r$   r*   rn   r+   r,   r   )rF   rG   r   r   _ipython_key_completions_)rO   r   completionss      rQ   test_ipython_completionrt  "  sa    	QCqc*	+B
..
+C//1K++k!!!rS   c                    t        j                  t        j                  j	                  dd      t        d            } t        j                  | d      }t        |j                         | j                                t        |j                  d      | j                  d             t        |j                  d      | j                  d             t        |j                  d      | j                  d             t        |j                  dd	      | j                  dd	             t        |j                  j                         | j                  j                                t        |j                  j                  d      | j                  j                  d             t        |j                  j                  d      | j                  j                  d             t        |j                  j                  d      | j                  j                  d             |j                  d      j                  |j                  d      j                  k(  sJ |j                  d      j                  |j                  d
      j                  k7  sJ t        j                  t        t        f      5  |j                  d       d d d        y # 1 sw Y   y xY w)Nrx   r(   r   rZ  r   r$   r  r#   rK  r%   rl  )rF   rG   rH   r   r   r   r   r   r   diffr+   ra   rq   rr   r   rs   r   s     rQ   	test_diffrw  ,  s   	biiooc1-tG}	EB
..Q
Cchhj"'')$chhqk2771:&chhqk2771:&chhrlBGGBK(chhqqh!277117#56ceejjlBDDIIK(ceejjmRTTYYq\*ceejjmRTTYYq\*ceejjnbddiim,88A; 1 111188A; 1 1111		:.	/   s   0KKc                 l   t        j                         } t        j                  | d      }t	        |j                         | j                                t	        |j                  d      | j                  d             t	        |j                  d      | j                  d             t	        |j                  d      | j                  d             t	        |j                  dd      | j                  dd             t	        |j                  j                         | j                  j                                t	        |j                  j                  d      | j                  j                  d             t	        |j                  j                  d      | j                  j                  d             t	        |j                  j                  d      | j                  j                  d             t        j                  t              5  |j                  d       d d d        y # 1 sw Y   y xY w)	Nr'   rn   r   r$   r  r#   rK  rl  )
r   r   r   r   r   r  r   rq   rr   r   r   s     rQ   
test_shiftry  B  s\   		"	"	$B
..
+C ciik288:&ciilBHHQK(ciilBHHQK(ciimRXXb\*ciii"BHHQQH$78 ceekkmRTTZZ\*ceekk!nbddjjm,ceekk!nbddjjm,ceekk"orttzz"~.	y	! 		#  s   H**H3zdata_freq,divs1))r   Fr   ThTc           	        t        j                         }|j                  t        j                  d|             }t	        j
                  |d      }ddt        j                  dd	      d
ffD ]  \  }}||f|j                  |j                  f|j                  |j                  ffD ]F  \  }}|j                  d|      }t        ||j                  d|             |j                  |k(  rFJ   |j                  j                  d      }t        ||j                  j                  d             |j                  |k(  sJ y )Nrd  r\  r'   rn   )r   T)WFrU   r|  unitTr$   )r   r   r'  makeDateIndexr   r   rF   r  r   r.   r  r   r   )		data_freqdivs1rO   r   r   divs2rX   r   r   s	            rQ   "test_shift_with_freq_DatetimeIndexr  X  s   		"	"	$B	g++BY?	@B
..
+C#\BLL#4NPT3UV 0e2Y		288/DE 	0DAq''!$''Cc17714701&&%///	00 ))//!
Cc288>>!$%%'''rS   zdata_freq,divsrz  r{  c                   t        j                         }|j                  t        j                  dd|             }t        j                  |d      }||f|j                  |j                  ffD ]F  \  }}|j                  d|       }t        ||j                  d|              |j                  |k(  rFJ  |j                  j                  d      }t        ||j                  j                  d             |j                  |k(  sJ t        j                  t        t        f      5  |j                  j                  dd       d d d        y # 1 sw Y   y xY w)	NrX  rd  r  r'   rn   r$   r\  r   )r   r   r'  rF   r2  r   r   r   r  r   r   r.   rq   rr   rs   r   )r  divsrO   r   rX   r   r   s          rQ    test_shift_with_freq_PeriodIndexr  h  s   		"	"	$B	boolBYO	PB
..
+CrSUUBDDM* +1ggaig(#qwwqyw12""d***+
 ))//!
Cc288>>!$%$&&&	
I.	/ %		$% % %s   (EEc            
        t        j                         } dD ]%  }| j                  t        j                  d|            } t	        j
                  | d      }dt        j                  dd	      fD ]{  }|| f|j                  | j                  f|j                  | j                  ffD ]C  \  }}|j                  d
|      }t        ||j                  d
|             |j                  rCJ  } |j                  j                  d
      }t        || j                  j                  d
             |j                  r&J  y )N)ra  r   r|  rd  r\  r'   rn   r   rU   r|  r  r$   )r   r   r'  makeTimedeltaIndexr   r   rF   r  r   r.   r  r   r   )rO   r  r   r   rX   r   r   s          rQ   #test_shift_with_freq_TimedeltaIndexr  {  s   		"	"	$B& #	\\'44RiHInnRQ/",,r45 	+DrSUUBDDMCIIrxx3HI +1ggadg+#qwwqtw45****+	+ iiooa #rxx~~a()""""#rS   c                 
   t        j                         } t        j                  | d      t	        j
                  t        fd       t	        j
                  t        fd       t	        j
                  t        fd       y )Nr'   rn   c                 *     j                  dd      S Nr$   r   r\  )r  r   s   rQ   r   z-test_shift_with_freq_errors.<locals>.<lambda>  s    syyy/E rS   c                 >     j                   j                  dd      S r  r  r   s   rQ   r   z-test_shift_with_freq_errors.<locals>.<lambda>  s    suu{{13{/G rS   c                 :     j                   j                  d      S r   )r.   r  r   s   rQ   r   z-test_shift_with_freq_errors.<locals>.<lambda>  s    syyq/A rS   )r   r  r   r   rq   rr   rN   r   s    @rQ   test_shift_with_freq_errorsr    sQ    				 B
..
+C
MM%'EF
MM%'GH
MM%'ABrS   )r#   r'   r   r   r/  )r#   r(   r   c                   ddl m} t        j                  t        j
                  j                  t        |      dd            }t        j                  ||       }|j                  ||      }|j                  |j                  |j                               }ddlm}  ||      \  }	}
|j                   |xs d	k(  sJ t#        |j%                  d
            t#        |j                               k(  sJ y )Nr   r  r  T)r  rn   r7  )get_depsr#   r  r  )r  r  rF   rL   rH   r   r  r   r   r   r8  __dask_optimize__ri   rA  	dask.corer  ro   rh   r]   )ro   r   r/  r  r   r   droppedrg   r  dependencies
dependentss              rQ   test_hash_split_uniquer    s     '
		"))""4#8$"MNA	{	3BiiK9iEG

#
#GLL'2G2G2I
JC"'}L*9>222'//F/34qxxz8JJJJrS   c                   t        j                  t        j                  d      gdz        d d d f   }|j                         }t        j                  t        j                  d      gdz        d d d f   }t         j                  j                  d      }|j                  |       |j                  |       |j                  |       t        j                  t        j                  |||gd      g d      }t        j                  |d	      }t        d d
dggddg      D ]J  \  }}|j                  ||      }	|j                  ||| d      }
|
j                  dk(  sJ t        |	|
       L y )NrU   rx   r   rf  r#   rK  ra  rZ  rn   r7   rb  r  r  )r  r  )r  r  r   r/  )rH   concatenater>  r4  r   RandomStateshufflerF   rG   r   r   r   r  ro   r   )r   r7   r   rb  rsrO   r   r  r  r  r   s              rQ   test_split_out_drop_duplicatesr    s8   
		",-ag6A	A
		"+,QW5A			q	!BJJqMJJqMJJqM	bnnaAYQ7	QB
..
,CSz 2Wf4EF   T :!!+ " 
 "$$$#srS   c                @   t        j                  dg ddz  i      }t        j                  |d      }|j                  j                  d|       j                  dk(  sJ t        |j                  j                  d|       |j                  j                                y )Nr7   r"   rx   r(   rn   rU   )r/  r   )rF   rG   r   r   r7   r"  ro   r   )r   rO   r   s      rQ   test_split_out_value_countsr    s    	sIO,	-B
..
+C55DPPTVVVVR[A244CTCTCVrS   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        t        s | |j                  j                          | |j                   j                  |j                   j                          | |j"                  j                  |j"                  j                         y # 1 sw Y   xY w)Nr   r   r   r$   r%   r'   r(   r  r  r   r   r-   r$   object dtyperv   )dask.array.utilsr   rF   rG   r[   r   r   r  r  r  r   rq   r{   r|   r7   r   r   r.   )r   rO   r   r  r  s        rQ   r  r    s    *	"6hh+%8
B
 ..Q
Cbii$ 
 
 
"C ll;n=	   	"$$++v&bddkk355<<(bhhoosyy//0 s   *EEc                    ddl m}  t        j                  g dg ddt        j                  g ddd	      
      }|j                  ddd      }t        j                  |d      } | |j                  |j                         t        j                  t        d      5  |j                  j                  }d d d         | |j                  j                  j                  t                     t        j                  t        d      5  |j                  j                  }d d d         | ||j                  j                  j                  t                     t        j                  t        d      5  |j                  j                  }d d d         | ||j                  j                  j                  t                     y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   SxY w)Nr   r   r   r  r  r  Float64r   )r  rW   r-   zstring[python]Int64r$   rn   r  rv   )r  r   rF   rG   r[   r  r   r   r  rq   r{   r|   r7   objectr   r.   )r   rO   r   r  s       rQ   test_values_extension_dtypesr    sM   *	"6hh+95I
B 
)8	9B
..
+Cbii$	k	8 fbddkk((01	k	8 fbddkk((01	k	8 "!!"fbhhoo,,V45  " "s$    G
G4GGGG&c                    t        j                  dg di      } t        j                  | d      }|j	                         }|j	                  d      }|j
                  dz  |d<   t        ||        t        ||        d}d	D ]8  }t        j                  t        |
      5  |j	                  |       d d d        : y # 1 sw Y   ExY w)Nr7   r"   r$   rn   Fr>  r   zfThe `deep` value must be False. This is strictly a shallow copy of the underlying computational graph.)TN rv   )
rF   rG   r   r   r4  r7   r   rq   rr   rs   )rO   r+   r,   r   deep_errr?  s         rQ   	test_copyr    s    	sI&	'B
rq)A	A	EASS1WAcFaa	1  ! ]]:X6 	FFF	 		 	s   B==C	c                     t        j                  g dg ddt        j                  g dd            } t        j                  | d      }|j                         }|d	= t        ||        | d	= t        ||        y )
Nr   r  r  r  r   r   r-   r$   r7   )rF   rG   r[   r   r   r4  r   r  s      rQ   test_delr    sf    	"6hh+%8
B 	r1A	A	#a
3arS   r.   r?  c                   t        j                  g dg dg ddg d      }t               rt        |      }t	        j
                  |d      }|j                  | |      }|j                  | |      }t        ||       y )	Nr"   r  r  ra  r-   r$   rn   r.   r?  )rF   rG   r   r   r   r   r  r   r.   r?  rO   r   rc   r  s         rQ   test_memory_usage_dataframer  !  st     
oOD 	
B  r"
..
+CU6HE5FhrS   c                    t        j                  g dg d      }t               rt        |      }|j	                  | |      }t        j                  |d      }|j	                  | |      }t        ||       y )Nr   r   r-   r  r$   rn   )rF   rL   r   r   r  r   r   r   )r.   r?  r   rc   r   r  s         rQ   test_memory_usage_seriesr  3  sc     			,&:;A a ~~E~5H	q	)B__5t_4FhrS   c                   t        j                  g dg d      }t               rt        |      }|j                  j                  |       }t        j                  |d      }|j                  j                  |       }t        ||       y )Nr   r   r-   r>  r$   rn   )	rF   rL   r   r   r.   r  r   r   r   )r?  r   rc   r   r  s        rQ   test_memory_usage_indexr  @  sk    
		,&:;A a ww###.H	q	)BXX"""-FhrS   c                    t        j                  g dg dg dd      }t        j                  |d      }t        j                   fd|j
                  D              }|j                         }t        ||d	
       t        j                   fd|j
                  D              }|j                  j                         }t        ||d	
       y )Nr  r?  r  ra  r$   rn   c              3  |   K   | ]3  }|j                         j                         j                          5 ywr  N)r]   r  r  r   partr?  r.   s     rQ   r   z2test_memory_usage_per_partition.<locals>.<genexpr>Y  s8       	##%d#;??As   9<r  Fr  c              3  t   K   | ]/  }|j                   j                         j                          1 ywr  )r7   r]   r  r  s     rQ   r   z2test_memory_usage_per_partition.<locals>.<genexpr>a  s1      BF%%E%=s   58)	rF   rG   r   r   rL   r5  memory_usage_per_partitionr   r7   r  s   ``    rQ   test_memory_usage_per_partitionr  L  s     
 **	

B ..
+C yy NN H ++%d+CFhE2 yy JM.. H UU--E-EFhE2rS   r  )r  r>   r`   r_   r  ra  rb  rN  rM  r  r?   semc           	         t        j                  g dg dd      }t        j                  |d      }t	        | t        ||              dz   z
  | t        ||              dz   z
         y )Nr  皙?g@gffffff
@g@g      @r  r%   rn   r#   )rF   rG   r   r   r   r  )r  rO   r   s      rQ   $test_dataframe_reductions_arithmeticr  h  sd    $ 
O2KL	MB
..
+C&wsI&(1,-r5KWR5K5MPQ5Q/RrS   c                 >   t        j                  g dg dd      } t        j                  | d      }t	        |j                  d      | j                  d             t        j                  | d      }t	        |j                  d      | j                  d             t	        |j                  d      | j                  d             t	        |j                  j                         | j                  j                                d	D ]8  }t        j                  t        d
      5  |j                  |       d d d        : t        j                  t        d
      5  |j                  j                          d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nr  r  r  r%   rn   r#   rK  r   )Nr   rowsz+See the `median_approximate` method insteadrv   )
rF   rG   r   r   r   medianr7   rq   rr   rN   )rO   r   
ddf_singlerL  s       rQ   test_medianr    sI   	O2KL	MB
..
+C cjjaj ")))"342JjQ'):;jQ'):;jll!!#RTT[[]3 " "]]'T
 	" JJDJ!	" 	"" 
#P
  	 	" 	"
 s   +F#FF	Fc                    t        j                  t        d      t        dd      d      }t        j                  |d      }t        |j                  |       |j                         d       y )	Nrx      r  rU   rn   rY  r#   )atol)rF   rG   r  r   r   r   median_approximater  )r  rO   r   s      rQ   test_median_approximater    sV     
E#JU3_=	>B
..
,Cf-
		rS   c                 $   t        j                  dd      } t        j                  t        j                  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         y )	Nz
01.01.2015z
05.05.2015r$   r-   r(   rn   z
02.02.2015r   )
rF   r   rG   rH   r   r   r   r   r   r  )dtRangerO   r   s      rQ   test_datetime_loc_open_slicingr    s    mmL,7G	bii&&Ga'89	IB
..
+Cbff]l#SWW]l%;<bff\]#SWW\]%;<beii&A

=L(ABbeii&A

<=(ABrS   gpuc                r   | st         nt        j                  d      }|  }|j                  ddgddgddgd      }d	|j                  _        t        j                  |d
      }t        |j                  |      t        j                  |      |       t        |j                  |      t        j                  |      |       |j                  g ddz  g ddz        }t        j                  |dd      }| sdt        |j                  |d      t        j                  |d             t        |j                  |d      t        j                  |d             dd|j                  fD ];  }t        j                  t        d      5  t        j                  |       d d d        = y # 1 sw Y   HxY w)Nr  i  i  r<  r!  r'   r(   )yearr  r  ixr$   rn   rJ  )z	3/11/2000z	3/12/2000z	3/13/2000rx   r-   rU   Fr  TrM  z
2021-08-03i  znon-index-able argumentsrv   )rF   rq   r0  rG   r.   rW   r   r   r   rO  rL   rr   rN   )r  xdrK  rO   r   r   r   args           rQ   test_to_datetimer    ss   F//7B 'K	d|sCj!QP	QBBHHM
..
+CbnnR ".."5;ObnnR ".."4+N
		/#55; 	 	A 
r	6B NN1$N'NN24(	
 	NN1$N'NN1$'	

 dAGG,  ]].6PQ 	 NN3	  	  	  	 s   F--F6	c                 p   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      j                          d d d        y # 1 sw Y   y xY w)NrU   r$   rn   r|  r  )r#   r$   zthis will errorcoerce)rD   )r  r$   z1 day 2 hoursz6unit must not be specified if the input contains a strrv   r   )rF   rL   r  r   r   r   r{  rq   rr   rs   r]   r   s     rQ   test_to_timedeltar    s   
		%)A	q	)Bbooa "//""56booac*BOOBS,IJ
		+,A	q	)Bbooa12??2h3WX
		+,A	q	)Bbooa "//""56	R
 0 	%--/0 0 0s   =&F,,F5r  c                    t        j                  |       }t        j                  |d      }t	        t        j
                  |      t        j
                  |             y )Nr$   rn   )rF   rL   r   r   r   isna)r  r   r   s      rQ   	test_isnar    s:    
		&A	q	)Bbggaj"''"+&rS   rM   r3   c                ,   t        j                  d      }|ddgxx   dz  cc<   t        j                  |t        j                  t	        |            d      }|j                  d      j                  d|        }t        j                  |d      j                  d      j                  d|        }t        j                  ||j                  d	d
i      gd      }t        j                  ||j                  d	d
i      gd      }t        ||       y )NrU   r(   r)   r$   r&  r   zB != r#   r   r  rZ  rK  )rH   r>  rF   rG   r   r'  r  r   r   r  r   r   )rM   r7   rO   r   r   r  rc   s          rQ   test_slice_on_filtered_boundaryr    s     			"Aq!fINI	ABIIc!f$56	7B
,,s

!
!E$.
1C
..Q

)
)#
.
4
4uTF^
DCYYSZZc
Z;<1EFyy#szz3*z=>QGHfhrS   c                    t        j                  g d      } t        j                  dt	        t        |             i|       }t        j                  |dd      }|j                  dd  }t        j                  ||       t        j                  |dd      }|j                  d      }t        j                  ||       t        j                  |dd	      }|j                  d      }t        j                  ||       t        j                  |dd
      }|j                  d      }t        j                  ||       t        j                  |dd      }|}t        j                  ||       y )Nrp   r  r$   r'   r%   r   r-   r   r'   r$   rp   r  r%   ro  )rH   rA  rF   rG   r  r   r   boundary_slicer]  r   assert_frame_equalrM   )r7   rO   r  rc   s       rQ    test_boundary_slice_nonmonotonicr    s   
"#A	sE#a&M*!	4B##B1-Fwwqr{H&(+##BA.Fwwr{H&(+##BA.FwwqzH&(+##BC0FwwqzH&(+##BA.FH&(+rS   c                     t        j                         } t        j                  | dd      }t        j                         }t	        j
                  ||       y )Nr#   r'   )rF   rG   r   r  r   r  )rO   r  rc   s      rQ   test_boundary_slice_emptyr    s<    	B##B1-F||~H&(+rS   z0start, stop, right_boundary, left_boundary, droprp   r  r%   r'   g      g      ro  rn  c                   t        j                  g d      }t        j                  dt	        t        |            i|      }t        j                  || |||      }|j                  |      }t        j                  ||       y )Nr  r   r-   )rH   rA  rF   rG   r  r   r   r  rM   r   r  )	rW  stopright_boundaryleft_boundaryrM   r7   rO   r  rc   s	            rQ   test_with_boundaryr  %  se    " 	"#A	sE#a&M*!	4B##Bt^]SFwwt}H&(+rS   zindex, left, rightrU   )rp   r   r$   r#   2017z
2017-01-1020162018c                    t        j                  dt        t        |             i|       }t	        j
                  |||      }t        j                  ||       y )Nr   r-   )rF   rG   r  r   r   r  r   r  )r.   r  r  rO   r  s        rQ   test_boundary_slice_samer  =  sF    $ 
sE#e*-.e	<B##Be4F&"%rS   c                 ,   t        j                  g d      } t        j                  | d      }t	        j
                  t              5 }|j                          d d d        t        j                        d|j                   dk(  sJ y # 1 sw Y   2xY w)Nr   r$   rn   z`mean` not supported with z series)rF   rL   r   r   rq   rr   rs   r>   r   r   r  )r   r   r   s      rQ   $test_better_errors_object_reductionsr  T  sq    
		&'A	q	)B	z	" c
	syy>9"((7KKKK s   B

Bc                    t         j                  d        } t        j                   | d       | d       | d      g      }|j	                  d      }|j                         }|j                  j                  |j                        sJ y )Nc                l    t        j                  t        j                  | df      t	        d            S )Nr'   abcdrZ  )rF   rG   rH   zerosr   r  s    rQ   make_dfz-test_sample_empty_partitions.<locals>.make_df^  s$    ||BHHaV,d6lCCrS   r   rx   g?r  )ri   r	   r   r  r  r]   r  r  )r  r   r  r   s       rQ   test_sample_empty_partitionsr  ]  st    	\\D D //71:ws|WQZ@
AC::3:D
,,.C::T[[)))rS   c                 0   t        j                  t        j                  d      j	                  d            } t        j                  | d      }t        t        t        f}t        |||d   f      D ]#  \  }}t        j                  t        ||fd       % y )Nrx   rU   rU   r$   rn   r   c                     | |      S r   rk   )trX   s     rQ   r   ztest_coerce.<locals>.<lambda>n  s
    !A$ rS   )rF   rG   rH   r>  reshaper   r   rw  r  complexr   rq   rr   r   )rO   r   funcsrX   r  s        rQ   test_coercer  i  st    	biin,,X6	7B
..
+C%!ESV}- 81i!q!678rS   c                 J   t        j                  t        j                  d      j	                  d            } t        j                  | d      }||d   ||k(  |d   |d   k(  g}|D ]/  }t        j                  t              5  t        |       d d d        1 y # 1 sw Y   <xY w)Nrx   r  r$   rn   r   )rF   rG   rH   r>  r  r   r   rq   rr   rs   r  )rO   r   
conditionsconds       rQ   	test_boolr  q  s    	biin,,X6	7B
..
+Cs1vscz3q6SV+;<J ]]:& 	J	 		 	s   BB"	c                    t        j                  t        j                  j	                  dd      t        d            } t        j                  | d      }|| fD ]w  }| j                  D ]f  }||   j                         ||dz   <   ||   j                         ||dz   <   ||   j                         ||dz   <   ||   j                         ||dz   <   h y t        ||        y )	Nrx   r(   r   rZ  cscmincmaxcp)rF   rG   rH   r   r   r   r   r   rZ   rM  rO  rP  rN  r   )rO   r   rX   r   s       rQ    test_cumulative_multiple_columnsr  z  s    	biiooc1-tG}	EB
..Q
C2Y ) 	)AA$++-Aa$hKaDKKMAa&jMaDKKMAa&jMA$,,.Aa$hK		)) c2rS   c                   ddl m} t        j                  g dg ddg d      }t	        j
                  |d	      }d
 d d d fD ]  }	  |  ||            } ||      j                  |       } |||d       t        |t        j                        sJ |j                  d   t        j                  t        j                  fk(  rJ  y # t        $ r Y w xY w)Nr   r   r  rQ  rk  rR        "@g      $@r  r  r-   r$   rn   c                    | S r   rk   r  s    rQ   r   z*test_map_partition_array.<locals>.<lambda>      ! rS   c                    | j                   S r   r   r  s    rQ   r   z*test_map_partition_array.<locals>.<lambda>  
    qss rS   c                    | j                   S r   r#  r  s    rQ   r   z*test_map_partition_array.<locals>.<lambda>  s
    acc rS   c                    | j                   S r   r-   r  s    rQ   r   z*test_map_partition_array.<locals>.<lambda>  s
    QWW rS   F)
check_type)r  r   rF   rG   r   r   	Exceptionr  rE   r=  r@  rX  rH   rI   )r\  r   rO   r   prerc   r7   s          rQ   test_map_partition_arrayr    s    *	$>?'
B ..
+C]M;LM 	/	CG}H H##D)!X%0!RXX&&&xx{rvvrvv....	/  		s   C	CCc                 2   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 ]  } | ||             } ||      j                  |      }t        |t        j                        sJ |j                         }|j                  |j                  k(  j                         sJ |j                  |j                  k(  j                         rJ  y )Nsparsenumbaz0.40.0)
minversionr  r  r  r  r-   r$   rn   c                L    j                  t        j                  |             S r   )COOrH   rA  )rX   r  s    rQ   r   z$test_map_partition_sparse.<locals>.f  s    zz"((1+&&rS   c                    | S r   rk   r  s    rQ   r   z+test_map_partition_sparse.<locals>.<lambda>  r  rS   c                    | j                   S r   r   r  s    rQ   r   z+test_map_partition_sparse.<locals>.<lambda>  r  rS   )rq   r0  rF   rG   r   r   r  rE   r=  r@  r]   r  r?   coords)rO   r   r   r  rc   r  computedr  s          @rQ   test_map_partition_sparser$    s      *F
H5	$>?'
B ..
+C' ]+ :SW:S((+&"((+++>>#.335558??277999:rS   c                    t        j                  dg dig d      } t        j                  | d      }|j                  |j                  j
                  z   j                  |j                  |j                  j
                  z   j                         j                  k\  sJ 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          y )Nr7   r"   r&   r-   r$   rn   )
rF   rG   r   r   r7   r  ro   r  r   r.   r   s     rQ    test_mixed_dask_array_operationsr&    s%   	sI&i	8B
..
+CEECEELL --hj   bddRTT[[ #%%#%%,,"67bddkkBDD #%%,,"67bddRXX__$ceecii.>.>&>?bhhoo$cii&6&6&>?rS   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   j                          d d d        t	        j
                  dd
	      }t        j                  t              5 }|j                  |z    d d d        dt        j                        v sdt        |j                        v sJ y y # 1 sw Y   xY w# 1 sw Y   GxY w)Nr7   r  rv  r-   r$   rn   r(   ))r#   r'   rW  rF  r   zdifferent numbers)rF   rG   r   r   r=  r>  rH   rI   _chunksrq   rr   rs   r7   r]   r   r   )rO   r   r7   r  s       rQ   'test_mixed_dask_array_operations_errorsr)    s    	sO,O	DB
..
+C
		!I&A&&"&&!#AI	z	" 	 			!L)A	z	" d	 C

O#':c$**o'MMM'M#  s   D+!D7+D47E c                    t        j                  g dg ddddg      } t        j                  | d      }| j                  d	z   j                  t              }|j                  d	z   j                  t              }t        ||z   d	z   | |z   d	z          t        ||j                  d
      z   d	z   | |z   d	z          t        |ddg   |z   d	z   | ddg   |z   d	z          y )Nr  )r@  rQ  rk  rR  r  r  r7   r   rZ  r$   rn   r#   r   )	rF   rG   r   r   r  r  r  r   rechunk)rO   r   r7   r  s       rQ   'test_mixed_dask_array_multi_dimensionalr,    s    	$=>c

B ..
+C	Qu%A
**q.	 	 	'BcBhlBFQJ'cBJJy))A-rAvz:c3*o"Q&C:(:Q(>?rS   c                     t        j                  ddg      } t        j                  | d      }	 |j	                  d        y # t
        $ r}dt        |      v sJ Y d }~y d }~ww xY w)Nr  r$   rn   c                    | d   S )Nr%   rk   r   s    rQ   r   z"test_meta_raises.<locals>.<lambda>  s
    1 rS   zmeta=)rF   rL   r   r   r  rs   r   )r   r   r   s      rQ   test_meta_raisesr/    sX    
		66"#A	q	)B!
~ !#a&   !s   A 	A%A  A%c                    t        j                  g dd      } t        j                  t        d      D cg c]"  }t         j                  j	                  |      $ c}      }t        j                  | d      }t        j                  |d      }t        j                         5  t        j                  dt               t        j                  dt               | |z   }||z   }t        ||       d d d        y c c}w # 1 sw Y   y xY w)	Nr"   r  r  r%   )yearsr#   rn   rB   )rF   rL   r  offsets
DateOffsetr   r   r}   r~   r1  r   r|   r   )baseor2  	dask_basedask_offsetsrc   r   s          rQ   .test_meta_nonempty_uses_meta_value_if_providedr8    s     99Y&67DiiqJA..Q.7JKGt3I>>'q9L		 	 	" $h(:;h4'>\)(F#$ $	 K$ $s   'C:&AC??D	containerrA  matrixc                T   t        j                  d      }t        j                  d      }| dk(  r!t        |d      st        j                  d       | dk(  r|j                  n|j
                  |j                  j                  dd	      }d
||dk  <   t        j                  |      }|j                        }t        ||j                        sJ |j                         j                         j                         }t        j                   |ddi}t#        fd|D              sJ y )Nzscipy.sparsez
dask.arrayrA  	csr_arrayzscipy<1.11 has no sparrayr:  )r  rU   rx   rU   rW  r   rU  r  r  c              3  6   K   | ]  }t        |        y wr   )rE   )r   r  clss     rQ   r   zDtest_dask_dataframe_holds_scipy_sparse_containers.<locals>.<genexpr>  s     2az!S!2s   )rq   r0  hasattrskip
csr_matrixr<  r   r   r?  r  rE   r@  r  flattentolistri   r]   r?   )	r9  r  r=  r7   rO   r   vsr  r?  s	           @rQ   1test_dask_dataframe_holds_scipy_sparse_containersrF    s      0F			\	*BGGFK$@/0(H4&

&:J:JC
		I6AAa#gJ			A	B
#Aa"""	
			!	(	(	*B\\2;):;F262222rS   zwe can't do this yetc                    t        j                  dg di      } t        j                  | d      }t	        j
                  d      |j                  d       }t        fd|j                  j                         D              sJ |j                  d	       }t        fd
|j                  j                         D              sJ y )Nr7   r   r$   rn   i@B c                    | S r   rk   r  s     rQ   r   z9test_map_partitions_delays_large_inputs.<locals>.<lambda>       rS   r#  c              3  &   K   | ]  }|u  
 y wr   rk   r   r  bigs     rQ   r   z:test_map_partitions_delays_large_inputs.<locals>.<genexpr>       1Asax1   c                    | S r   rk   r  s     rQ   r   z9test_map_partitions_delays_large_inputs.<locals>.<lambda>  rI  rS   c              3  &   K   | ]  }|u  
 y wr   rk   rK  s     rQ   r   z:test_map_partitions_delays_large_inputs.<locals>.<genexpr>  rM  rN  )
rF   rG   r   r   rH   onesr  anyri   r  )rO   r   r,   r+   rL  s       @rQ   'test_map_partitions_delays_large_inputsrS    s    	sL)	*B
..
+C
'''
C>S1A11111>3/A11111rS   c                 l   t        j                  dt        d      i      } t        j                  | d      }t        |j                  d   |j                  d             t        |j                  d   |j                  d             t        |j                  d   |j                  d             |j                  d d j                  dk(  sJ |j                  j                  d d j                  dk(  sJ |j                  j                  d d d	   j                         j                         g d
k(  sJ y )Nr7   rU   r(   rn   r   r%   rp   r'   r$   )r   r#   r'   r(   r0   r3   )rF   rG   r  r   r   r   r5  r  ro   r7   r]   rD  r   s     rQ   test_partitions_indexerrU    s    	sE"I&	'B
..
+CcnnQ!2!21!56cnnQ!2!21!56cnnR #"3"3A"67>>"1))Q...55BQ++q00055CaC ((*1137IIIIrS   c                 `   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(         y )Nr+   r"   r#   rn   r$   r   )rF   rG   r   r   r   r+   r   s     rQ   test_mod_eqrW  -  s}    	sI&	'B
..
+Cb#bddCEEbddQh	"bddQh!mSUUQY!^,rS   c                     t        j                  ddgddgd      } t        j                  | j	                         d      }d| | j
                  <   d||j
                  <   t        | |       y )Nr#   r$   r%   r'   r&  )rF   rG   r   r   r4  rZ   r   r   s     rQ   test_setitemrY  6  sX    	QF!Q0	1B
..A
&CBrzzNCb#rS   c                     t        j                  ddgddgd      } t        j                  | j	                         d      }d| | dkD  <   d||dkD  <   t        | |       y )Nr#   r'   r%   r$   r&  r(   rF   rG   r   r   r4  r   r   s     rQ   'test_setitem_with_bool_dataframe_as_keyr\  >  sW    	QF!Q0	1B
..A
&CBrAvJCaLb#rS   c                     t        j                  ddgddgd      } t        j                  | j	                         d      }d| | d   dkD  <   d||d   dkD  <   t        | |       y )Nr#   r'   r%   r$   r&  r(   r   r[  r   s     rQ   $test_setitem_with_bool_series_as_keyr^  F  s`    	QF!Q0	1B
..A
&CBr#w{OCC1b#rS   c                     t        j                  ddgddgd      } t        j                  | j	                         d      }d| d<   t        j                  t        d	      5  d|d<   d d d        y # 1 sw Y   y xY w)
Nr#   r'   r%   r$   )r   r#   r(   r   znot supportedrv   )rF   rG   r   r   r4  rq   rr   rN   r   s     rQ   <test_setitem_with_numeric_column_name_raises_not_implementedr`  N  si    	1a&aV,	-B
..A
&CBqE	*/	B A  s   !A00A9c                     t        j                  dg di      } t        j                  | d      }t	        ||j                         dz   z
  | | j                         dz   z
         y )Nr7   r  r$   rn   r#   )rF   rG   r   r   r   r  r   s     rQ   test_broadcastrb  X  sM    	sO,	-B
..
+CcSWWY]#R2668a<%89rS   c                 `   t        j                  dg di      } t        j                  | d      }t        j
                  j                  | j                  j                  | j                  j                         z   |j                  j                  |j                  j                         z          y )Nr7   r  r$   rn   )
rF   rG   r   r   r=  utilsr   r7   r  r>   r   s     rQ   test_scalar_with_arrayre  ^  sg    	sO,	-B
..
+CHHrtt{{RTTYY[0#%%,,2MNrS   c                     t        t        j                               sJ t        t        j                  t                    sJ t        d      rJ y )Nr  {   )r   rF   rG   rL   r  rk   rS   rQ   test_has_parallel_typerh  e  s>    R\\^,,,RYYU3444 %%%%rS   c                 N   t        j                  dg di      } t        j                  | d      }|j                  du sJ t        j                  t        d      5  |j                  j                  d       }d d d        j                  d	u sJ t        j                  t        d      5  |j                  j                  d
 d      }d d d        j                  du sJ |j                  t        d |j                  D              k(  sJ y # 1 sw Y   xY w# 1 sw Y   QxY w)Nr7   r  r$   rn   Tr  rv   c                    | dz  S NrU   rk   r   s    rQ   r   z test_map_index.<locals>.<lambda>p  
    !b& rS   Fc                    | dz  S rk  rk   r   s    rQ   r   z test_map_index.<locals>.<lambda>t  rl  rS   )is_monotonicc              3  &   K   | ]	  }|d z    yw)rU   Nrk   r  s     rQ   r   z!test_map_index.<locals>.<genexpr>v  s     %Da"f%Ds   )rF   rG   r   r   r   rq   r{   r|   r.   r  r<   r@  )rO   r   clearedapplieds       rQ   test_map_indexrr  k  s    	sO,	-B
..
+C$&&&	k	0 2))-- 012""e+++	k	0 E))-- 0t-DE""d***%Dcmm%D DDDD2 2E Es   D,DDD$c                 $   t        j                  dg di      } t        j                  | d      }|j	                         }|j
                  dz  |_        | j	                         }|j
                  dz  |_        t        ||       t        ||        y )Nr7   r  r$   rn   rU   )rF   rG   r   r   r4  r.   r   )rO   r   ddf_copyrc   s       rQ   test_assign_indexru  y  sn    	sO,	-B
..
+CxxzH		BCIwwyH^^b(HNc8hrS   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
                          y )Nr7   r  r$   rn   r#   rU   )rF   rG   r   r   r   r.   r   s     rQ   test_index_divisionsrw    so    	sO,	-B
..
+Ccii!mRXX\*b399nb288m,syyj288)$rS   c                 $   t        j                  dg di      } t        j                  | d      }t	        | j                  dd      |j                  dd             t	        | j                  ddd      |j                  ddd             t	        | j                  j                  dd      |j                  j                  dd             t	        | j                  j                  ddd      |j                  j                  ddd             y )	Nr7   r  r$   rn   r#   rU   r   )r#   r$   )rF   rG   r   r   r   r  r7   r   s     rQ   test_replacery    s    	sO,	-B
..
+CbjjBQ!34bjjRB(#++"n*EFbddll1b!355==B#78bddllrb>*CEEMMbR.,IJrS   c                    t        j                  dg di      } t        j                  | d      }t	        t        d            |j                  d       }t        fd|j                         j                         D              sJ |j                  d	       }t        fd
|j                         j                         D              sJ y )Nr7   r  r$   rn   rx   c                    | t        |      z   S r   r  r  s     rQ   r   z2test_map_partitions_delays_lists.<locals>.<lambda>      !c!f* rS   r#  c              3  L   K   | ]  }t              t        |      k(    y wr   r   r   r  Ls     rQ   r   z3test_map_partitions_delays_lists.<locals>.<genexpr>       GAs1vQG   !$c                    | t        |      z   S r   r  r  s     rQ   r   z2test_map_partitions_delays_lists.<locals>.<lambda>  r|  rS   c              3  L   K   | ]  }t              t        |      k(    y wr   r~  r  s     rQ   r   z3test_map_partitions_delays_lists.<locals>.<genexpr>  r  r  )
rF   rG   r   r   r   r  r  rR  __dask_graph__r  )rO   r   outr  s      @rQ    test_map_partitions_delays_listsr    s    	sO,	-B
..
+CU3ZA


4

:CG););)=)D)D)FGGGG


4a
8CG););)=)D)D)FGGGGrS   c                 L   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                  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 y )NrU   r  r  r$   rn   )r   )rF   rG   rH   r>  r  r  r  r   r   r   r  r   r  rL   r  r   )rO   r   rP   s      rQ   test_dtype_castr    s[   	2RXX.2RXX.2RZZ0	

B ..
+C55;;"(("""55;;"(("""55;;"**$$$
))BIIb

3
4q
8C99

"""
**s*
C55;;"**$$$55;;"**$$$55;;"(("""55;;"(("""rS   
base_npart	map_npartr   sorted_map_indexc                   || k7  rt        j                  d       t        j                  t	        d      D cg c]4  }dj                  t        j                  j                  g dd            6 c}      }|s;t        j                  d      }t        j                  j                  |       ||_        t        dd	      D cg c]  }dj                  |       }}t        j                  t        j                  j                  d
t        |            |      }|s;t        j                  |      }t        j                  j                  |       ||_        |j!                  |      }	t#        j$                  || d      }
t#        j$                  ||d      }t        j&                  t(        d      5  |
j!                  |      }d d d        t+        |	       y c c}w c c}w # 1 sw Y    xY w)Nznot yet implementedr   rx   r  r  r%   rk  rw  )repeatrf  r-   Fr  r  rv   )rq   xfailrF   rL   r  r  rH   r   r  r>  r  r.   r   rn  r   rA  r  r   r   r{   r|   r   )r  r  r   r  r7   r4  r.   	map_indexmapperrc   r6  dask_mapr  s                rQ   test_series_mapr    sm   
 J1299EJ3ZP!!/!:	;PD 		#
		% 
%,U1%=>>I>YYryy((#i.(ASFHHY'	
		)$ xxHt%HI~~f)%HH	k	0 )x()h# 	Q ?) )s   9GG"6G''G0c                    t        j                  g ddddggdd      } | j                  d      }t        j                  | d	      }|j                  d      }|j
                  |j
                  k(  sJ t        |j                         |       y )
Nr"   r   r%   r'   r#   r&  r   r$   rn   )rF   rG   exploder   r   r<   r   r]   )rO   exploded_dfr   exploded_ddfs       rQ   test_dataframe_exploder    sv    	Y1v6Q?	@B**S/K
..
+C;;s#L==L22222l""$k2rS   c                     t        j                  g ddddgg      } | j                         }t        j                  | d      }|j                         }t        ||       |j                  |j                  k(  sJ y )Nr"   r   r%   r'   r$   rn   )rF   rL   r  r   r   r   r<   )r   
exploded_sr   exploded_dss       rQ   test_series_exploder    sc    
		9eaV,-AJ	q	)B**,Kk:&<<;00000rS   c                    t        j                  t        d      t        d      d      } t        j                  | d      }|j                  d      }|j                  dk(  sJ |j                  dgk(  sJ t        || dg          y )NrU   r  r$   rn   r   r7   )	rF   rG   r  r   r   poprW   rZ   r   )rO   r   r   s      rQ   test_popr    sn    	E"IE"I6	7B
..
+CA66S==;;3%c2se9rS   rK   rL  c           	     V   t        j                  g dg dt        j                  ddd      d      }t	        j
                  |d      }t        |d	   j                  | 
      |d	   j                  | 
             t        |j                  | |      |j                  | |             y )N)r+   r+   r   )Nr#   r$   r   r#   r  )r7   r   r   r$   rn   r   r*  )rK   rL  )rF   rG   rH   r>  r   r   r   r  )rK   rL  rO   r   s       rQ   test_nuniquer    s     
LryyAs7KL
B ..
+Cc#hf-r#wf/MN6-rzzdz/SrS   c                     t        j                  g dg dd      } t        j                  | d      }t	        |       t	        |      k(  sJ t        |ddg      D ]  \  }}||k(  rJ  y )Nr   r&  r$   r   r   )rF   rG   r   r   r   r   )rO   r   rP   rc   s       rQ   	test_iterr    se    	L|<	=B
..Q
C8tCy   S3*- XhrS   c                    t        j                  dg di      } t        j                  | d      }t	        ||j
                  dk     j
                  j                         | | j
                  dk     j
                  j                                t	        ||j
                  dkD     j
                  j                         | | j
                  dkD     j
                  j                                y Nr7   r^  r'   rn   r(   )rF   rG   r   r   r   r7   rM  r   s     rQ   2test_dataframe_groupby_cumsum_agg_empty_partitionsr    s    	s45	6B
..
+Cc#%%!)n%%'BDD1H)>)>)@Ac#%%!)n%%'BDD1H)>)>)@ArS   c                    t        j                  dg di      } t        j                  | d      }t	        ||j
                  dk     j
                  j                         | | j
                  dk     j
                  j                                t	        ||j
                  dkD     j
                  j                         | | j
                  dkD     j
                  j                                y r  )rF   rG   r   r   r   r7   rN  r   s     rQ   3test_dataframe_groupby_cumprod_agg_empty_partitionsr    s    	s45	6B
..
+Cc#%%!)n&&("RTTAX,..*@*@*BCc#%%!)n&&("RTTAX,..*@*@*BCrS   znot important nowc                 $   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                  |j                         j                  k(  sJ y )
Nr#   r$   r%   r'   r(   r)   r  datez
2020-10-16)rF   rG   attrsr   r   r  r   s     rQ   test_attrs_dataframer  "  sw    	QF!Qq!f=	>B%BH
..Q
C88syy   668>>SWWY__,,,rS   c                 (   t        j                  ddgd      } d| j                  d<   t        j                  | d      }| j                  |j                  k(  sJ | j                  d      j                  |j                  d      j                  k(  sJ y )Nr#   r$   r   r   kgr  )rF   rL   r  r   r   r  r   s     rQ   test_attrs_seriesr  ,  ss    
		1a&s#AAGGFO	1	B77bhh88A;		! 2 2222rS   c                     t        j                  dg di      } t        j                  | d      }t        j                  | j	                  | d   d      d      }|j	                  |d   d      }t        ||       y )Nr7   r^  r#   rn   _)lsuffix)rF   rG   r   r   r  r   )rO   r   expected_df	actual_dfs       rQ   test_join_seriesr  6  sg    	s45	6B
..
+C..C#!>ANKS3/Ii%rS   c                    t        j                  ddgid      } t        j                  | d      }|j	                  |d         }|j                         d   j                  dk(  sJ |j                         d   j                  dk(  sJ y )	Nr+   r  r  r  r#   rn   )r  r  )rF   rG   r   r   r  r]   r  )	df_pandasrO   s     rQ   test_assign_na_float_columnsr  >  sz    cC5\;I		q	1B	2c7	#B::<##y000::<	"))Y666rS   c                    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        y # 1 sw Y   y xY w)Nr+   r  rU   rf  rn   Try   i   r(   r   )	rF   rG   r   r   r}   r~   r  r   r   )rO   rh  rQ  s      rQ   !test_assign_no_warning_fragmentedr  I  s    	sOb01	2B		+B		 	 	- s 	ABs1vJ	1v{{  s   
/BBc                 ,   t        j                  g d      } t        j                  g d      }t        j                  | |d      }t        j                  | d      }t        j                  |d      }t        j                  |d      }t        | j                  |      |j                  |             t        | j                  |      |j                  |             t        j                  | d      }t        j                  |d      }t        j                  |d      }t        | j                  |      |j                  |             t        | j                  |      |j                  |             |j                  |t        j                  dgd      	      j                         }	|	j                  dk(  sJ t        j                  t              5  |j                  t        j                  g d             d d d        y # 1 sw Y   y xY w)
Nr   )r'   r(   r)   r)   onetwor#   rn   r$   test_seriesr   r  )rF   rL   rG   r   r   r   dotr]   rW   rq   rr   r   r=  rA  )
r  r  rO   dask_s1dask_dfdask_s2partitioned_s1partitioned_dfpartitioned_s2r   s
             rQ   test_dotr  R  sw   	<	 B	<	 B	b,	-BnnRQ/GnnRQ/GnnRQ/GbffRj'++g./bffRj'++g./ ^^BA6N^^BA6N^^BA6NbffRj.,,^<=bffRj.,,^<= ++gBIIqc$F+
G
O
O
QC88}$$$ 
y	! ,BHH\*+, , ,s   'H

Hc                 6   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        | j                  |      |j                  |             t        |j                  |      |j                  |             y )Nr   r#   rn   r  )	rF   rL   r   r   rH   rI   rG   r   r  )r  r  r  r  rO   r  s         rQ   test_dot_nanr  o  s    	<	 BnnRQ/G	BFFBFFBFFBFF3	4BnnRQ/G	b,	-BnnRQ/GbffRj'++g./bffRj'++g./rS   c                 T  	 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                  j                  |d      sJ t        t        j                  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                  ||j                   
      }t        j                  |      }|d   j                  |d         j#                         }t        |j%                         t         j                         y)z)Testing wrapping frames in proxy wrappersr  r"   )r  c                P    j                  |        t        j                  |       S r   )appendweakrefproxy)r7   r|  s    rQ   r   z$test_use_of_weakref_proxy.<locals>.f  s    	}}QrS   )r   r   r#   r%   )r   r,   r#   rn   r  r,   r   N)rF   rG   r  r  rL   r   r    ri   	dataframer  
_cov_chunkrE   _groupby_apply_funcsr   r   r  r   r  r]   )
rO   df_pxyserser_pxyr   rX   r+   pxyr   r|  s
            @rQ   test_use_of_weakref_proxyr  ~  sN   	vy)	*B]]2F
))VY'
(CmmC GV$$$'""">>!!,,VV<<<33FF"3M
   	A  	9q=y1}=>A
qa(A	)A
--
C
c(

3s8
$
(
(
*Cs{{}bii(rS   series)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$   reverser?  rL   r[   c                T   |r| d d d   } t        j                  | |       }t        j                  |dd      }|dk(  r|j                  }|j                  }|j
                  j                         |j
                  k(  sJ |j                  j                         |j                  k(  sJ y )Nrp   r-   r%   F)r  r'  r[   )rF   rL   r   r   r.   is_monotonic_increasingr]   is_monotonic_decreasing)r  r  r?  pdsr   s        rQ   test_is_monotonic_numericr    s     "
))F&
)C	qu	5B
g~iiXX%%--/33N3NNNN%%--/33N3NNNNrS   c                    t        j                  t        j                  dd            } t        j                  | d      }t        | j                  |j                         t        | j                  |j                         t        j                  t        t        |                   }t        j                  |d      }t        |j                  |j                         t        |j                  |j                         y )N20130101rU   r  r(   rn   )
rF   rL   r   r   r   r   r  r  r   reversedr   r   s_2ds_2s       rQ   test_is_monotonic_dt64r    s    
		"--
B78A	q	)Ba'')C)CDa'')C)CD
))D!%
&C>>#1-Dc))4+G+GHc))4+G+GHrS   c                 l   t        j                  dt        j                  dd            } t        j                  | dd      }t        | j                  j                  |j                  j                         t        | j                  j                  |j                  j                         | d d d	   }t        j                  |dd      }t        |j                  j                  |j                  j                         t        |j                  j                  |j                  j                         y )
Nr#   r  rU   r  r-   r(   Fr  rp   )	rF   rL   r   r   r   r   r.   r  r  r  s       rQ   test_index_is_monotonic_dt64r    s    
		!2==R@AA	qu	5Bagg--rxx/O/OPagg--rxx/O/OP
DbD'C>>#159Dcii//1S1STcii//1S1STrS   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                         y )Nr   )r'   r%   r$   r#   r*   r$   rn   r+   r%   )rF   rG   r   r   r   r  r.   r  r   s     rQ   "test_is_monotonic_empty_partitionsr    s    	L|<	=B
..
+C 
BsGqL	B
c#h!m
Cbg--s3x/O/OPbhh..		0Q0QRbg--s3x/O/OPbhh..		0Q0QRrS   orientc                6   t        d      t        d      d}t        j                  j                  || |      }t        j                  j                  ||| |      }|dk(  r|j
                  t        |d      k(  sJ |j
                  |k(  sJ t        ||       y )NrU   r*   )r  r  )ro   r  r  r.   r$   )r  rF   rG   	from_dictr   ro   ra  r   )r  r  ro   r  rc   r  s         rQ   test_from_dictr    s     rr+D||%%d%%GH\\##+U6 $ F !!Sa%8888!![000fhrS   c                    t        j                  t        d            } t        j                  | d      }t        j                  t        d      5  t        j                  j                  d|id       d d d        y # 1 sw Y   y xY w)NrU   r$   rn   zDask collections as inputsrv   r+   )
rF   rL   r  r   r   rq   rr   rN   rG   r  r   s     rQ   test_from_dict_raisesr    sd    
		%)A	q	)B	*2N	O 9
Rya89 9 9s   $A>>Bc                    t        j                  t        d      5  t        j                   d d d        t        j                  t
        d      5  t        j                   d d d        y # 1 sw Y   >xY w# 1 sw Y   y xY w)Nzmay be expensiverv   )rq   rr   rN   rX   rW  r   rk   rS   rQ   
test_emptyr    s^    	*2D	E 		~-?	@ 	   s   A*A6*A36A?)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        ||       y )Npyarrowr7   rU   r  r%   rn   r$   )	rq   r0  rF   rG   r  r   r   r7   r   )r  rO   r   rc   r  s        rQ   test_pyarrow_extension_dtyper    sq     	"	sE"I&e	4B
..
+Crttq Heeceemq FhrS   c            
     x   t        j                  d      } | j                  dd      }| j                  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        ||       y )Nr  r2   r%   )	precisionscalez8093.234z8094.234z8095.234z8096.234z8097.234z8098.234)r  r7   r  rn   r$   )rq   r0  
decimal128rA  decimalDecimalrF   rG   
ArrowDtyper   r   r7   r   )papa_dtyper  rO   r   rc   r  s          rQ   $test_pyarrow_decimal_extension_dtyper    s    			Y	'B}}q}2H88OOJ'OOJ'OOJ'OOJ'OOJ'OOJ'	
   
D 
sDkx)@	AB
..
+Crttq Heeceemq FhrS   c                    t         j                  j                  ddi      5  t        j                  dt        d      id      } t        | j                  t        j                        sJ t        | | j                                t        j                  t        d      5  | j                  d	       d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)
Nzdataframe.backendpandasr+   rU   r$   rn   zNo backend dispatch registeredrv   missing)ri   configr  r   r  r  rE   r   rF   rG   r   
to_backendrq   rr   rs   r   s    rQ   test_to_backendr  %  s    	-x8	9 
%\\3b	*:"((BLL111 	"bmmo& ]]:-MN 	%MM)$	%
% 
%	% 	%
% 
%s$   A>C C2CC	CCrb  r  c                ^   t        j                  g dg dd      }t        j                  |d      }|j	                  d      j                  |       }|j	                  d      j                  |       d   |d<   |j	                  d      j                  | |	      d   |d<   t        ||       y )
Nr"   r]  )r  grouperr$   rn   r  r  r  r  )rF   rG   r   r   r  r/  r   )r\  rO   r   r  s       rQ   test_transform_getitem_worksr  4  s    	yY?	@B
..
+C
 ::i **40D

9%//5f=BuIY'11$T1B6JCJb#rS   zdf,condr7   r   )r%   r'   r(   r)   c                ^   t        j                  | d      }t        j                  t        d      5  |j                  |d       ddd       t        j                  t        d      5  |j                  |d       ddd       t        j                  || j                  | j                        }| j                  |d      }|j                  |d      }t        ||       | j                  |d      }|j                  |d      }t        ||       y# 1 sw Y   xY w# 1 sw Y   xY w)	z`DataFrame.mask fails for single-row partitions
    https://github.com/dask/dask/issues/9848
    r$   rn   zcan be aligned|shaperv   r(   )r  r  Nrj  )r   r   rq   rr   rs   r  r  rF   rG   r.   rZ   r   )rO   r  r   dd_condrc   r  s         rQ   test_mask_where_array_liker
  D  s    ( ..
+C 
z)?	@ %d!$% 
z)?	@ &		t1	%& ll4rxxDGwwDw*HXX7!X,FhxxTx+HYYG1Y-Fh% %& &s   D*D#D #D,c                 D   t        j                  dddgi      } t        j                  | d      }t	        | j                  d d      |j                  d d             t	        | j                  j                  d d	      |j                  j                  d
 d	             y)z)https://github.com/dask/dask/issues/10282r7   r#   Nrn   c                "    | j                         S r   r  rX   s    rQ   r   z*test_mask_where_callable.<locals>.<lambda>r  s    !&&( rS   r%   c                "    | j                         S r   r  r  s    rQ   r   z*test_mask_where_callable.<locals>.<lambda>r  s    AFFH rS   c                    | dk(  S r   rk   r  s    rQ   r   z*test_mask_where_callable.<locals>.<lambda>u  s
    AF rS   r$   c                    | dk(  S r   rk   r  s    rQ   r   z*test_mask_where_callable.<locals>.<lambda>u  s
    a1f rS   )rF   rG   r   r   r   r  r7   r9  s     rQ   test_mask_where_callabler  l  sy    
,,aY'
(C
..!
,C cii*A.		:La0PQ ceekk*A.<La0PQrS   c                 R   ddl m} m} t        j                  d       t        j                  t        j                  j                  dd      t        d            }t        j                  dd	gd
z  d      |d<    ||      } | |      }|j                  |j                        sJ y )Nr   pyarrow_schema_dispatchto_pyarrow_table_dispatchr  rU   r%   rw  rZ  r  dogr(   string[pyarrow]r  rX   dask.dataframe.dispatchr  r  rq   r0  rF   rG   rH   r   r   r   rL   r  schema)r  r  rO   tabler  s        rQ   test_pyarrow_schema_dispatchr  x  s    
 	"	biioob!,d5k	BBii*2CDBsG%b)E$R(F==&&&rS   preserve_indexc                Z   ddl m}m} t        j                  d       t        j                  t        j                  j                  dd      t        d            }t        j                  dd	gd
z  d      |d<    |||       } |||       }|j                  |j                        sJ y )Nr   r  r  rU   r%   rw  rZ  r  r  r(   r  r  rX   )r  r  )r  r  r  rO   r  r  s         rQ   ,test_pyarrow_schema_dispatch_preserves_indexr     s    
 	"	biioob!,d5k	BBii*2CDBsG%bHE$RGF==&&&rS   self_destructc                d   ddl m}m} t        j                  d       t        j                  t        j                  j                  dd      t        d            }t        j                  dd	gd
z  d      |d<    || ||      |       }t        |      t        |      k(  sJ t        ||       y )Nr   from_pyarrow_table_dispatchr  r  rU   r%   rw  rZ  r  r  r(   r  r  rX   )r!  )r  r$  r  rq   r0  rF   rG   rH   r   r   r   rL   r  r   )r!  r$  r  r   r  s        rQ    test_pyarrow_conversion_dispatchr%    s    
 	"
,,ryyr1-tE{
CCyy%!+3DECH
%!#&#C 9S	!!!c3rS   c                    ddl m} m} t        j                  d      }|j                  t        j                  j                  dd      t        d            } | | ||            }t        |      t        |      k(  sJ t        ||       y )Nr   r#  r  rU   r%   rw  rZ  )r  r$  r  rq   r0  rG   rH   r   r   r   r  r   )r$  r  r  r   r  s        rQ   %test_pyarrow_conversion_dispatch_cudfr'    sp    
 v&D
..Q/e.
EC
%c+DS+I
JC9S	!!!c3rS   c                     t        j                  dt        d      i      } t        j                  | d      }t        | |j                                y )Nr7   rf  r(   )rF   rG   r  r   r   r   enforce_runtime_divisionsr9  s     rQ   test_enforce_runtime_divisionsr*    s<    
,,U2Y'
(C
..a
 Cc30023rS   c                 H   t        j                  dgt        j                  t         j                  j	                  d      gd      d      } t        j                  | d      }t        t        |j                        j                  | j                         t        ||        y )Nr#   UTCzdatetime64[us, UTC]r  )r+   	timestamprn   )rF   rG   rL   r  nowr   r   r   r   r   r  r   s     rQ   &test_preserve_ts_unit_in_meta_creationr/    sw    
,,!!%()1F	
C 
	+BmBHH%,,cjj9b#rS   c            	        t        j                  d      } t        j                  dd      }| j	                  |t        t        d            t        t        d            ddd	g
      }t        j                  dd      j                         dgd} |j                  di |j                         }t        t        |g      j                         j                               dk  sJ y )Nxarray)p  ȯ  )rd  r2  )rN  rX  r2  r3  )c1c2r4  r5  )r"  dimsz
2024-11-01z
2024-11-10iq  rd  rk   )rq   r0  r=  r  	DataArrayr   r  rF   r   to_numpyreindexto_dask_dataframer   r   r  r  )xrr+   
sel_coordsr  s       rQ   test_from_xarrayr=    s    			X	&B
}Z8A
	eDk*$uU|2DETSWL 	 	A mmL,7@@BgJ
 QYY$$668F)224CCEFKKrS   c                 p   t        j                  d      } t        j                  j	                  d      }t        j
                  dd      }t        d      }| j                  dt        j                  |d      fd|fd|fd	      }t        j                  ||d
t        j                  |d            }t        j                  |d      }|j                  d      }t!        |t        j                        sJ t        j"                  j%                  |j'                         |j'                                y )Nr1  rU   uint8r  r   r  r'   rW  )r+   r,   r  r*   r   r-   r  T)r'  )rq   r0  rH   r   r   r>  r   Datasetr=  r9  rF   rG   r[   r   r   r:  rE   r  r  r]   )r;  r7   r   r  r   expected_pdrc   r   s           rQ   "test_from_xarray_string_conversionrB    s    			X	&B
		A
		"G$A\A	BMM!A./sAhc1XN
B ,,QQ/rxx7LMK~~kQ7H!!D!1Ffbll+++JJ!!&.."2H4D4D4FGrS   c                 n   t        j                  g ddd      } t        j                  | d      }d }d }|dg   j	                  |d t
        f	      } t        |      |      }t        t        t        |j                  j                  j                                     d
k(  sJ |j                          y )Nr"   r#   r*   r$   rn   c                >    | j                         j                         S r   r  r   s    rQ   	test_funcz.test_dataframe_into_delayed.<locals>.test_func  s    vvx||~rS   c                .    | j                         dk(  sJ y )Nr)   r  )rQ  s    rQ   delayed_funcz1test_dataframe_into_delayed.<locals>.delayed_func  s    uuw!||rS   r+   r  r)   )rF   rG   r   r   r  rw  r	   r  r  r   ri   layersr  r]   )r   rO   rE  rG  r  s        rQ   test_dataframe_into_delayedrI    s    
,,YQ/
0C		+B 
SE	!	!)4+	!	>B"W\"2&Fs3**11345:::
NNrS   c                 4   d } t         j                  j                  dd      }|j                  | t        j                  t
        j                  j                  d                  }t        j                  |j                               }t        ||d       y )	Nc                ,    t        j                  |       S r   r  )r  s    rQ   r   z(test_array_to_df_conversion.<locals>.foo  s    ||C  rS   r=  r  rW  )r#   rU   r  Fr  )r=  r   
map_blocksrF   rG   rH   r]   r   )r   r  r  rc   s       rQ   test_array_to_df_conversionrM    sl    ! ))

9X

6C^^Cbll2993C3CG3L&M^NF||CKKM*HfhE2rS   c                $   t        j                  dt        d      i      }t        j                  ||       }d }|j
                  j                  t        j                        j                  |      j                         }t        |      |j                  k(  sJ t        |      t        |j
                        k(  sJ |j
                  j                  t        j                        j                         j                         |j                  k(  sJ y )Nr7   rf  c                >    t        | t        j                        sJ | S r   )rE   rF   rL   r   s    rQ   assert_seriesz8test_map_partitions_always_series.<locals>.assert_series  s    !RYY'''rS   )rF   rG   r  r   r   r7   r  r   ra  r]   r   ro   r  )ro   r   r   rP  r   s        rQ   !test_map_partitions_always_seriesrQ    s    
,,U2Y'
(C
..k
*C %%

quu
%
4
4]
C
K
K
MCs8s&&&s8s355z!!!55&,,.668COOKKKrS   c                     t        j                  t        d      g dd      j                  d      } t	        j
                  | d      }|j                  d   }t        |      t        u sJ y )Nr0   r#   r(   rU   rF  r  rx   r  ,  r+   r.   r.   r%   rn   r   )	rF   rG   r  r'  r   r   r<   r  rw  rO   r   r  s      rQ   !test_partitions_are_plain_scalarsrW     s\    	Ah!BC
i  ..
+C]]1F<3rS   c                    t        j                  t        d      t        j                  dd      d      j	                  d      } t        j                  | d      }|j                  d   }t        |      t         j                  u sJ y )	Nr0   2000r  rU  r.   r%   rn   r   )
rF   rG   r  r   r'  r   r   r<   r  r  rV  s      rQ   *test_datetime_partitions_are_plain_scalarsrZ  +  sj    	Ahvq!AB
i  ..
+C]]1F<2<<'''rS   c                    t        j                  g d      } t        j                  t        d      g dd      j	                  d      }t        j                  |d      }|j                  |    }t        |j                  d         t        u sJ |j                  | j                            }t        |j                  d         t        u sJ y )	N)r#   rx   rT  r0   rS  rU  r.   r%   rn   r   )rF   rL   rG   r  r'  r   r   r  r  r<   rw  rD  )indexerrO   r   r  s       rQ   %test_loc_partitions_are_plain_scalarsr]  5  s    ii&G	Ah!BC
i  ..
+CWWWF  #$+++WWW^^%&F  #$+++rS   r   )T(  
__future__r   r  r  sysr}   r  r   r   	itertoolsr   operatorr   numpyrH   r   rF   rq   pandas.errorsr   ri   
dask.arrayrA  r=  dask.dataframer  r   dask.dataframe.groupbyr	   dask._compatibilityr
   	dask.baser   r   r   dask.dataframe._compatr   r   r   r   dask.dataframe._pyarrowr   dask.dataframe.corer   r   r   r   r  r   dask.dataframe.utilsr   r   r   r   r   r   
dask.utilsr   r   r    r/  ImportErrorpyarrow.libr!   r  rG   rg   r[   r  r  r  r  rX   r]   r\   rR   rd   rl   rt   r   r   r   r   r   r   r   r   r   r   r   r   r   r   markparametrizeparamskipifr  r  r!  r$  rr  r-  r3  rE  version_inforR  rW  r[  rM  rN  rO  r  rP  r_  rm  rw  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r  r%  r(  r,  r1  r5  r:  rE  rG  rI  rL  rP  rS  r`  rb  re  rL   ru  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  r6  rB  rD  rF  rH  rJ  rP  slowr]  rc  rh  rp  rr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rw  r	  r  r  r  r  r  r  r  r   r#  r(  r+  r.  r4  r8  r<  rA  rH  rJ  rc  ri  rp  rs  ry  r}  r  r  r  r  r  rA  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*  rz  NAr/  r2  r6  r;  r=  rA  rC  rE  r>  rh   r   r   rO  rU  rX  r[  r^  rg  r   rl  rn  rp  rt  rw  ry  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rI   r  r  r  r  r  r  r  r  r  r  r  r  r  asarray
to_recordsr  r$  r&  r)  r,  r/  skip_with_pyarrow_stringsr8  rF  rS  rU  rW  rY  r\  r^  r`  rb  re  rh  rr  ru  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'  r*  r/  r=  rB  rI  rM  rQ  rW  rZ  r]  rk   rS   rQ   <module>rz     s   "   
   (      ,      ' ) + R R 5  2  < ;,4
 bll;9Mbll;9Mbll;9M
 
T("((2t"4,",,. BNN9299SZZ\*lCyy{	*8!8/
!
GCB2*&+6$
#8 ++$$Y7G$H	

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

' tUm4q!f%)FC=9}o&FG  H : & 5 $	
! 5!:;	G I < 6 + *$ C.	md.	md.	m(:$G'%H8	
 
u51	-V4	u51	md.	a	 ,",,q"9:1:);:)">70	?5$5" dE]37 47"6	83=@$#,	 
	u
))%'	(5'2
t	''*XID8
v71I cUBK0. 1."1G
G
?
K,4 eU^4 5 eT]3, 4,, 	E4 	uhbhhr./,,$#*/Z(* %.DEtX&67G 8 FG M*<=! >!??$) ##0#. HI#	 J #(,3^ HI# J # ! q!f-1 .1  2 2 ++##+H#I	
 		
 	!!)F!G	
$'7%$'7T7)/X6"'J+2 
+ (("5,0&:D"$-B bffbee'<= >#4
-+ D%=1			#ryyS)*j#.F 2FR (H!56 74*!ZG B	+ dBHHbii%JK# L#(-",, *,TU( V( )K+EF% G%$#"C 
3A/j1K 2 0 4K" q	2 3( q	2 31662* 4-0$/  0 1   4-0$/  0 1  $/  0  4-0$/3 0 134 "#"0 V[[//E	BR/S	
C T(Q RS   T  F0* RVVQK!Q#8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	*LBLL,@$G	vr	*D,",,|2LM	vr	*LBLL,@$G	vr	*D,",,v2FG"&#"&L	*8 "**all!;</ =/*:.@N"@! &&$ '$ w&9:3 ;3& 01
2 2
2J-:O&E%K 01	H 2	H#2 1v.q!f-%7+eT];  < 8 . / 0 &&3 '3 &&1 '1 D%=1!Q( ) 2BD ./- 0- ./3 03&7,:0)> 	 UDM27 34
O 5 3	
O	I	U
S 3,/Iw#78A/  0 9 0 9 	 	  .% %0 1 	sQFmAq6	2dVeW4EF	QF!Q0	1T5MD%=3QR	QF!Q0	1T4L5%.3QRBLL|,?@D\D$<%%H	

 BLL|,?@E]T5MD%=4-H	
  !  0	R'  )D%=9' :'  4-8 9(  4$H "3 A/L 0L(
,Oh  E
  ,+,s.   .Aj. 3Aj< j.Aj9j8Aj9j<AkkAk