
    bMhP                     x   d Z ddlZ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
mZmZmZmZmZmZmZ ddlmZ ddlmZ d Zd Zd	 Zd
 Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$d Z%d Z&d Z'ej(        )                    dddg          d             Z*d Z+d Z,ej(        )                    de- eddd d!i          fe. edg dg d d!i          fd"  eddd d!i          fd#  edg dg d d!i          fg          d$             Z/ej(        )                    de- edd gd%d&gd'          fe. eg dg d gd%d&gd'          fd(  edd gd%d&gd'          fd)  eg dg d gd%d&gd'          fg          d*             Z0d+ Z1d, Z2d- Z3ej(        )                    d.e4e5e6e7e8e9e:e;g          d/             Z<dS )0z
test all other .agg behavior
    N)partial)SpecificationError)	DataFrameIndex
MultiIndexPeriodIndexSeries
date_rangeperiod_range)pprint_thingc                  J   t          t          j                            d                              d          t          j                            d                              d          g dg dd          } |                     d          }d }t          j        t          d	          5  |	                    |g           d d d            n# 1 swxY w Y   t          j        t          d	          5  |	                    |           d d d            d S # 1 swxY w Y   d S )
N      )ar   br   r   )onetwor   r   r   )data1data2key1key2r   c                 T    |                                  |                                 z
  S N)maxmin)arrs    i/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/groupby/aggregate/test_other.pypeak_to_peakz5test_agg_partial_failure_raises.<locals>.peak_to_peak)   s    wwyy37799$$    zunsupported operand typematch)
r   nprandomdefault_rngstandard_normalgroupbypytestraises	TypeErroragg)dfgroupedr   s      r   test_agg_partial_failure_raisesr-      s    
Y**1--==a@@Y**1--==a@@---777		
 	

 
B jj  G% % % 
y(B	C	C	C $ $\N###$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 
y(B	C	C	C " "L!!!" " " " " " " " " " " " " " " " " "s$   ,CCC5DDDc                  t   g dg dg dg} t          d | D             d | D             d | D             d          }d | D             } t          d	 | D             d
 | D             d | D             d          }|d         |d                                         z  |d<   |                    d                              d          }|d         |d                                         z  |d<   |                    d                              d          }t	          |          t	          |          k    sJ d S )N)   
2012-01-01      ?)r   z
2012-01-02g       @)   Ng      @c                     g | ]
}|d          S r    .0xs     r   
<listcomp>z,test_agg_datetimes_mixed.<locals>.<listcomp>8       '''QAaD'''r   c                     g | ]
}|d          S r/   r5   r6   s     r   r9   z,test_agg_datetimes_mixed.<locals>.<listcomp>9       (((aQqT(((r   c                     g | ]
}|d          S r   r5   r6   s     r   r9   z,test_agg_datetimes_mixed.<locals>.<listcomp>:       )))qad)))r   )keydatevaluec                     g | ]S}|d          |d         r8t           j                            |d         d                                          nd|d         gTS )r   r/   z%Y-%m-%dNr   )dtdatetimestrptimerB   )r7   rows     r   r9   z,test_agg_datetimes_mixed.<locals>.<listcomp>>   sm        	 F@CAPR[!!#a&*55::<<<DF	
  r   c                     g | ]
}|d          S r4   r5   r6   s     r   r9   z,test_agg_datetimes_mixed.<locals>.<listcomp>I   r:   r   c                     g | ]
}|d          S r<   r5   r6   s     r   r9   z,test_agg_datetimes_mixed.<locals>.<listcomp>J   r=   r   c                     g | ]
}|d          S r?   r5   r6   s     r   r9   z,test_agg_datetimes_mixed.<locals>.<listcomp>K   r@   r   rC   weightsrB   sum)r   rM   r&   	aggregatelen)datadf1df2gb1gb2s        r   test_agg_datetimes_mixedrU   3   s   """$:$:$:NNNKD
''$'''((4((())D)))	
 	
 C    D ''$'''((4((())D)))	
 	
 C \CL$4$4$6$66C	N
++f


'
'
.
.C\CL$4$4$6$66C	N
++f


'
'
.
.Cs88s3xxr   c                     t          ddd          } t          t          j                            d                              d          |           }|                    d	                                          }t          |j	        t                    sJ t          d
dd          }t          t          j                            d                              t          |                    |          }t          t          j                            d                              t          |                    |          }t          j        ||d          }|                    |j	        j                  }t          |           d S )Nz2012-1-1Mr2   )freqperiodsr   )r2   r   indexr   )levelz1999-01r   )startrY   rX   )s1s2)r   r   r"   r#   r$   r%   r&   rM   
isinstancer[   r   r	   rO   	from_dictmonthlist)prngr+   rsr[   r^   r_   r,   s          r   test_agg_period_indexrf   X   s;   
a888D	29((++;;FCC4	P	P	PB	!			 	 	"	"Bbh,,,,, y!#>>>E		%%a((//E

;;5	I	I	IB		%%a((//E

;;5	I	I	IB		Bb11	2	2Bjj((GMMMMMr   c                     t          g dt          ddd          d          } d | j        g ddf<   | j        g d	                             d
          }|                     d
          }t          j        |                                |           t          j        |                    d          |           t          j        |                    ddi          |           t          j	        |j
                                        |d                    t          j	        |j
                            d          |d                    | j        g d                             d
          }|                     d
          }t          j        |                                |           t          j        |                    d          |           t          j        |                    ddi          |           t          j	        |j
                                        |d                    t          j	        |j
                            d          |d                    t          g dt          t          d          d
          d          }t          j	        |j
                            t                    |           t          j	        |j
                                        |           t          g dt          t          d          d
          d          }t          j	        |j
                                        |           d S )N)Arh   Bri   Crj   Drk   z1/1/2011   h)rY   rX   )classtime)r   r/   r   r   ro   )r   r2         rn   first)r   r2   rp      last)r   r   r   r   ABCDnamer[   rw   )r   r/   r/   r   )r   r
   loc	set_indexr&   tmassert_frame_equalrr   r*   assert_series_equalro   rt   r	   r   rc   rO   sizecount)r+   expr,   s      r   *test_agg_dict_parameter_cast_result_dtypesr   g   s    
===z13???	
 	

 
B $(BF<<<  &

(
(
1
1Cjj!!G'--//3///'++g..444'++vw&788#>>>7<--//V===7<++G44c&kBBB &

(
(
1
1Cjj!!G',,..#...'++f--s333'++vv&677===7<,,..F<<<7<++F33S[AAA U4<<g%F%F%FV
T
T
TC7<++C00#6667<,,..444
U4<<g%F%F%FV
T
T
TC7<--//55555r   c                  d   d t          d          D             } t          d          }t          || d          }|                    d          d                             t
                    }|                    d          d                                         }t          j        ||           d S )Nc                 @    g | ]}t          j        d |dz   d          S )i  r/   )rE   rF   r6   s     r   r9   z0test_agg_cast_results_dtypes.<locals>.<listcomp>   s*    888T1q5!	$	$888r      aaabbbbbbccd)XYr   r   )	rangerc   r   r&   r*   rO   r   r{   r}   )uvr+   resultexpecteds        r   test_agg_cast_results_dtypesr      s     	98eBii888A^A	##	$	$BZZ__S!%%c**Fzz#s#))++H68,,,,,r   c                     t          g dg dg dd          } t          dg dig d          }d|j        _        |                     d          dg                                         }t          j        ||           t          g dg dd	g d          }d|j        _        |                     d          dd
g                                         }t          j        ||           d S )N)r/   r   r2   rp   r   )r/   r   r   rp   r   r   r   cr   )r/   g      @rp   r   )r/   r   rp   r   rZ   r   )r   r   r   )r   r[   rw   r&   meanr{   r|   )r+   r   r   s      r   test_aggregate_float64_no_int64r      s    	___UU	V	VB#~~~.lllCCCHHNZZ__cU#((**F&(+++~~~NNNCC<<<XXXHHNZZ__c3Z(--//F&(+++++r   c                     t          g dg dt          j                            d                              d          dz   t          j        d          d          } |                     ddg          }|d	                                         }|d	                                         }|d
                                         }|d
                                         }|d
         	                    ddg          }t          j        ||gd          }ddg|_        t          j        ||d           |	                    ddg          }t          j        ||||gd          }t          j        d	d
gddgg          |_        t          j        ||d           |d
d	g         	                    ddg          }t          j        ||||gd          }t          j        d
d	gddgg          |_        t          j        ||d           |	                    ddd          }t          j        ||gd          }t          j        ||d           |	                    ddgddgd          }t          j        ||||gd          }t          j        d	d
gddgg          |_        d}t#          j        t&          |          5  |d
d	g         	                    ddd           d d d            d S # 1 swxY w Y   d S )Nfoobarr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rl   r1   rh   ri   rj   rk   rh   ri   rj   rk   rM   r   r/   )axisT)
check_likerj   rk   z&Column\(s\) \['r', 'r2'\] do not existr    )rr2)r   r"   r#   r$   r%   aranger&   r   rM   r*   pdconcatcolumnsr{   r|   r   from_productr'   r(   KeyError)	r+   r,   c_meanc_sumd_meand_sumr   r   msgs	            r   test_aggregate_api_consistencyr      sK    
IIIIII&&q))99!<<sB1		
 	

 
B jj#s$$GS\  FCLES\  FCLES\ufo..Fy%q111HvH&(t<<<<[[%))Fy%7a@@@H!.c
UFO/LMMH&(t<<<<c3Z $$eV_55Fy%7a@@@H!.c
UFO/LMMH&(t<<<<[[vE2233Fy%q111H&(t<<<<[[fe_EEFFFy&%7a@@@H!.c
VUO/LMMH
3C	xs	+	+	+ < <c
e6 : :;;;< < < < < < < < < < < < < < < < < <s   !K//K36K3c                     t          g dt          d          t          d          d          } d}t          j        t          |          5  |                     d                              ddd	gid
ddgid           d d d            n# 1 swxY w Y   d}t          j        t          |          5  |                     d          ddg                             dd	i           d d d            n# 1 swxY w Y   d}t          j        t          |          5  |                     d          j                            ddi           d d d            d S # 1 swxY w Y   d S )N)r/   r/   r/   r   r   r   rh   ri   rj   nested renamer is not supportedr    rh   r   rM   r   r   r   r   )ri   rj   z!Column\(s\) \['ma'\] do not existri   rj   ma)	r   r   r'   r(   r   r&   r*   r   ri   )r+   r   s     r   "test_agg_dict_renaming_deprecationr      s   	uQxxeAhhGG	H	HB
,C	)	5	5	5 
 



35%.)%8H0IJJ	
 	
 	

 
 
 
 
 
 
 
 
 
 
 
 
 
 

 /C	xs	+	+	+ 7 7


3c
#''u6667 7 7 7 7 7 7 7 7 7 7 7 7 7 7 -C	)	5	5	5 0 0


3ug.///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s6   4BBB53C44C8;C80EE Ec                  :   t          g dg dt          j                            d                              d          dz   t          j        d          d          } |                     ddg          }d	}t          j        t          |
          5  |d         
                    dddgi           d d d            n# 1 swxY w Y   t          j        t          |
          5  |d         
                    ddd           d d d            d S # 1 swxY w Y   d S )Nr   r   r   rl   r1   r   rh   ri   r   r    rk   rj   rM   stdr   )r   r"   r#   r$   r%   r   r&   r'   r(   r   r*   r+   gr   s      r   test_agg_compatr      s   	IIIIII&&q))99!<<sB1		
 	

 
B 	

C:A
,C	)	5	5	5 * *	#

C%()))* * * * * * * * * * * * * * * 
)	5	5	5 - -	#

U++,,,- - - - - - - - - - - - - - - - - -s$    B>>CC$DDDc                     t          g dg dt          j                            d                              d          dz   t          j        d          d          } |                     ddg          }d	}t          j        t          |
          5  |
                    dddgidddgid           d d d            n# 1 swxY w Y   t          j        t          |
          5  |                    dddgidddgid           d d d            n# 1 swxY w Y   t          j        t          |
          5  |d                             t          j        t          j        d           d d d            n# 1 swxY w Y   t          j        t          |
          5  |d                             t          j        t          j        d           d d d            d S # 1 swxY w Y   d S )Nr   r   r   rl   r1   r   rh   ri   r   r    rj   r   rM   rk   )r1r   rar   rbr   )result1result2)rk   r   )r   r"   r#   r$   r%   r   r&   r'   r(   r   rN   r*   rM   r   r   s      r   test_agg_nested_dictsr     s   	IIIIII&&q))99!<<sB1		
 	

 
B 	

C:A
,C	)	5	5	5 R R	C&%1#9OPPQQQR R R R R R R R R R R R R R R 
)	5	5	5 L L	TFE?+4&%2IJJKKKL L L L L L L L L L L L L L L
 
)	5	5	5 < <	#

rv"'::;;;< < < < < < < < < < < < < < < 
)	5	5	5 6 6	#

BG445556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6sH   !B??CC%!DDD83E77E;>E;3GG!$G!c                  F   t          t          j                            d                              dd                    } d }t          j        t          d          5  |                     d          	                    |           d d d            d S # 1 swxY w Y   d S )	Nr   
   )   r   )r~   c                     t          d           t          |                                            t          d          )Nz(----------------------------------------test)r   	to_stringr)   )r+   s    r   raiseExceptionz=test_agg_item_by_item_raise_typeerror.<locals>.raiseException!  s5    ?@@@R\\^^$$$r   r   r    r   )
r   r"   r#   r$   integersr'   r(   r)   r&   r*   )r+   r   s     r   %test_agg_item_by_item_raise_typeerrorr     s    	29((++44Rh4GG	H	HB     
 
y	/	/	/ * *


1.)))* * * * * * * * * * * * * * * * * *s    )BBBc                  0   t          t          j        dt          j                  t	          dd                    } |                     d d g          }|                    d          }|                                }t          j	        ||           d S )	Nr   dtypez
2020-01-01)rY   rZ   c                     | j         S r   )yearr8   s    r   <lambda>z*test_series_agg_multikey.<locals>.<lambda>.  s    AF r   c                     | j         S r   )rb   r   s    r   r   z*test_series_agg_multikey.<locals>.<lambda>.  s    ag r   rM   )
r	   r"   r   float64r
   r&   r*   rM   r{   r}   )tsr,   r   r   s       r   test_series_agg_multikeyr   *  s    	
	"BJ'''z,PR/S/S/S
 
 
B jj**,=,=>??G[[F{{}}H68,,,,,r   c            
      8   t          g dg dg dt          j                            d                              d          t          j                            d                              d          t          j                            d                              d          d          } d }|                     dd	g                              |          }|                     dd	g                              d
           }t          j        ||           d S )N)r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   )dullr   shinyr   r   r   r   r   r   r   r   r      )rh   ri   rj   rk   EFc                     t          | j        t          j                  rt	          | j        j                  dk    sJ dS )Nr   r   )r`   valuesr"   ndarrayrO   baser   s    r   badz.test_series_agg_multi_pure_python.<locals>.bade  s:    ah
++ 	*qx}%%))))ur   rh   ri   c                     dS )Nr   r5   r   s    r   r   z3test_series_agg_multi_pure_python.<locals>.<lambda>k  s    e r   )	r   r"   r#   r$   r%   r&   r*   r{   r|   )rP   r   r   r   s       r   !test_series_agg_multi_pure_pythonr   5  s!          &&q))99"==&&q))99"==&&q))99"==U+	
 +	
- -D^  
 \\3*%%))#..F||S#J''++OO<<H&(+++++r   c                     d } t          g dg dt          j        ddd          t          j        ddd          t          j        ddd          t          j        ddd          gd          }|                    d	          }|                    | g          }|j        j        d
         |_        |                    |           }t          j        ||           d S )Nc                 R    t          j        |                                 d          S )Nr/   )q)r"   
percentiledropna)r   s    r   P1z test_agg_consistency.<locals>.P1r  s    }QXXZZ1----r   )r/   r   r2   rp   )r            i  r   r   r   )col1col2rB   rB   r   )	r   rE   rB   r&   r*   r   levelsr{   r|   )r   r+   r   r   r   s        r   test_agg_consistencyr   o  s    . . . 
 LL$$$a$$a$$a$$a$$			
 		

 
B 	

6AuubT{{H'.q1HUU2YYF&(+++++r   c                  `   t          ddgddgd                              t          j                  }  G d d          }t          t          j        d d	 t          t                     |            g}|                     d
                              d          }|D ]}|t          u s|t          j        u rt          nd }d}t          j
        ||          5  |                     d
                              |          }d d d            n# 1 swxY w Y   t          j        ||           d S )Nr/   r   r2   rp   )r   r   c                       e Zd Zd ZdS )$test_agg_callables.<locals>.fn_classc                      t          |          S r   rM   )selfr8   s     r   __call__z-test_agg_callables.<locals>.fn_class.__call__  s    q66Mr   N)__name__
__module____qualname__r   r5   r   r   fn_classr     s#        	 	 	 	 	r   r   c                      t          |           S r   r   r   s    r   r   z$test_agg_callables.<locals>.<lambda>  s    #a&& r   c                 *    |                                  S r   r   r   s    r   r   z$test_agg_callables.<locals>.<lambda>  s    !%%'' r   r   rM   zusing DataFrameGroupBy.sumr    )r   astyper"   int64rM   r   r&   r*   FutureWarningr{   assert_produces_warningr|   )r+   r   equiv_callablesr   ecallwarnr   r   s           r   test_agg_callablesr     s   	Aq61a&11	2	2	9	9"(	C	CB       
 	


O zz%  $$U++H  0 0 %}}T*'C888 	2 	2ZZ&&**511F	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2
fh////0 0s   )DD	D	c            	      :   t          dt          j        g d          gdt          j        g d          gdt          j        g d          ggddg          } |                     d          }t          j        g d	          gt          j        g d          gg}t	          ddgd
          }dg}t          |||          }|                    d          }t          j        ||           |                    dd          }t          j        ||           d S )Nr/   )r   r      )(   2   <   r   )r   r   r   category	arraydata)r   )r  F   Z   rv   r[   r   Fnumeric_onlyrM   )	r   r"   arrayr&   r   rM   r{   r|   r*   )r+   gbexpected_dataexpected_indexexpected_columnr   altr   s           r   test_agg_over_numpy_arraysr    s+   	&&'&&'&&'	

 [)
 
 
B 
J		Bh|||,,-0F0F/GHMAq6
333N"mOnoVVVH
&&e&
$
$C#x(((VVEV..F&(+++++r   	as_periodTFc                    t          ddd          }| r(|                    d                               d          }t          g d|d          }|                    d          }|d	                             d
           }t          |d d d         d	          }d|j        _        t          j
        ||           |d	                             d           }t          ddgd	          }d|j        _        t          j
        ||           |d	                             d           }t          t          j        d          t          j        d          gd	          }d|j        _        | rYt          t          j                            d          t          j                            d          gd	          }d|j        _        t          j
        ||           d S )Nr0   rp   UTC)rY   tzrk   )r   r   r/   r/   r   r   r   r   c                     | j         d         S Nr   ilocr   s    r   r   z6test_agg_tzaware_non_datetime_result.<locals>.<lambda>  s    16!9 r   r   rv   c                 &    | j         d         j        S r  )r  r   r   s    r   r   z6test_agg_tzaware_non_datetime_result.<locals>.<lambda>  s    16!9> r   i  c                 8    | j         d         | j         d         z
  S )Nr   r  r   s    r   r   z6test_agg_tzaware_non_datetime_result.<locals>.<lambda>  s    16":q	#9 r   r/   )days)r
   tz_localize	to_periodr   r&   r*   r	   r[   rw   r{   r}   r   	TimedeltaoffsetsDay)r  dtir+   r  r   r   s         r   $test_agg_tzaware_non_datetime_resultr$    s    \1
7
7
7C 3ood##--c22	C00	1	1B	CB W[[,,--Fc##A#hS)))HHN68,,, W[[1122FtTl---HHN68,,,W[[99::Fr|+++R\q-A-A-ABMMMHHN "2:>>!,,bjnnQ.?.?@sKKK!68,,,,,r   c                     t          j        dd          t          dfdt          d          D             d          } |                     d          d	                             d
          j        d         }|                     d          d	                             d           j        d         }|                     d          d	                                         j        d         }|k    sJ |k    sJ |k    sJ d t          dd          D             }t          dd	gdz  |d          } |                     d          }| d         j        d         |                    d          d         j        d         k    sJ |	                    d          d         j        d         k    sJ |
                                d         j        d         k    sJ d}t          j        t          |          5  |                    d           j        d         k    sJ 	 d d d            n# 1 swxY w Y   | d         j        d         |                                d         j        d         k    sJ d}t          j        t          |          5  |                    d           j        d         k    sJ 	 d d d            d S # 1 swxY w Y   d S )Nz2016-01-01 12:00:00
US/Pacificr  r/   c                 @    g | ]}t          j        |           z   S ))minutes)rE   	timedelta)r7   nnr   s     r   r9   z0test_agg_timezone_round_trip.<locals>.<listcomp>  s+    !T!T!TB"r|B'?'?'?"?!T!T!Tr   r   r  r   r   r   r   c                 *    t          j        |           S r   )r"   r   r   s    r   r   z.test_agg_timezone_round_trip.<locals>.<lambda>  s     r   c                 D    g | ]}t          j        d |ddd          S )z	2016-01-0dz	 12:00:00r&  r'  )r   	Timestamp)r7   is     r   r9   z0test_agg_timezone_round_trip.<locals>.<listcomp>  sC       FG/////LAAA  r   r   r   rh   ri   rh   ri   z7DataFrameGroupBy.apply operated on the grouping columnsr    c                     | j         d         S r  r  r   s    r   r   z.test_agg_timezone_round_trip.<locals>.<lambda>  s    QVAY r   )r   r/   c                     | j         d         S )Nr  r  r   s    r   r   z.test_agg_timezone_round_trip.<locals>.<lambda>  s    QVBZ r   )r   r/  r   r   r&   r*   r  r   nthheadrr   r{   r   r   applyrt   )r+   r   r   result3datesr,   r   r   s          @r   test_agg_timezone_round_tripr9    st   	+	=	=	=B	!T!T!T!T%PR))!T!T!TUU	V	VBjjooc"&&u--215Gjjooc"&&':':;;@CGjjooc"&&((-a0Gb====b====b==== KPQRTU;;  E 
#sae44	5	5BjjooG	CaBQ$)!,,,,,a%*1-----%*1----- DC		#M	=	=	= C CW]]#6#677<TBBBBBBC C C C C C C C C C C C C C C 
CaB$)!,,,,, DC		#M	=	=	= D DW]]#7#788=dCCCCCCD D D D D D D D D D D D D D D D D Ds$   ?(H44H8;H8(KKKc                     t          ddgddgddggt                    } | dz   } t          g d	t          j                  }t          dg d
i|t                    }d|j        _        |                     d                              d          }t          j
        ||           |                     d                              d          }|g          }t          j
        ||           d S )Nr/   r   r2   rp   r   rq   r   l    )l            l           l           )l           l           l           )r[   r   r   Fr  T)r   objectr   r"   uint64r[   rw   r&   rM   r{   r|   )r+   r[   r   r   r   	expected2s         r   test_sum_uint64_overflowr>    s    
QFQFQF+6	:	:	:B	!	!BGGGry  E 	
KKKL  H HNZZ]]E22F&(+++ jjmmT22GI'9-----r   zstructure, expectedrj   )r/   r/   r/   )r2   rp   rp   ))r/   r/   )r2   rp   c                      t          |           S r   tupler   s    r   r   r   %  s    eAhh r   c                      t          |           S r   rc   r   s    r   r   r   )  s    d1gg r   c                     t          g dg dg dd          }|                    ddg                              |           }ddg|j        _        t          j        ||           d S )Nr/   r/   r/   r2   r2   r2   r/   r/   r/   rp   rp   rp   r/   r/   r/   r2   rp   rp   r   rh   ri   )r   r&   rN   r[   namesr{   r|   	structurer   r+   r   s       r   test_agg_structs_dataframerK    s      
   '9'9'9@R@R@RSS
 
B ZZc
##--i88F:HN&(+++++r   r/   r2   rx   c                      t          |           S r   r@  r   s    r   r   r   =  s    588 r   c                      t          |           S r   rC  r   s    r   r   r   >  s    477 r   c                     t          g dg dg dd          }|                    d          d                             |           }d|j        _        t          j        ||           d S )NrE  rF  rG  r   rh   rj   )r   r&   rN   r[   rw   r{   r}   rI  s       r   test_agg_structs_seriesrO  8  s{     
   '9'9'9@R@R@RSS
 
B ZZ__S!++I66FHN68,,,,,r   c                    g d}t          t          j        g d|          g dd          }d}t          j        t
          |          5  |                    d| 	          j                            t          j
                  }d d d            n# 1 swxY w Y   t          g d
t          j        g d|d          d          }| r||dk             }t          j        ||           d S )Nr   )r   r   r   )
categories)r/   r   r2   r1  zusing SeriesGroupBy.sumr    rh   )observed)r2   r2   r   )rQ  rw   ri   rx   r   )r   r   Categoricalr{   r   r   r&   ri   r*   r"   nansumr	   CategoricalIndexr}   )rR  rQ  r+   r   r   r   s         r   test_agg_category_nansumrV  L  sO    J	n___DDD999UU
 
B $C		#M	=	=	= E EC(33599")DDE E E E E E E E E E E E E E E		!///jsSSS  H
  +HM*68,,,,,s   :BBBc                     t          d t          d          D             d t          d          D             d          } |                     ddd          }|                    dd	 i          }t          d
 t          d          D             d t          d          D             d          }t	          j        ||           d S )Nc                 ,    g | ]}t          |          S r5   strr6   s     r   r9   z+test_agg_list_like_func.<locals>.<listcomp>`  s    333Q#a&&333r   r2   c                 ,    g | ]}t          |          S r5   rY  r6   s     r   r9   z+test_agg_list_like_func.<locals>.<listcomp>`  s    :T:T:Ta3q66:T:T:Tr   r1  rh   F)as_indexsortri   c                      t          |           S r   rC  r   s    r   r   z)test_agg_list_like_func.<locals>.<lambda>b  s    a r   c                 ,    g | ]}t          |          S r5   rY  r6   s     r   r9   z+test_agg_list_like_func.<locals>.<listcomp>d  s    (((!s1vv(((r   c                 .    g | ]}t          |          gS r5   rY  r6   s     r   r9   z+test_agg_list_like_func.<locals>.<listcomp>d  s     /K/K/KQQ/K/K/Kr   )r   r   r&   r*   r{   r|   )r+   r,   r   r   s       r   test_agg_list_like_funcra  ^  s    	33%((333:T:T5QR88:T:T:TUU	V	VBjju5j99G[[#00122F((uQxx(((/K/K%((/K/K/KLL H &(+++++r   c                  r   t          ddgt          j        dd          t          j        dd          gd          } |                     d                              dd	 i          }t          t          j        dd          gt          dgd
          dg          }t          j        ||           d S )Nr/   z
2018-01-01r  r'  z
2018-01-02)tagrB   rc  rB   c                 ,    |                      d          S )Nr/   )r5  )es    r   r   z/test_agg_lambda_with_timezone.<locals>.<lambda>t  s    affQii r   rv   r  )r   r   r/  r&   r*   r   r{   r|   )r+   r   r   s      r   test_agg_lambda_with_timezonerf  i  s    	q6\e444\e444	
 	

 
B ZZ""F,?,?#@AAF	lu	-	-	-.QCe$$$  H
 &(+++++r   err_clsc                 l    ddl m}m}m}  |            d d         }t	          g dg d ||          d          }t           ||d         |d         g                    } fd}|d	                             |d
                                       |          }t          j	        ||d           d S )Nr   )DecimalArray	make_data
to_decimalr   )r   r   r   r/   r/   )r   r/   r   r/   r/   )id1id2decimalsr2   c                 H    t          |           dk    r| j        d         S r  )rO   r  )r8   rg  s    r   
weird_funcz1test_groupby_agg_err_catching.<locals>.weird_func  s%     q66Q;;Mvayr   rn  rl  F)check_names)
$pandas.tests.extension.decimal.arrayri  rj  rk  r   r	   r&   r*   r{   r}   )	rg  ri  rj  rk  rP   r+   r   rp  r   s	   `        r   test_groupby_agg_err_catchingrs  }  s   $          9;;rr?D	\\RVEWEWXX
 
B jj$q'47!34455H     
^##BuI..22:>>F68??????r   )=__doc__rF   rE   	functoolsr   numpyr"   r'   pandas.errorsr   pandasr   r   r   r   r   r	   r
   r   pandas._testing_testingr{   pandas.io.formats.printingr   r-   rU   rf   r   r   r   r   r   r   r   r   r   r   r   r   r  markparametrizer$  r9  r>  rA  rc   rK  rO  rV  ra  rf  NotImplementedErrorRuntimeErrorr   
IndexErrorOSError
ValueErrorArithmeticErrorAttributeErrorrs  r5   r   r   <module>r     s^                   , , , , , ,                            3 3 3 3 3 3" " "."  "  " J  #6 #6 #6L	- 	- 	-, , ,",< ,< ,<^0 0 0&- - -*6 6 6:	* 	* 	*- - -7, 7, 7,t, , ,80 0 04, , ,6 tUm44- - 54->#D #D #DL. . .2 			3I F FGHHI	yy#			999EEFGGHIsY	BBCDD	

 IsYYY			BBCDD	
 , , , 		9-aV#FFFG	vvyyy))),QFEEEF		VVY	$:1a&sSSST		FFIIIyyy#9!QcRRRS	 - - -- - -$, , ,, , ,( 	 @ @ @ @ @r   