
    bi|                    
   d dl mZ d dlZd dlZd dlmZ d dlZd dlZd dl	Z	d dl
mZ d dlmZ d dlmZmZ d dlmZ d dlmZmZ 	 d dlZ	 d dlZd dlmZ d	 Ze	j<                  j>                  d
        Z d`dZ!d`dZ"d Z#e	j<                  jI                  dddg      d        Z%e	j<                  jI                  dddg      d        Z&e	j<                  jI                  dd dg      e	j<                  jI                  dg d      d               Z'e	j<                  jI                  dddg      e	j<                  jP                  d               Z)e	j<                  jI                  dddg      d        Z*d Z+d Z,e	j<                  jI                  dddg      d        Z-e	j<                  jI                  ddd d!d"d#d$d%d ifd$d&difd$d dd'fd(d)d*d+d,d%d ifd,d&difd,d dd'fd-d.d%d ifd.d&difd.d dd'fg      e	j<                  jI                  d/dd e	j\                  de	j<                  j_                  dd0d1      2      g      d3               Z0d4 Z1e	j<                  jI                  d5g d6      d7        Z2e	j<                  jI                  d5d8d,g      d9        Z3e	j<                  jI                  d5d:d;g      d<        Z4e	j<                  jI                  dddg      d=        Z5e	j<                  jI                  d>g d?      d@        Z6dA Z7dB Z8e	j<                  js                  dC      dD        Z:e	j<                  jI                  d5g dE      dF        Z;e	j<                  jI                  dGg dH      e	j<                  jI                  dId dJg      dK               Z<dadLZ=e	j<                  jI                  dd dg      e	j<                  jI                  d/g dM      dN               Z>e	j<                  j                  dO      e	j<                  jI                  dd dg      e	j<                  jI                  d&ddg      e	j<                  jI                  d/g dM      dP                             Z@e	j<                  jI                  d&ddg      e	j<                  jI                  d/g dM      dQ               ZAdR ZBdS ZCe	j<                  jI                  dT e	j\                  dUe	j<                  js                  edu dVW      2       e	j\                  dXe	j<                  js                  edu dVW      2      dYdZd[d\g      e	j<                  jI                  d5g d]      d^               ZDd_ ZEy# e$ r dZY w xY w# e$ r dZdZY w xY w)b    )annotationsN)datetime)	is_scalar)NUMPY_GE_125NUMPY_GE_200)PANDAS_GE_300)	assert_eqpyarrow_strings_enabled)ArrowNotImplementedErrorc                    t        j                  g dg dd      } t        j                  | d      }t	        |j
                  |j                  dz  z   j                        t	        |j
                  |j                  dz  z   j                        k(  sJ t	        |j
                  |j                  dz  z   j                        t	        |j
                  |j                  dz  z   j                        k7  sJ t	        |j
                  |j                  dz  z   j                        t	        |j
                  |j                  dz  z
  j                        k7  sJ y )N                        xyr   npartitionsr   )pd	DataFrameddfrom_pandassortedr   r   dask)dfas     j/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/dask/dataframe/tests/test_arithmetics_reduction.py#test_deterministic_arithmetic_namesr%      s    	L|<	=B
rq)A133a<%%&&!##Q,1D1D*EEEE133a<%%&&!##Q,1D1D*EEEE133a<%%&&!##Q,1D1D*EEEE    c                 .	   t        j                  g dg ddg d      } t        j                  | d      }t        j                  g dg ddg d      }t        j                  |d      }t        j                  g dg ddg d      }t        j                  |d      }t        j                  g dg ddg d	      }t        j                  |d      }t        j                  g dg ddg d
      }t        j                  |d      }	t        j                  g dg ddg d      }
t        j                  |
d      }||| |f|||| f|j	                  g d      |j	                  g d      | |f|j	                  g d      |j	                  g d      || f||||f||||f|j	                  g d      |j	                  g d	      ||f|j	                  ddg      |j	                  g d      ||f|	|||
f||	|
|f|	j	                  g d      |j	                  g d      ||
f|j	                  ddg      |	j	                  g d      |
|f||| |f|| || f||||f||||f|	|
||
f|||
|fg}|D ]O  \  }}}}t        |j                  |j                  |j                  |j                  d       t        ||||d       Q t        j                  g dg ddg d      }t        j                  g dg ddg d      }t        j                  |d      }t        j                  |d      }t        j                  g dg ddg d      }t        j                  g dg ddg d       }t        j                  |d      }t        j                  |d      }||||f||||f|j	                  g d!d"#      |j	                  g d$d"#      ||f|j	                  g d%      |j	                  g d&d"#      ||f|j	                  g d'd"#      |j	                  g d(d"#      ||f||||f||||f||||f||||f||||f||||fg}|D ]O  \  }}}}t        |j                  |j                  |j                  |j                  d       t        ||||d       Q y ))Nr   r   r   r   r   )r   r   r   r   r   r#   bindexr   )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   r.   r2   )r   r   r   r   )r   r   r   r-   )r   r   r   r   r   )r   r   r   r-   F)allow_comparison_opsr   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r   r-   r.   r/   r1   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r   r-   r/   r0   r1   r   )r   r   r   r   r-   r/   r0   r1   )r.      T)force)r   r/   r2   )r   r   r0   r1   )r   r   r   r0   r1   )r5   r   r.      )r8   r   r/   r1   )	r   r   r   r   repartitioncheck_series_arithmeticsr#   r*   check_frame_arithmetics)pdf1ddf1pdf2ddf2pdf3ddf3pdf4ddf4pdf5ddf5pdf6ddf6caseslrelerpdf7pdf8ddf7ddf8pdf9pdf10ddf9ddf10s                            r$    test_arithmetics_different_indexrV   '   s    <<O4OD >>$"D<<O4OD >>$"D <<O4OD >>$"D<<O4<PD >>$"D <<O4OD >>$"D<<O4OD >>$"D 
tT4 	tT4 			)	$d&6&6y&A4N			,	')9)9,)GtT	tT4 	tT4 _-12		
 
		2r(	#T%5%5l%CT4P	tT4 	tT4 			,	')9)9,)GtT			1a&	!4#3#3L#A4N	tT4 	tT4 	tT4 	tT4 	tT4 	tT4 1E6  J1b" acc244ER1b"5IJ <<&-EF)D <<&-EF)D >>$"D>>$"D<<&-EF)D LL&-EF)E >>$"DNN5!$E 
tT4 	tT4 
 \6_D9		
 ^,.d;		
 _D9_D9		
 
udE"	eT"	tT4 	tT4 	udE"	eT"=EB  J1b" acc244ER1b"5IJr&   Tc                p   t        | t        j                        sJ t        |t        j                  t        j                  f      sJ t        |t        j                        sJ t        |t        j                        sJ t	        | |       t	        ||       t	        | |z   ||z          t	        | |z  ||z         t	        | |z
  ||z
         t	        | |z  ||z         t	        | |z  ||z         t	        | |z  ||z         t	        | |z  ||z         |rt	        | |z  ||z         t	        | |z  ||z         t	        | |z  ||z         t	        | |kD  ||kD         t	        | |k  ||k         t	        | |k\  ||k\         t	        | |k  ||k         t	        | |k(  ||k(         t	        | |k7  ||k7         t	        | j                  |      |j                  |             t	        | j                  |      |j                  |             t	        | j                  |      |j                  |             t	        | j                  |      |j                  |             t	        | j                  |      |j                  |             t	        | j                  |      |j                  |             t	        | dz   |dz          t	        | dz  |dz         t	        | dz
  |dz
         t	        | dz  |dz         t	        | dz  |dz         t	        | dz  |dz         t	        | dz  |dz         t	        | dz  |dz         t	        | dz  |dz         t	        | dz  |dz         t	        | dkD  |dkD         t	        | dk  |dk         t	        | dk\  |dk\         t	        | dk  |dk         t	        | dk(  |dk(         t	        | dk7  |dk7         t	        d|z   d|z          t	        d|z  d|z         t	        d|z
  d|z
         t	        d|z  d|z         t	        d|z  d|z         t	        d|z  d|z         t	        d|z  d|z         t	        d|z  d|z         t	        d|z  d|z         t	        d|z  d|z         t	        d|kD  d|kD         t	        d|k  d|k         t	        d|k\  d|k\         t	        d|k  d|k         t	        d|k(  d|k(         t	        d|k7  d|k7         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	        |  |        t	        t        |       t        |             |rt	        | |k(   ||k(          y y Nr   T)
isinstancer   Seriesr   r	   ltgtlegeneeqabsrJ   rK   rL   rM   r3   s        r$   r;   r;      sJ   a###a"))RYY/000b"))$$$b"))$$$ aaa!eR"Wa!eR"Wa!eR"Wa!eR"Wa1fbBhadBFa!eR"W!a%b!!a%b!!a%b!!a%b!!a%b!!q&"(#!q&"(#!q&"(#!q&"(#!$$q'2559%!$$q'2559%!$$q'2559%!$$q'2559%!$$q'2559%!$$q'2559%a!eR!Va!eR!Va!eR!Va!eR!Va$hT	"a$hT	"a$hT	"a1fbAgadBEa!eR!Va!eR!Va!eR!Va1fbAga1fbAga1fbAga1fbAga!eQVa!eQVa!eQVa!eQVdQhr	"dQhr	"dQhr	"a1fa2gadArEa!eQVa!eQVa!eQVa1fa2ga1fa2ga1fa2ga1fa2gadd1gruuQx add1gruuQx add1gruuQx add1gruuQx add1gruuQx add1gruuQx qb2#c!fc"gAF)rRx[) r&   c                p   t        | t        j                        sJ t        |t        j                  t        j                  f      sJ t        |t        j                        sJ t        |t        j                        sJ t	        | |       t	        ||       t	        | |z   ||z          t	        | |z  ||z         t	        | |z
  ||z
         t	        | |z  ||z         t	        | |z  ||z         t	        | |z  ||z         t	        | |z  ||z         |rt	        | |z  ||z         t	        | |z  ||z         t	        | |z  ||z         t	        | |kD  ||kD         t	        | |k  ||k         t	        | |k\  ||k\         t	        | |k  ||k         t	        | |k(  ||k(         t	        | |k7  ||k7         t	        | j                  |      |j                  |             t	        | j                  |      |j                  |             t	        | j                  |      |j                  |             t	        | j                  |      |j                  |             t	        | j                  |      |j                  |             t	        | j                  |      |j                  |             t	        | dz   |dz          t	        | dz  |dz         t	        | dz
  |dz
         t	        | dz  |dz         t	        | dz  |dz         t	        | dz  |dz         t	        | dz  |dz         t	        | dz  |dz         t	        | dz  |dz         t	        | dz  |dz         t	        | dkD  |dkD         t	        | dk  |dk         t	        | dk\  |dk\         t	        | dk  |dk         t	        | dk(  |dk(         t	        | dk7  |dk7         t	        d| z   d|z          t	        d| z  d|z         t	        d| z
  d|z
         t	        d| z  d|z         t	        d| z  d|z         t	        d| z  d|z         t	        d| z  d|z         t	        d| z  d|z         t	        d| z  d|z         t	        d| z  d|z         t	        d| kD  d|kD         t	        d| k  d|k         t	        d| k\  d|k\         t	        d| k  d|k         t	        d| k(  d|k(         t	        d| k7  d|k7         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	        |  |        t	        t        |       t        |             |rt	        | |k(   ||k(          y y rX   )rY   r   r   r   r	   r[   r\   r]   r^   r_   r`   ra   rb   s        r$   r<   r<      sH   a&&&a",,5666b",,'''b",,'''aaa!eR"Wa!eR"Wa!eR"Wa!eR"Wa1fbBhadBFa!eR"W!a%b!!a%b!!a%b!!a%b!!a%b!!q&"(#!q&"(#!q&"(#!q&"(#!$$q'2559%!$$q'2559%!$$q'2559%!$$q'2559%!$$q'2559%!$$q'2559%a!eR!Va!eR!Va!eR!Va!eR!Va$hT	"a$hT	"a$hT	"a1fbAgadBEa!eR!Va!eR!Va!eR!Va1fbAga1fbAga1fbAga1fbAga!eQVa!eQVa!eQVa!eQVdQhr	"dQhr	"dQhr	"a1fa2gadArEa!eQVa!eQVa!eQVa1fa2ga1fa2ga1fa2ga1fa2gadd1gruuQx add1gruuQx add1gruuQx add1gruuQx add1gruuQx add1gruuQx qb2#c!fc"gAF)rRx[) r&   c                 r   t        j                  t        j                  d      t        j                  ddddgdz  t        j                  gdz  t        j                  d      dt        d      t        d      	      } t        j                  t        j                  j                  dd      t        d
      t        d      	      }| j                  }|j                  }t        j                  t        j                  j                  d      t        d            }t        j                  | d      }t        j                  |d      }|j                  }|j                  }d}	||| |f||||f|j                  g d      || |f|j                  g d      |||f||j                  ddg      | |f||j                  g d      ||f|d| df|d|df||	| df||	|dff
D ]   \  }
}}}t        |
|       t        ||       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      |j-                  |d             t        |
j/                  |d      |j/                  |d             t        |
j1                  |d      |j1                  |d             t        |
j3                  |d      |j3                  |d             t        |
j5                  |d      |j5                  |d             t        |
j7                  |d      |j7                  |d             t        |
j9                  |d      |j9                  |d             t        |
j;                  |d      |j;                  |d              ||| |f||j<                  | |j<                  ffD ]  \  }
}}}t        |
|       t        ||       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      |j+                  |d             t        |
j/                  |d      |j/                  |d             t        |
j1                  |d      |j1                  |d             t        |
j3                  |d      |j3                  |d             t        |
j5                  |d      |j5                  |d             t        |
j7                  |d      |j7                  |d             t        |
j;                  |d      |j;                  |d             t        |
j9                  |d      |j9                  |d             t?        j@                  tB        |
|fd       ! ||| |f||| |ffD ]	  \  }
}}}t        |
|       t        ||       dD ]  }t        |
j                  ||      |j                  ||             t        |
j                  ||      |j                  ||             t        |
j!                  ||      |j!                  ||             t        |
j#                  ||      |j#                  ||             t        |
j%                  ||      |j%                  ||             t        |
j'                  ||      |j'                  ||             t        |
j)                  ||      |j)                  ||             t        |
j-                  ||      |j-                  ||             t        |
j+                  ||      |j+                  ||             t        |
j5                  ||      |j5                  ||             t        |
j7                  ||      |j7                  ||             t        |
j9                  ||      |j9                  ||             t        |
j;                  ||      |j;                  ||             t        |
j/                  ||      |j/                  ||             t        |
j1                  ||      |j1                  ||             t        |
j3                  ||      |j3                  ||               y )Nr.   r   r   r   r   ABCD
abcdefghijABCD)r,   columns
abcdefghjkABCX
ABCDXabcder+   )r#   fj)r#   r*   rp   rq   r#   k)r#   r*   dhrr   r   
fill_valueaxisc                (    | j                  |d      S )Nr   rw   )add)rJ   rK   s     r$   <lambda>z6test_frame_series_arithmetic_methods.<locals>.<lambda>  s    15553C r&   r   r   r,   rl   )"r   r   nparangenanlistrandomrandnrf   rZ   r   r   r:   r	   rz   submuldivdividetruedivfloordivpowmodraddrsubrmulrdivrtruedivrpowrmodXpytestraises
ValueError)r=   r?   ps1ps2ps3r>   r@   ds1ds2srJ   rK   rL   rM   rx   s                  r$   $test_frame_series_arithmetic_methodsr   K  sQ	   <<2&&!Q1%)&&B2		
 < V	D <<
		Ad<&8$v,D &&C
&&C
))BIIOOB'tL/A
BC>>$"D>>$"D
&&C
&&C	A 
tT4 	c3			/	*D$=	-	.S#>	tc
+T48	coo78#sC	q$	aa	q$	aa  F1b" 	!R!R!%%a%("&&&*BC!%%a%("&&&*BC!%%a%("&&&*BC!%%a%("&&&*BC!((1(+RYYraY-HI!))A!),bjjj.JK!**Q1*-r{{2!{/LM!%%a%("&&&*BC!%%a%("&&&*BC!&&q&)2772!7+DE!&&q&)2772!7+DE!&&q&)2772!7+DE!&&q&)2772!7+DE!**Q1*-r{{2!{/LM!&&q&)2772!7+DE!&&q&)2772!7+DEA FD T3/$dff1MN E1b"!R!R 	!%%%"BFF2AF$67!%%%"BFF2AF$67!%%%"BFF2AF$67!%%%"BFF2AF$67!((11(%ryy!y'<=!))AA)&

2A
(>?!**QQ*'Ra)@A!%%%"BFF2AF$67!%%%"BFF2AF$67!&&&#RWWRaW%89!&&&#RWWRaW%89!&&&#RWWRaW%89!&&&#RWWRaW%89!**QQ*'Ra)@A!&&&#RWWRaW%89!&&&#RWWRaW%89j1"CD1E4 dD1D#tS3IJ D1b"!R!R. 	DDaeeADe)266"46+@AaeeADe)266"46+@AaeeADe)266"46+@AaeeADe)266"46+@Aahhqth,biii.FGaiii-rzz"4z/HIajjj.BT0JKaeeADe)266"46+@AaeeADe)266"46+@AaffQTf*BGGBTG,BCajjj.BT0JKaffQTf*BGGBTG,BCaffQTf*BGGBTG,BCaffQTf*BGGBTG,BCaffQTf*BGGBTG,BCaffQTf*BGGBTG,BC!	D	Dr&   split_everyFr   c           
        t        j                  g dg dg ddg d      t        j                  g dg dg ddg d	      t        j                  g d
g dg ddg d      d}t        j                  t        j                  |j                               g d      }|j                         }t        j                  dgt        j                  gdz  z   dgz   t        j                  gdz  z         }t        j                  |d      }t        j                  dgt        j                  gdz  z         }t        j                  |d      }t        j                  t        j                  gdz        }t        j                  |d      }	t        j                  g dt              }
t        j                  |
d      }|j                  |j                  f|j                  |j                  f|j                  |j                  f|d   |d   f|d   |d   f||f||f|	|f||
ff	D ]N  \  }}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+                                t!        |j-                  |       |j-                                t.        r|j0                  d   }||dz
  z  dz  |dz
  z  }t!        |j3                         |j3                         |z         t5        j6                  t8        d      5  |j3                  d         d d d        t.        r|j0                  d   }|dz
  |dz   z  |dz
  |dz
  z  z  }d!|dz
  z  |dz
  |dz
  z  z  }t!        ||j;                         z  |z   |j;                                t5        j6                  t8        d      5  |j;                  d         d d d        t=        j>                         5  t=        j@                  d"tB               t!        |jE                  |       |jE                                t!        |jG                  |       |jG                                t!        |jI                  |       |jI                                d d d        t=        j>                         5  t=        j@                  d"tB               t!        |jE                  d| #      |jE                  d$             t!        |jG                  d| #      |jG                  d$             t!        |jI                  d| #      |jI                  d$             d d d        t!        |jK                  |       |jK                                t!        |jM                  |       |jM                                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!        |jE                  d%| &      |jE                  d%'             t!        |jG                  d%| &      |jG                  d%'             t!        |jI                  d%| &      |jI                  d%'             t!        |jE                  d%d| (      |jE                  d%d)             t!        |jG                  d%d| (      |jG                  d%d)             t!        |jI                  d%d| (      |jI                  d%d)             t!        |jK                  d%| &      |jK                  d%'             Q t!        |jN                  j)                  |       |jN                  j)                                t!        |jN                  j+                  |       |jN                  j+                                t!        |jN                  j-                  |       t        jP                  |jN                        j#                                y # 1 sw Y   hxY w# 1 sw Y   xY w# 1 sw Y   )xY w# 1 sw Y   xxY w)*Nr   r   r   r   r   r   )TTFr#   r*   cr   r   r   r+   r   r   r   )FFFr   r   r   )l   "9 l   M ivr   r   r   )TTTr-   r-   r-   )r   r   )r   r   )r   r   r   r   r-   r-   )	divisionsr   r   r   r   r   r-   )TFTFTdtyper#   r*   r   r   g      ?z%`axis=None` isn't currently supportedmatchrw   r   ignoreddofr   r   Fskipnar   r   r   r   r   r   r   ))r   r   r   r:   concatvaluescomputerZ   r}   r   r   boolr#   r*   r   rY   r	   sumprodproductminmaxcountscipyshapeskewr   r   r   kurtosiswarningscatch_warningssimplefilterRuntimeWarningstdvarsemmeannuniquer,   notnull)r   dskr>   r=   nans1nands1nans2nands2nans3nands3boolsbooldsddspdsnbias_factorfactoroffsets                     r$   test_reductionsr     sm    ,,)2EFi
 ,,)2GH
 ,,9'
 
C" >>"))CJJL1\JD<<>DIIqcRVVHqL(A3."&&A=>E^^E1%FIIqcRVVHqL()E^^E1%FIIrvvhl#E^^E1%FII6dCE^^E1%F 
			cDI	cDI				
 \
S #ryy)))#ryy)))#''k'2CGGI>#(({(3SXXZ@#++++6F#''k'2CGGI>#''k'2CGGI>#)))4ciikB		!AA;3.!a%8Kchhj#((*{":; "I $ d#$
 		!A1uQ'QUq1u,=>F1q5kq1uQ&78Ffs||~-6G "I ( $'(
 $$& 	C!!(N;cgg+g6	Bcgg+g6	Bcgg+g6	B	C $$& 	Q !!(N;cgg1+g>QPcgg1+g>QPcgg1+g>QP	Q 	#(({(3SXXZ@#++++6F#''K'@#''QV'BWXHHE{H;SXXUX=S	
 	KKu+K>KKuK%	
 	#''K'@#''QV'BWX#''K'@#''QV'BWX#''K'@#''QV'BWX#''K'@#''QV'BWX#''K'@#''QV'BWXGG5qkGBGG5qG)	
 	GG5qkGBGG5qG)	
 	GG5qkGBGG5qG)	
 	HHE{H;SXXUX=S	
u\
~ djjnnn5tzz~~7GHdjjnnn5tzz~~7GHdjj;7DJJ9O9S9S9UVI$ $( (
	C 	C	Q 	Qs2   e/eBeB"e+e	e	e(	+e5	c           	        t        j                  t        j                  dddt        j                  dg            }t        j                  |d      }t        |j                  |       |j                                t        |j                  |       |j                                t        |j                  |       |j                                t        |j                  |       |j                                y )Nr   r   r   r   r   )r   rZ   to_timedeltar}   r   r   r   r	   r   r   r   r   )r   dsr   s      r$   test_reductions_timedeltar   ;  s    	2??Aq!RVVQ#78	9B
..Q
Ccgg+g.9cgg+g.9cgg+g.9ciiKi0"((*=r&   rx   r   redfunc)
r   r   r   r   r   r   r   r   allanyc                t   t        j                  g dg ddg d      }t        j                  |d      }t        rO|dk(  rJt        j                  t        d	      5  t        t        |      }d d d        t        j                  d
       t        t        |      }|dv r ||| d      } ||| d      }n^t        rD|dk(  r?t        s9 |||       }t        j                  t        d	      5   |||       }d d d        n |||       } |||       }t        |       y # 1 sw Y   xY w# 1 sw Y   "xY w)Nr   r   r)   r   r+   r   r   z)module 'numpy' has no attribute 'product'r   z4numpy>2 removed product -- users should move to prodreason)r   r   r   rx   r   rw   z`product` is deprecated)r   r   r   r   r   r   r   AttributeErrorgetattrr}   skipr   warnsDeprecationWarningr	   )rx   r   pdfr"   
np_redfuncexpectactuals          r$   test_reductions_numpy_dispatchr   F  s    ,,YY7y
IC	Q	B9,]]"M
 	. !W-J	. 	QRW%J.  Cd3BT2	'Y.|Cd+\\,4MN 	/.F	/ 	/ Cd+BT*ff+	. 	.	/ 	/s   D"-D."D+.D7c                   t        j                  t        j                  j	                  ddgd      g d      }t        d      dz  |d	<   t        j                  |d
      }t        |j                  |       |j                                t        |j                  d|       |j                  d             t        |j                  d|       |j                  d             t        |j                  |       |j                                t        |j                  d|       |j                  d             t        |j                  d|       |j                  d             t        |j                  j                  |       |j                  j                                t        |j                  j                  |       |j                  j                                y )NTF)d   r   )sizere   rl   abcder9   Er.   r   r   rx   r   rw   r   )r   r   r}   r   choicer   r   r   r	   r   r   rf   r   r"   ddfs      r$   test_allanyr   h  sT    

		$X6@T
B 7mb BsG
..R
 Ccgg+g.9cgg1+g6AGcgg1+g6AGcgg+g.9cgg1+g6AGcgg1+g6AGceeiiKi0"$$((*=ceeiiKi0"$$((*=r&   c                   t        j                  g dg dd      }t        j                  |d      }||j                  fD ]Q  }|j                  |       j                  |j                  |       j                  k(  sJ |j                  |       j                  |j                  |       j                  k(  sJ |j                  |       j                  |j                  |       j                  k(  sJ |j                  |       j                  |j                  |       j                  k(  sJ |j                  |       j                  |j                  |       j                  k(  sJ |j                  |       j                  |j                  |       j                  k(  sJ |j                  |       j                  |j                  |       j                  k(  sJ |j                  |       j                  |j                  |       j                  k(  sJ |j                  |       j                  |j                  |       j                  k(  sJ |j                  |       j                  |j                  |       j                  k(  rRJ  |j                  j!                  |       j                  |j                  j!                  |       j                  k(  sJ y )Nr   r   r   r   r   r   )r   r   r   r   r   r   _namer   r   r   r   r   r   r   r   r   r   )r   r"   r   r   s       r$   "test_deterministic_reduction_namesr  }  s   	L|<	=B
..
+C355\ "
EEkE*00AEEkE4R4X4XX	
X FF{F+11vv+v.445	
5 II+I.44yy[y1778	
8 EEkE*00AEEkE4R4X4XX	
X EEkE*00AEEkE4R4X4XX	
X GGG,22ww;w/556	
6 EEkE*00AEEkE4R4X4XX	
X EEkE*00AEEkE4R4X4XX	
X EEkE*00AEEkE4R4X4XX	
X FF{F+11vv+v.445	
5A"
J 	+.4455==[=177	8	8r&   c                 
   t        j                  g dg ddg d      t        j                  g dg ddg d      t        j                  g dg d	dg d
      d} t        j                  t        j                  | j                               g d      }|j                         }dD ]T  }|j                  |j                  fD ]5  }t        j                  t        ||fd       t        j                  t        ||fd       t        j                  t        ||fd       t        j                  t        ||fd       t        j                  t        ||fd       t        j                  t        t        f||fd       t        j                  t        ||fd       t        j                  t        ||fd       t        j                  t        ||fd       t        j                  t        ||fd       8 W y )Nr   r   r)   r   r+   r   r   r   r   r-   r   r   r   r   )r   rl   c                &    | j                  |      S Nrw   )r   r   rx   s     r$   r{   z4test_reduction_series_invalid_axis.<locals>.<lambda>      QUUU=M r&   c                &    | j                  |      S r  )r   r  s     r$   r{   z4test_reduction_series_invalid_axis.<locals>.<lambda>      QVVV=N r&   c                &    | j                  |      S r  )r   r  s     r$   r{   z4test_reduction_series_invalid_axis.<locals>.<lambda>  s    QYYDY=Q r&   c                &    | j                  |      S r  )r   r  s     r$   r{   z4test_reduction_series_invalid_axis.<locals>.<lambda>  r	  r&   c                &    | j                  |      S r  )r   r  s     r$   r{   z4test_reduction_series_invalid_axis.<locals>.<lambda>  r	  r&   c                &    | j                  |      S r  )r   r  s     r$   r{   z4test_reduction_series_invalid_axis.<locals>.<lambda>  s    T@R r&   c                &    | j                  |      S r  )r   r  s     r$   r{   z4test_reduction_series_invalid_axis.<locals>.<lambda>  r	  r&   c                &    | j                  |      S r  )r   r  s     r$   r{   z4test_reduction_series_invalid_axis.<locals>.<lambda>  r	  r&   c                &    | j                  |      S r  )r   r  s     r$   r{   z4test_reduction_series_invalid_axis.<locals>.<lambda>  r	  r&   c                &    | j                  |      S r  )r   r  s     r$   r{   z4test_reduction_series_invalid_axis.<locals>.<lambda>  r  r&   )r   r   r   r:   r   r   r   r#   r   r   r   	TypeError)r   r>   r=   rx   r   s        r$   "test_reduction_series_invalid_axisr    se   ,,YY?yQ,,YY?yQ,,YY?yQC
 >>"))CJJL1<@D<<>D P&&$&&! 	PAMM*qt&MNMM*qt&NOMM*qt&QRMM*qt&MNMM*qt&MNMMJ'!$)R MM*qt&MNMM*qt&MNMM*qt&MNMM*qt&NO	PPr&   c            	     P   t               rt        st        j                  d       d } t	        j
                  g d      }t        j                  |d      }t        |j                         |j                                 | ||d        | ||d       t        |j                         |j                                t        |j                         |j                                t        |j                         |j                                 | ||d        | ||d	        | ||d
        | ||d        | ||d       t        |j                         |j                                t	        j
                  t	        j                  g dd            t	        j
                  t	        j                  t        d      d            t	        j
                  t	        j                   ddd            fD ]  }t        j                  |d      } | ||d        | ||d        | ||d       t        |j                         |j                                t        |j                         |j                                t        |j                         |j                                |j"                  dk7  r
 | ||d        | ||d	        | ||d
        | ||d        | ||d       t        |j                         |j                                 t	        j
                  t	        j$                  ddd            }t        j                  |d      }t        |j                         |j                                t        |j                         |j                                t        |j                         |j                                t        |j                         |j                                 | ||d        | ||d       t        |j                         |j                                y )Nz known failure with arrow stringsr   c                     t        j                  t        t        f fd       t        j                  t        t        ffd       y )Nc                 B     t                      j                         S N)r   r   )rs   funcs   r$   r{   zJtest_reductions_non_numeric_dtypes.<locals>.check_raises.<locals>.<lambda>  s    7Gwq$7G7I7Q7Q7S r&   c                 &     t                      S r  )r   )r  ps   r$   r{   zJtest_reductions_non_numeric_dtypes.<locals>.check_raises.<locals>.<lambda>  s    7Gwq$7G7I r&   )r   r   r  r   )rs   r  r  s   ```r$   check_raisesz8test_reductions_non_numeric_dtypes.<locals>.check_raises  s+    y*-/STy*-/IJr&   )r#   r*   r   rs   er   r   r   r   r   r   r   r   r(   T)orderedr   z
2011-01-01ri   r   )freqperiodsr   zdatetime64[ns]z1 days)r
   r   r   xfailr   rZ   r   r   r	   r   r   r   r   r   Categoricalr   
date_ranger   timedelta_range)r  r   r   s      r$   "test_reductions_non_numeric_dtypesr&    s    >?K ))-
.C
..a
 Ccggi#c6"c9%cggi#cggi#ciik399;'c5!c5!c5!c6"c:&ckkmS[[]+ 			"..$?@
		"..g=>
		"--3BC 0
 nnS!$S#u%S#v&S#y)#'')SWWY'#'')SWWY'#))+syy{+99(( c5)S#u%S#u%S#v&S#z*#++-/+0. ))B&&xc1E
FC
..a
 Ccggi#cggi#cggi#ciik399;'c6"c:& ckkmS[[]+r&   c                   t        j                  g dg ddg d      t        j                  g dg ddg d      t        j                  g dg d	dg d
      d}t        j                  t        j                  |j                               g d      j                         }t        j                  |       |j                                t        j                  |       |j                                t        j                  |       |j                                t        j                  |       |j                                t        j                  |       |j                                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#                  |       |j#                                dD ]R  }t        j                  ||       |j                  |             t        j                  ||       |j                  |             t        j                  ||       |j                  |             t        j                  ||       |j                  |             t        j                  ||       |j                  |             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#                  ||       |j#                  |             U t%        j&                  t(        fd       j                  d |       }|j                  d       }t        ||       j                  d |       }|j                  d       }t        ||       j#                  d |       }|j#                  d       }t        ||d       y )Nr   r   r)   r   r+   r   r   r  r   r   r   r   r   r   r   r   r|   r   rw   )rx   r   r   r   c                 D     j                  d      j                         S )N	incorrectrw   )r   r   )r>   s   r$   r{   z'test_reductions_frame.<locals>.<lambda>;  s    dhhKh&@&H&H&J r&   Fcheck_dtype)r   r   r   r:   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r=   rx   resultexpectedr>   s         @r$   test_reductions_framer.  	  sp    ,,YY?yQ,,YY?yQ,,YY?yQC
 >>"))CJJL1<@D<<>Ddhh;h/<diiKi0$))+>dll{l3T\\^Ddhh;h/<dhh;h/<djj[j14::<@dhh;h/<dhh;h/<dhh;h/<dhhA;h7q9IJdhhA;h7q9IJdhhA;h7q9IJdiiKi0$))+>* W$((+(>d@ST$));)?PTAUVLLdL<dllPTl>U	
 	$((+(>d@ST$((+(>d@ST$**$K*@$**RV*BWX$((+(>d@ST$((+(>d@ST$((+(>d@STHH$QKH@HH$QH'	
 	HH$QKH@HH$QH'	
 	HH$QKH@HH$QH'	
 	$));)?PTAUV1W4 MM*JK XX4[X9FxxTx"HfhXX4[X9FxxTx"HfhYYDkY:Fyydy#HfhE2r&   zfunc, kwargs)r   N)r   N)r   N)r   N)r   Nr   r   r   )r   r   )r   N)r   N)r   N)r   Nr   )r   Nr   numeric_onlyz"numeric_only=False not implemented)r   strict)marksc                   t               r| dk(  r|t        j                  d       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        d      t        j                  dddddddt
        j                  g      ddgdz  d      }|i }|du s|/| dv r|j                  ddg      }| dv r|j                  dg      }|||d<   t        j                  |d      } t        ||       di |} t        ||       di |}t!        ||       y c c}w ) Nr   z"Known failure with pyarrow stringsr4         ?       @      @      @      @      @       @r   r     abcdefghr   r   r   r   r   r   TFintfloatdtstr	timedeltar   )r   r   r   r   medianr   r   r   r?  rA  r   )r   r   r   r   r   r   r@  r/   )r
   r   r"  r   r   r}   r   NaTranger   r   r   dropr   r   r   r	   )r  kwargsr/  ir"   r   r-  r   s           r$   test_reductions_frame_dtypesrI  K  s\   L  TU]|7K9:	+3S"&&#sC@66(E!QKHqhtQ2HH
#!Q1aArvv)FG5MA%	
	
B ~u 4TT$!45BCC%)B!-~
..Q
C wr4 *6*HWS$)&)Fh3 Is   .E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        d      t        j                  d	ddddddt        j                  g      ddgdz  d      }t        j                  |d      }t        |j                  d	      |j                  d	             t        |j                  dd	      |j                  dd	             t        |j                  dd	      |j                  dd	             y c c} w )Nr4   r3  r4  r5  r6  r7  r8  r9  r   r   r:  r;  r   r   r   r   r   r   TFr<  r   rw   )r/  rx   )r   r   r}   r   rD  rE  r   r   r   r   r   r	   r   )rH  r"   r   s      r$    test_count_numeric_only_axis_onerK    s   	+3S"&&#sC@66(E!QKHqhtQ2HH
#!Q1aArvv)FG5MA%	
	
B ..
+CciiQiq!12		u1	-rxxUQRx/S ciiTi2BHH$UVH4WX Is   Er  )	r   r   r   r   r   r   r   r   quantilec                   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        d      t        j                  d	ddddddt        j                  g      ddgdz  d      }d}| dk(  r|j                  d      }d	}t        j                  ||      }g d}t         t        ||       d       t        ||       d             t        t        t         fnt        t         t"        f}| |v r4t%        j&                  |d      5   t        ||       d       d d d        n.t         t        ||       d       t        ||       d             | |v r2t%        j&                  |d      5   t        ||               d d d        n*t         t        ||               t        ||                     ddg}| dk7  r|j)                  d       ||   }||   }	t         t        ||               t        |	|                     t         t        ||       d       t        |	|       d             y c c}w # 1 sw Y   xY w# 1 sw Y   xY w)Nr4   r3  r4  r5  r6  r7  r8  r9  r   r   r:  r;  r   r   r   r   r   r   TFr<  rL  r   r   )r   r   r   r   r   rL  r/  z'DatetimeArray' with dtype datetime64.*|'DatetimeArray' does not implement reduction|could not convert|'ArrowStringArray' with dtype string|unsupported operand|no kernel|not supported|Cannot perform reductionr   r=  r>  )r   r   r}   r   rD  rE  r   r   r   rF  r   r   r	   r   par   r  r   r   r   append)
r  rH  r"   r   r   numeric_only_false_raiseserrorsnum_colsdf_numericsddf_numericss
             r$   3test_reductions_frame_dtypes_numeric_only_supportedrV    s    
+3S"&&#sC@66(E!QKHqhtQ2HH
#!Q1aArvv)FG5MA%	
	
B KzWWVW$
..[
)C T Dt,T- : 
Y)%=>  ((]](
 	3 GCE2	3 	3 	GB51GCE2	
 ((]](
 	! GC 	! 	! 	GBGC 	

 wHzX,Kx=L"T"$#d#% "T"6#d#7S I:	3 	3$	! 	!s   I*I/(I;/I8;Jr   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        d      t        j                  d	ddddddt        j                  g      ddgdz  d      }t        j                  |d      }ddi}t         t        ||       di | t        ||       di |       t         |j                  dddi| |j                  dddi|       t         |j                  dddi| |j                  dddi|       t         |j                  dddi| |j                  dddi|       t         |j                  dddi| |j                  dddi|       t         |j                  dddd| |j                  dddd|       |g d   }|g d   }t         t        ||               t        ||                     y c c}w )Nr4   r3  r4  r5  r6  r7  r8  r9  r   r   r:  r;  r   r   r   r   r   r   TFr<  r/  r   r   r   r   )r=  r>  r   rC  )r   r   r}   r   rD  rE  r   r   r   r   r   r	   r   r   r   r   )r  rH  r"   r   rG  rT  rU  s          r$   )test_reductions_frame_dtypes_numeric_onlyrX    s    
+3S"&&#sC@66(E!QKHqhtQ2HH
#!Q1aArvv)FG5MA%	
	
B ..Q
Cd#FD#F#T$V$ fbff&!&v&(AQ(A&(ABfbff&!&v&(AQ(A&(ABfbff&!&v&(AQ(A&(ABfbff,E,V,gcgg.MU.Mf.MN.e!.v.0Wu10WPV0W -.K/0L"T"$#d#%3 Is   Hr   r   c                   t        j                  d       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   d      }t        j                  |d      }t        j                  t        d      }|5   t        ||       d       d d d        |5   t        ||       d       d d d        |5   t        ||               d d d        |5   t        ||               d d d        y c c}w # 1 sw Y   exY w# 1 sw Y   SxY w# 1 sw Y   CxY w# 1 sw Y   y xY w)Nzscipy.statsr4   r3  r4  r5  r6  r7  r8  r9  r   r   i  )r=  r>  r?  r   r   z#does not support|does not implementr   FrN  )r   importorskipr   r   r}   r   rD  rE  r   r   r   r   r  r   )r  rH  r"   r   ctxs        r$   !test_skew_kurt_numeric_only_falser\  )  s6   
&	+3S"&&#sC@66(E!QKHqhtQ2HH	

B ..
+C
--	)N
OC	 .Du-.	 /T./ 
 D	 T  I. ./ /  s6   D#0D(D4,E E(D14D= E	E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                         |j                  | 
             t        |j                         |j                  | 
             t        j                         5  t        j                  dt                t        |j#                         |j#                  | 
             t        |j%                         |j%                  | 
             t        |j'                         |j'                  | 
             t        |j#                  d      |j#                  d|              t        |j%                  d      |j%                  d|              t        |j'                  d      |j'                  d|              d d d        t        |j)                         |j)                  | 
             t        j                  d      5  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      |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|              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|              t        |j#                  ddd      |j#                  ddd|              t        |j%                  ddd      |j%                  ddd|              t        |j'                  ddd      |j'                  ddd|              t        |j)                  dd      |j)                  dd|              d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   T)recordFr   r   r   r   )rx   r   )rx   r   r   )rx   r   r   )rx   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   s      r$   test_reductions_frame_nanr_  B  s+   	Q1aA.Q266266B&&A	

B ..Q
CbffhK89bggik:;bjjlCKKKK@AbffhK89bffhK89bhhj#)))<=		 	 	" 	L 	h7"&&(CGGG<="&&(CGGG<="&&(CGGG<="&&a&.#''qk'"JK"&&a&.#''qk'"JK"&&a&.#''qk'"JK	L bggik:;		 	 	- L
"&&&&u+(VWGG5G!3885k8#R	
 	JJeJ$ckkKk&X	
 	"&&&&u+(VW"&&&&u+(VW"&&&&u+(VW"&&&&u+(VW"&&&&u+(VWFF%aF(GG5qkGB	
 	FF%aF(GG5qkGB	
 	FF%aF(GG5qkGB	
 	GG5G!3885k8#R	
 	FF%F(GG5kGB	
 	GG5G)HH!E{HC	
 	JJAeJ,KKQu+KF	
 	FF%F(GG5kGB	
 	FF%F(GG5kGB	
 	FF%F(GG5kGB	
 	FF%F(GG5kGB	
 	FF%F(GG5kGB	
 	FF%aF0GG5qkGJ	
 	FF%aF0GG5qkGJ	
 	FF%aF0GG5qkGJ	
 	GG5G)HH!E{HC	
SL
 L
	L 	LL
 L
s   6D ^Q^^^
comparison)r[   r\   r]   r^   r_   r`   c           	     J   t        j                  g d      }t        j                  dddt        j                  dddg      }t	        j
                  |d      }t	        j
                  |d      }d	}t        ||       }t        ||       }t         |||
       |||
             y )N)r   r   r   r   r   r   r   r   r8   r   r   r   g333333@r   r   ru   )r   rZ   r}   r   r   r   r   r	   )r`  r   s_nanr   ds_nanrv   comparison_pdcomparison_dds           r$   test_series_comparison_nanrf    s    
		'(AIIq"aAs34E	1	B^^E1%FJAz*MB
+Mf4e
3r&   c                     t        j                  g dt        j                               } t        j                  | d      }t        | j                         |j                                y )N)r   Nr   r   r   )r   rZ   
Int32Dtyper   r   r	   r   r)   s     r$   test_sum_intnari    s>    
		,bmmo6A
q!Aaeegquuwr&   c                    t        j                  t        j                  j	                  d            } t        j                  t        j                  j	                  d            }t        j                  | d      }t        j                  |d      }t        |d      }t        | d      }t        |d   |d          t        |d   |d          t        ||      }t        | |      }t        |d   |d          t        |d   |d          y )Nr.   r   r   r4  r   r   )	r   rZ   r}   r   randr   r   divmodr	   )df1df2r>   r@   r,  r-  s         r$   test_divmodro    s    
))BIINN2&
'C
))BIINN2&
'C>>#1-D>>#1-DD#Fc3HfQi!%fQi!%D$Fc3HfQi!%fQi!%r&   z	not scipyc                 
   ddl m}  ddlm} t	        j
                  t        t        d                  }t        j                  |d      } || j                  |dd      t        j                  j                  |dd             y )Nr   )stats)r	   r.   r   r   )
dask.arrayrq  dask.array.utilsr	   r   rZ   r   rE  r   r   momentr   )rq  r	   r"   r   s       r$   test_momentru    sX     *	4b	?	#B
..
+Cell31%u{{'9'9"a'CDr&   )r   r   r   r   r   c                   t        j                         }t        j                  |d      }t	        |j
                  |       }t	        |j
                  |       }t         ||       ||             t        j                  dd      }t        j                  |      }t        j                  |d      }t         ||       ||             y )Nr   r   2000r   )r!  r+   )r   r   r   r   r   	__class__r	   r$  )r  r   r   dsk_funcpd_funcidxs         r$   test_empty_df_reductionsr|    s    
,,.C
..!
,Cs}}d+HcmmT*GhsmWS\*
--
*C
,,S
!C
..!
,ChsmWS\*r&   method)r   r   r   	min_countr-   c                    t        j                  dggdg      }t        j                  |d      }t	        |d   |       } ||      j                         }|dk(  r|dk(  sJ y |t        j                  u st        j                  |      sJ y y )Nr   r#   r   r   )r~  r   )	r   r   r   r   r   r   r}   r   isna)r}  r~  r"   r   r  r,  s         r$   test_series_agg_with_min_countr    s     
secU	+B
..
+C3s8V$DI&..0FA~{{2776?22?r&   c                &   t        |       rt        j                  | g      } t        |      rt        j                  |g      }| j                  |j                  k(  sJ t	        t        j
                  |       t        j
                  |      |       y )N)atol)r   r   rZ   r   r	   
to_numeric)t1t2r  s      r$   assert_near_timedeltasr    sb    }YYt_}YYt_88rxxbmmBr!2>r&   )TFNc                   t        j                  t        d      D cg c]  }t        j                  d|dz  z          c}t        d      D cg c]  }t        j                  d|dz  z          c}d      }t        j                  |d      }|i nd|i}t         |d   j                  d
i | |d   j                  d
i |       t         |d   j                  d
i | |d   j                  d
i |        |j                  d
d	| i|} |j                  d
d	| i|}t        |j                         |        |j                  d
d	| i|} |j                  d
d	| i|}t        |j                         |       y c c}w c c}w )Nr.   ia i dt1dt2r   r/  r  rx   rC  )r   r   rE  r   fromtimestampr   r   r	   r   r  r   )rx   r/  rH  r   r   rG  r-  r,  s           r$   #test_datetime_std_creates_copy_colsr  	  s    ,, LQQS9FG&&zQZ'@A LQQS9FG&&zQZ'@A		
	C ..a
 C'Rnl-KF nc%jnn&v&E
(@(@Anc%jnn&v&E
(@(@A sww+D+F+HSWW)$)&)F6>>+X6sww+D+F+HSWW)$)&)F6>>+X61s   "F "F
zignore::RuntimeWarningc                R   d}t        j                  t        j                  t         j                  gdz  t	        d            t        j
                  t        j                  t	        |dz
        D cg c]  }t        j                  d|dz  z          c}t	        dd                  gd      }t	        |      D cg c]
  }d|d	z  z    }}t        j                  |t        j
                  t        j                  |            d
t	        d            }t	        dd      D ]M  }t        j
                  t        j                  |D cg c]  }t        |d|z  z          c}            |d| <   O t        j                  |d      }	|i nd|i}
||
d<   t         |	d   j                  di |
j                          |d   j                  di |
        |j                  dd| i|
} |	j                  dd| i|
j                         }t        ||       y c c}w c c}w c c}w )N   r6   r+   ar  F)ignore_indexl   TVr 5 l   Iw| r  r   r   gQ?r?  r/  r   r  rx   rC  )r   r   rZ   rD  rE  to_datetimer   r  r   r=  r   r   r  r   r   )rx   r   r/  num_rowsrH  r  base_numbersr   r   r   rG  r-  r,  s                r$   %test_datetime_std_with_larger_datasetr  )  s   
 H
))IIrvvhm595NN		 "'x"}!5 !..zQZ/HI  C.	
 C" ?DHo9:	N 2	3L  ,,BNN299\+BCDERUJC 1a[ 
IILAqs1q>*AB
bH

 ..a
 C'Rnl-KFF8 >3u:>>3F3;;=~s5z~~?WPV?WX sww+D+F+HSWW)$)&)113F68,G Bs   1"H>H	H$c                   t        j                  t        d      D cg c]  }t        j                  d|dz  z          c}t        d      D cg c]  }t        j                  d|dz  z          c}t        d      D cg c]  }| c}d      }t        j                  |d      }|i nd|i}| |d<   t        j                         }d	}|d
u s|t        j                  t              }d
}n|t        j                  t        d      } |dg   j                  dddi|} |dg   j                  dddi|}	|rt        |	|       |5   |j                  dddi|}d d d        |5   |j                  dddi|}	d d d        |rt        |	|       t        j                  t         j                   gt        d      D cg c]  }t        j                  d|dz  z          c}z   t         j                   gz   t        d      D cg c]  }t        j                  d|dz  z          c}t        d      D cg c]  }t        j                  d|dz  z          c}d      }
t        j                  |
d      } |
j                  dddi|} |j                  dddi|}	|rt        |	|       y y c c}w c c}w c c}w # 1 sw Y   axY w# 1 sw Y   OxY wc c}w c c}w c c}w )Nr.   r  r  iR )r  r  numsr   r/  r   TFr   r  rx   r   r0   iO )r  r  dt3rC  )r   r   rE  r   r  r   r   
contextlibnullcontextr   r   r  r   FutureWarningr   r	   rD  )r   r/  rH  r   r   rG  r[  successr-  r,  r?   r@   s               r$   +test_datetime_std_across_axis1_null_resultsr  [  s    ,, LQQS9FG&&zQZ'@A LQQS9FG&&zQZ'@A !&b	*1Q*	

C ..a
 C'Rnl-KFF8

 
 
"CGu 4mmI&		ll=?  sE7|1Q1&1HS%\/1//F&(# 
 -377,,V,-	 +*a*6*+&(# <<FF8JOPR)TQx%%jAJ&?@TUvvh LQQS9FG&&zQZ'@A LQQS9FG&&zQZ'@A
	
D >>$"Dtxx)Q)&)HTXX'1''F&(# q +0- -+ + Us;   "J."J3
?	J8	J=(K
?"K
"K
5"K!=K
Kc                     t        j                  t        t        fd      5  t	        j
                  t        j                  dddgi      d      j                  j                          d d d        y # 1 sw Y   y xY w)NzS`std` is only supported with objects that are Dataframes or Series|has no attributer   testr   r   r   )
r   r   NotImplementedErrorr   r   r   r   r   r,   r   rC  r&   r$   test_std_raises_on_indexr    sc    		n-c
 R 	r||VaV$451EKKOOQ	R R Rs   AA22A;c                 R   t        j                  d      } t        j                  g dt        j                   | j
                                     }t        j                  |d      }t        j                  t        d      5  |j                          d d d        y # 1 sw Y   y xY w)Npyarrowr   r   r   r   z&`std` not supported with string seriesr   )r   rZ  r   rZ   
ArrowDtypestringr   r   r   r   r   )rO  serr   s      r$   $test_std_raises_with_arrow_string_ear    sp    			Y	'B
))O2==+E
FC		+B	z)Q	R 
  s   BB&r   zint64[pyarrow]zrequires pyarrow installedr   zfloat64[pyarrow]Int64Int32Float64UInt64)r   r   r   r   c                   |dv r.t        j                  d       d| v rt        j                  d       t        j                  g d|       }t        j                  |d      } t        ||             } t        ||             }|d	k(  rB|j                  d
   }|dz
  |dz   z  |dz
  |dz
  z  z  }d|dz
  z  |dz
  |dz
  z  z  }||z  |z   }t        ||d       y )N)r   r   r   r  z.skew/kurtosis not implemented for arrow dtypesr   r   r   r   r   r   r   r   r   Fr*  )
r   rZ  r"  r   rZ   r   r   r   r   r	   )	r   r  r  r   	pd_result	dd_resultr   r   r   s	            r$   (test_reductions_with_pandas_and_arrow_ear    s    & ##G$LLIJ
))L
.C		+B"T"$I!D!#IzIIaLq5QU#Q1q5(9:q1u+1q5QU"34Y&/	i6r&   c                     t        j                  dg di      j                  d      } t        j                  | d      }t        |j                  d      | j                  d      d	       y )
Nfoo)r   r   r   r   r   r   r  )dtype_backendr   r   g      ?Fr*  )r   r   convert_dtypesr   r   r	   rL  )r   r"   s     r$   test_quantile_arrow_dtyper    sZ    
,,12
3
B
B C C 
	+Bbkk$d!3Gr&   )T)i  )F
__future__r   r  r   r   numpyr}   pandasr   r   pandas.api.typesr   dask.dataframe	dataframer   dask.array.numpy_compatr   r   dask.dataframe._compatr   dask.dataframe.utilsr	   r
   r   ImportErrorr  rO  pyarrow.libr   r%   markslowrV   r;   r<   r   parametrizer   r   r   xfail_with_pyarrow_stringsr   r  r  r&  r.  paramr"  rI  rK  rV  rX  r\  r_  rf  ri  ro  skipifru  r|  r  r  r  filterwarningsr  r  r  r  r  r  rC  r&   r$   <module>r     s<   "       &  > 0 C$4F wJ wJtR*jQ*hiDX 
3@W 4@WF 
3> 4> !Q(P	 )
: 
3''> ( 4>& 
3+ 4+\P4@,F 
3>3 4>3B 		5!"	e,-		5!"	e,-		5!"	e,-'0 ++##A% $ 	
	  1J  FY( 
WQQh 
!!H &*!56 70 
3g
 4g
T 'KL M &$ K E !E !GH+ I+  #=>q!f-3 . ?3? !Q()<=7 > )7< 45!Q(E4=1)<=+- > 2 ) 6+-\ E4=1)<=<$ > 2<$~R ++$$R4Z8T$U	
 	++$$R4Z8T$U	
 	" !CD7 E#$7&H}-  E  $	B#$s$   U 	
U UU	U&%U&