
    A[g"                        d dl m Z  d dlZd dlZd dlZd dlmZ d dlmZ d dl	Z
d dl	mZmZmZ d dlmZ d dlmZ ej&                  d        Zej&                  d        Zej&                  d	        Zd
 Zd Zd Zd Zd Zd Zd Zej<                  j?                  ddgddgg      d        Z d Z!ej<                  j?                  dg d      d        Z"d Z#d Z$d Z%d Z&ej<                  j?                  dddg      d        Z'd  Z(ej<                  j?                  d!d" d# gd$d%g&      d'        Z)d( Z*d) Z+d* Z,ej&                  d+        Z-ej&                  d,        Z.ej&                  d-        Z/ej&                  d.        Z0ej&                  d/        Z1ej&                  d0        Z2ej&                  d1        Z3ej&                  d2        Z4ej&                  d3        Z5ej&                  d4        Z6ej&                  d5        Z7ej&                  d6        Z8ej&                  d7        Z9ej&                  d8        Z: ej&                  g d9:      d;        Z;d< Z<ej<                  j?                  d=d!ejz                  ej|                  d>idejz                  fd?ej|                  fd> edejz                         ed?ej|                        d>g      d@        Z?dA Z@ej<                  j?                  d=d!dBdCgidBdCdDg      dE        ZAej<                  j?                  d=ddBdCdDidBdCdDdBdCdFd>g      dG        ZBdH ZCej<                  j?                  d=d!ej                  dI d>idej                  fd?dJ fd> edej                         ed?dK       d>g      dL        ZEej<                  j?                  d=d!ej                  ejz                  dMidNej                  fdOejz                  fd> edNej                         edOejz                        d>g      dP        ZFej<                  j?                  dQddCdRgdBdRgd>gdd?gdCdRgdBdRgd>gg      dS        ZGej<                  j?                  d=ddCdRgidCdRgdBdRgd>g      dT        ZHdU ZIej<                  j?                  d!dVgdBdWgddCidXdYd>g      dZ        ZJd[ ZKd\ ZLd] ZMd^ ZNej<                  j?                  d_g d`      da        ZOdb ZPej<                  j?                  dcdddedfg dgdhdidg djdkdlf
dmdndodpgdqz  dfdidrg dsdtduf
dddedfg dgdhdidvg dwdxdyf
dddedfg dgdhdzdg d{d|dlf
g      d}        ZQej<                  j?                  d~g dCdddgifdCddgdgdfdCej                  dgdgdfdXdddgifddXej                  dfdVdddygifdVddgdygdfdVej                  dgdygdfdWdddgifdWddgdgdfdWej                  dgdgdfddddygifdddgdygdfdej                  dgdygdfddddgifdddgdgdfdej                  dgdgdfdBdddgifddBej                  dfdYdddgifddYej                  dfdRdddgifddRej                  dfddddgifddej                  dfddddgifddej                  df      d        ZSej<                  j?                  d~ddCddgfdCej                  dgfdddXej                  dfddVddgfdVej                  dgfddWddgfdWej                  dgfddddgfdej                  dgfddddgfdej                  dgfg      d        ZTej<                  j?                  dg d      d        ZUd ZVd ZWd ZXy)    )datetimeN)lib)UnsupportedFunctionCall)	DataFrameNamedAggSeries)
date_rangec                  J    t        t        ddd      t        ddd      d      S )N     
   Min)startendfreq)r	   r        b/var/www/html/bid-api/venv/lib/python3.12/site-packages/pandas/tests/resample/test_resample_api.pydtir      s$    HT1a0htQ6KRWXXr   c                     t        t        j                  j                  d      j                  t	        |             |       S )N   )r   nprandomdefault_rnglen)r   s    r   _test_seriesr      s-    "))''*11#c(;SAAr   c           	      X    t        ||t        j                  t        |             d      S )NABC)r   r   aranger   )r   r   s     r   
test_framer#      s!    <l3s8ATUVVr   c                     | j                  d      }dt        |      v sJ | j                  dd      }dt        |      v sJ y )NhziDatetimeIndexResampler [freq=<Hour>, axis=0, closed=left, label=left, convention=start, origin=start_day]
2000-01-01)originzsDatetimeIndexResampler [freq=<Hour>, axis=0, closed=left, label=left, convention=start, origin=2000-01-01 00:00:00])resamplestr)r   rs     r   test_strr+   #   sd    c"A	:=@V	D	D 	c,7A	DGJ1v	N	Nr   c                 ,   | j                  d      }|j                         }t        |t              sJ t	        |      dk(  sJ | j                         j                  d      }|j                         }t        |t              sJ t	        |      dk(  sJ y )Nr%      )r(   mean
isinstancer   r   to_framer   )r   r*   results      r   test_apir2   1   s    c"AVVXFff%%%v;#((-AVVXFfi(((v;#r   c                  L   t        t        ddd      g dg dd      j                  d      } t        d	d
      j                         t        dd
      j                         z   }t        j
                  j                  dgd
z  dgd
z  z   |gddg      }t        ddgdz  dgz   dgdz  z   d
gz   i|      }d}t        j                  t        |      5  | j                  d      j                  d       dg   }d d d        t        j                  |       y # 1 sw Y    xY w)N
2016-01-01   W)r   periodsr   )r   r   r   r   )            )dategroupvalr<   z
2016-01-03r;   r7   z
2016-01-17r   r   r=   namesr>   r8   r:   r9   indexz7DataFrameGroupBy.apply operated on the grouping columnsmatchc                 @    | j                  d      j                         S )N1D)r(   ffillxs    r   <lambda>z+test_groupby_resample_api.<locals>.<lambda>R   s    QZZ5E5K5K5Mr   )r   r	   	set_indextolistpd
MultiIndexfrom_arraystmassert_produces_warningDeprecationWarninggroupbyapplyassert_frame_equal)dfirC   expectedmsgr1   s         r   test_groupby_resample_apir[   =   s#    
\13G!	

 i  	<+224
\1
-
4
4
6	7  MM%%sQw!q'8!&<WfDU%VE%!qA3!q!8A3!>?uMH
CC		#	#$6c	BG$**+MNPUwW 
C&(+ 
C	Bs   &DD#c                     t        ddgdz  t        dd      t        j                  j	                  d      j                  d      d      } | j                  d	      j                  d
      j                  d      j                         }| j                  d
      j                  dd	      j                         }t        j                  ||       y )Nr   r    r8   r4   r   r?   r   )keydatesvaluesr^   r]   Don)r   r	   r   r   r   standard_normalrL   rT   r(   r.   rQ   rV   rW   rY   r1   s      r   test_groupby_resample_on_apire   V   s     
:>b9ii++A.>>rB	

B ||G$,,U3<<SAFFHHZZ'''8==?F&(+r   c                  ~   t        dddt        dd            } | j                         }| j                  dd	
      }|j	                  d       }t        j                  ||       | j                  d      }|j	                  d       }t        j                  ||       t        j                  j                  t        j                  ddg      j                  d      j                  d      |j                  g      |_        | j                  dd
      }|j	                  d       }t        j                  ||       y )Nr   r   r   r    2000r   r?   rB   5DF
group_keysc                     | S Nr   rI   s    r   rK   z*test_resample_group_keys.<locals>.<lambda>m       qr   c                     | S rm   r   rI   s    r   rK   z*test_resample_group_keys.<locals>.<lambda>r   rn   r   r&   z
2000-01-06nsr8   Tc                     | S rm   r   rI   s    r   rK   z*test_resample_group_keys.<locals>.<lambda>}   rn   r   )r   r	   copyr(   rU   rQ   rV   rN   rO   rP   to_datetimeas_unitrepeatrC   )rW   rY   gr1   s       r   test_resample_group_keysrw   g   s   	#:fb+I	JBwwyH 	DU+AWW[!F&(+ 	DAWW[!F&(+ ]]..NNL,78@@FMMaPNN	
HN 	DT*AWW[!F&(+r   c                 l   |j                  d      }|j                         |j                         z
  }|j                  d       }t	        j
                  ||       | j                  d      }|j                         |j                         z
  }|j                  d       }t	        j                  ||       y )Nr%   c                 D    | j                         | j                         z
  S rm   maxr.   rI   s    r   rK   ztest_pipe.<locals>.<lambda>       aeeg0r   c                 D    | j                         | j                         z
  S rm   rz   rI   s    r   rK   ztest_pipe.<locals>.<lambda>   r|   r   )r(   r{   r.   piperQ   assert_series_equalrV   )r#   r   r*   rY   r1   s        r   	test_piper      s     	c"Auuw!HVV01F68, 	C Auuw!HVV01F&(+r   c                 :   | j                  d      }t        j                  |j                  j                  | j                         | j                  d      d   }|j                  j
                  | j                  d   k(  sJ | j                  d      d   }t        j                  |j                  j                  | j                  ddg          | j                  d      d   }t        j                  |j                  j                  | j                  ddg          y )Nr%   r    r   rg   r   )r(   rQ   assert_index_equal_selected_objcolumnsnamer#   r*   s     r   test_getitemr      s    C A!//11:3E3EFC %A??:#5#5a#8888 	C *A!//11:3E3Eq!f3MNC *A!//11:3E3Eq!f3MNr   r]   r`   r   c                     |j                  d      }d}t        j                  t        |      5  ||     d d d        y # 1 sw Y   y xY w)Nr%   z^\"Columns not found: 'D'\"$rD   )r(   pytestraisesKeyError)r]   r#   rv   rZ   s       r   test_select_bad_colsr      s:    C A *C	xs	+	# 
,	+	+s	   >Ac                     | j                  d      }t        j                  |j                  j	                         |d   j	                                y )Nr%   r   )r(   rQ   r   r   sumr   s     r   test_attribute_accessr      s6    C A133779afjjl3r   attr)groupsngroupsindicesc                     t        ddd      }t        t        j                  t	        |            |      }|j                  d      }t        ||        |j                          t        ||        y )N1/1/2012d   sr7   r   rB   30s)r	   r   r   r"   r   r(   getattrr.   )r   rngtsrss       r   test_api_compat_before_user      sZ     Z3
7C			#c(#3	/B	U	B B GGIBr   c                 @   | }d|d<   |j                  d      }|ddg   j                         }t        j                  |j                  j                         |j
                  j                         gd      }t        j                  ||       |g d   j                         }t        j                  d	      }t        j                  t        |
      5  |j                          d d d        |j                  d      }t        j                  ||       y # 1 sw Y   2xY w)Nfoor`   r%   r   r    r   axisr   z&agg function failed [how->mean,dtype->rD   Tnumeric_only)r(   r.   rN   concatr   r    rQ   rV   reescaper   r   	TypeError)r#   rW   r*   r1   rY   rZ   s         r   tests_raises_on_nuisancer      s    	BBsG
CASz]!Fyy!##((*acchhj1:H&(+!&&(H
))<
=C	y	,	 
-VVV&F&(+ 
-	,s   DDc                     t        ddd      } t        t        j                  t	        |       d      |       }|j                  d      j                         }t        g d	t        d
dd            }t        j                  ||       y )Nr   r   r   r   int64dtyperB   20s)r      (   <   P   2012-01-01 00:00:00r8   r   r7   )	r	   r   r   r"   r   r(   asfreqrQ   r   )r   r   r1   rY   s       r   'test_downsample_but_actually_upsamplingr      sn    
Z3
7C			#c('2#	>B[[&&(F.UAFH 68,r   c                  h   t        ddd      } t        t        j                  t	        |             |       }|j
                  g d   }|j                  d      j                         j                         }t        g dt        j                  g d	d
d            }t        j                  ||       y )Nr   r   r   r   rB   )r   r   r      r8   r:                  2s)g      ?g      @g      @      @r         &@r   g      .@      0@r   r   r         9@r   r   g      >@)r   z2012-01-01 00:00:02z2012-01-01 00:00:04z2012-01-01 00:00:06z2012-01-01 00:00:08z2012-01-01 00:00:10z2012-01-01 00:00:12z2012-01-01 00:00:14z2012-01-01 00:00:16z2012-01-01 00:00:18z2012-01-01 00:00:20z2012-01-01 00:00:22z2012-01-01 00:00:24z2012-01-01 00:00:26z2012-01-01 00:00:28z2012-01-01 00:00:30zdatetime64[ns])r   r   )r	   r   r   r"   r   ilocr(   r.   rH   rN   DatetimeIndexrQ   r   )r   r   ts2r1   rY   s        r   *test_combined_up_downsampling_of_irregularr      s    
 Z3
7C			#c(#3	/B
''8
9C\\$$$&,,.F	
$ $ #)
')HT 68,r   c                     | j                  d      }| j                  t        j                  d            j	                  d      }|j	                  d      }t        j                  ||       y )N20minr   r.   )r(   rT   rN   Grouper	transformrQ   r   )r   r*   rY   r1   s       r   test_transform_seriesr     sT    g&A##BJJG$<=GGOH[[ F68,r   rb   r<   c                 
   t        t        ddd      t        ddd      d      }d|_        t        t        j
                  j                  d      j                  d      t        d	      |
      }|j                  t        j                  d            j                  d      }| dk(  r"|j                  d      }|j                         }|j                  d|       }|j                  d      }t        j                  ||       y )Nr   r   r   r`   r   r<   r   r   r   ABr   rC   r   r.   T)dropra   )r	   r   r   r   r   r   r   listrT   rN   r   r   reset_indexr(   rQ   rV   )rb   rC   rW   rY   r*   r1   s         r   test_transform_framer     s     xa+XdAr-BMEEJ	
		a ''0$t*E
B zz"**'23==fEH	V|''T'2^^
G#A[[ F&(+r   c                  "   t        ddd      } t        t        j                  t	        |       d      |       }|j                  d      }|j                         }d	}t        j                  t        |
      5  |j                  d      }d d d        t        j                  |       |j                         }t        j                  t        |
      5  |j                  d      }d d d        t        j                  ||       d}t        j                  t        |
      5  t        j                  t        |
      5  |j                  d       d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   *xY w# 1 sw Y   y xY w)Nr   r   r   r   r   r   rB   r   z+DatetimeIndexResampler.fillna is deprecatedrD   rH   )methodbfillzTInvalid fill method\. Expecting pad \(ffill\), backfill \(bfill\) or nearest\. Got 0r   )r	   r   r   r"   r   r(   rH   rQ   rR   FutureWarningfillnar   r   r   r   
ValueError)r   r   r*   rY   rZ   r1   msg2s          r   test_fillnar   ,  s&   
Z$
7C			#c('2#	>B
CAwwyH
7C		#	#M	=) 
>68,wwyH		#	#M	=) 
>68,	( 	 
z	.''SAHHQK B 
/	. 
>	=
 
>	= BA 
/	.s<   8E!E-"F>E9F!E*-E69F	>FFfuncc                 (    | j                  dd      S )Nr   Frj   r(   rI   s    r   rK   rK   I  s    !**W*7r   c                 P    | j                  t        j                  d      d      S )Nr   r   Frj   rT   rN   r   rI   s    r   rK   rK   J  s    !))BJJG4)Gr   r(   rT   )idsc                 d     | |      }|j                  d       }t        j                  ||       y )Nc                     | S rm   r   rI   s    r   rK   z0test_apply_without_aggregation.<locals>.<lambda>Q  rn   r   )rU   rQ   r   )r   r   tr1   s       r   test_apply_without_aggregationr   F  s,     	\AWW[!F6<0r   c                     | j                  d      j                  dd      }|d   j                  d       }t        j                  || j                  d             y )Nr   )r   r   Frj   c                     | S rm   r   rI   s    r   rK   z1test_apply_without_aggregation2.<locals>.<lambda>W  s    Ar   )r0   r(   rU   rQ   r   rename)r   groupedr1   s      r   test_apply_without_aggregation2r   U  sT    ###/88U8SGU^!!+.F6<#6#6u#=>r   c                  B   t        t        j                  j                  d      j	                  d      t        ddd      g d      } | j                  d	      }d
}t        j                  t        |      5  |j                  ddd       d d d        y # 1 sw Y   y xY w)Nr   )  r   r   r   r   r   r   rC   r   3minz'Column\(s\) \['r1', 'r2'\] do not existrD   r.   r   r1r2r   r   r   r   rc   r	   r(   r   r   r   aggrW   r*   rZ   s      r   test_agg_consistencyr   [  sz     

		a 00;#t<
B 	FA
4C	xs	+	V5)* 
,	+	+   7BBc                  B   t        t        j                  j                  d      j	                  d      t        ddd      ddg	      } | j                  d
      }d}t        j                  t        |      5  |j                  ddd       d d d        y # 1 sw Y   y xY w)Nr   )r   r   r   r   r   r   r   ar   r   z#Column\(s\) \[2, 'b'\] do not existrD   r.   r   )r   br   r   s      r   'test_agg_consistency_int_str_column_mixr   k  s|    	
		a 00;#t<C
B 	FA
0C	xs	+	&u%& 
,	+	+r   c                  \    t        t        ddd      t        ddd      d      } d| _        | S )Nr   r   r   r`   r   r<   )r	   r   r   rB   s    r   rC   rC   ~  s.    xa+XdAr-BMEEJLr   c                     t        t        j                  j                  d      j                  d      t	        d      |       }|S )Nr   r   r   r   )r   r   r   r   r   )rC   frames     r   rW   rW     s8    
		a ''0$t*EE Lr   c                 "    | j                         S rm   )r   rW   s    r   df_colr    s    >>r   c                     | j                         }t        j                  j                  t	        d      |gddg      |_        |S )Nr   rC   r<   r@   )rr   rN   rO   rP   rangerC   )r  rC   df_mults      r   r  r    sB    kkmGMM--	rE7F"3 . GM Nr   c                 F    | j                  d      d   j                         S N2Dr   r(   r.   r   s    r   a_meanr	        ;;tS!&&((r   c                 F    | j                  d      d   j                         S r  r(   stdr   s    r   a_stdr        ;;tS!%%''r   c                 F    | j                  d      d   j                         S r  r(   r   r   s    r   a_sumr    r  r   c                 F    | j                  d      d   j                         S Nr  r    r  r   s    r   b_meanr    r
  r   c                 F    | j                  d      d   j                         S r  r  r   s    r   b_stdr    r  r   c                 F    | j                  d      d   j                         S r  r  r   s    r   b_sumr    r  r   c                 $    | j                  d      S )Nr  r   r   s    r   df_resampler    s    ;;tr   c                 (    | j                  dd      S )Nr  r<   ra   r   )r  s    r   df_col_resampler    s    ??4F?++r   c                 (    | j                  dd      S )Nr  r<   levelr   )r  s    r   df_mult_resampler!    s    D//r   c                 L    | j                  t        j                  d            S )Nr  r   r   r   s    r   df_grouper_resampler#    s    ::bjjd+,,r   )r  r  r!  r#  )paramsc                 8    | j                  | j                        S rm   )getfixturevalueparam)requests    r   casesr)    s     ""7==11r   c                    t        j                  ||||gd      }t         j                  j                  ddgddgg      |_        d}d|j
                  j                  j                  v rj| d	   j                         }| d	   j                         }	t        j                  ||	|gd      }t         j                  j                  g d
ddgg      |_        t        j                  t        |      5  | j                  t        j                  t        j                  g      }
d d d        t        j                  
|       y # 1 sw Y    xY w)Nr   r   r   r    r.   r  using SeriesGroupBy.[mean|std]r  r<   )r<   r   r    rD   )rN   r   rO   from_productr   nodecallspecidr.   r  rQ   rR   r   	aggregater   rV   )r)  r	  r  r  r  r(  rY   rZ   	date_meandate_stdr1   s              r   !test_agg_mixed_column_aggregationr3    s   yy&%7a@H}}11C:2OPH
*CGLL)),,,&M&&(	=$$&99i8<1E==55&%1
 
	#	#M	="''266!23 
>&(+ 
>	=s   /0D>>Er   rg   r    c                     d}t        j                  ||gd      }t        j                  t        |      5   | j
                  di |}d d d        t        j                  |d       y # 1 sw Y   "xY w)Nr+  r   r   rD   T
check_liker   )rN   r   rQ   rR   r   r0  rV   )r)  r	  r  r   rZ   rY   r1   s          r   #test_agg_both_mean_std_named_resultr7    s`     +Cyy&%q1H		#	#M	= '3' 
>&(t< 
>	=s   A++A4c                     t        j                  ||gd      }t         j                  j                  ddg      |_        | j                  dddgi      }t        j                  ||       y )Nr   r   r   r.   r   r  r   r.   r  rN   r   rO   from_tuplesr   r0  rQ   rV   )r)  r	  r  rY   r1   s        r   #test_agg_both_mean_std_dict_of_listr=    sY    yy&%q1H}}00-1NOH__cFE?34F&(+r   r.   r   )r.   r   c                     t        j                  ||gd      }ddg|_         | d   j                  di |}t	        j
                  ||       y )Nr   r   r.   r   r   r   )rN   r   r   r0  rQ   rV   )r)  r	  r  r   rY   r1   s         r   test_agg_both_mean_sumr?    sM     yy&%q1HH!U3Z!!(C(F&(+r   )mean2sum2c                     d}t        j                  t        j                  j                  |      5  | j                  |       d d d        y # 1 sw Y   y xY w)Nnested renamer is not supportedrD   )r   r   rN   errorsSpecificationErrorr0  r)  r   rZ   s      r   (test_agg_dict_of_dict_specificationerrorrG    s:     ,C	ryy333	? 
@	?	?s   AAc                     t        j                  ||||gd      }t         j                  j                  g d      |_        | j                  ddgddgd      }t        j                  ||d       y )	Nr   r   )r9  r:  r    r.   r    r  r.   r  rg   Tr5  r;  )r)  r	  r  r  r  rY   r1   s          r   test_agg_dict_of_listsrK    sd    yy&%7a@H}}00BH __FE?&%IJF&(t<r   c                 0    t        j                  | d      S Nr   )ddofr   r  rI   s    r   rK   rK   "  s    bffQQ.?r   c                 0    t        j                  | d      S rM  rO  rI   s    r   rK   rK   #  s    "&&2Cr   c                 0    t        j                  | d      S rM  rO  rI   s    r   rK   rK   $  s    "&&QRBSr   c                 :   d}| d   j                  d       }t        j                  | d   j                         |gd      }t	        j
                  t        |      5   | j                  d
i |}d d d        t	        j                  |d	       y # 1 sw Y   "xY w)Nzusing SeriesGroupBy.sumr    c                 0    t        j                  | d      S rM  rO  rI   s    r   rK   z&test_agg_with_lambda.<locals>.<lambda>*  s    ):r   r   r   r   rD   Tr5  r   )	rU   rN   r   r   rQ   rR   r   r   rV   )r)  r   rZ   rcustomrY   r1   s         r   test_agg_with_lambdarU    s     $CCj:;Gyy%*..*G41=H		#	#M	=!S! 
>&(t< 
>	=s   BB)result1result2rV  rW  c                     d}t        j                  t        |      5   | ddg   j                  di | d d d        y # 1 sw Y   y xY w)Nz1Column\(s\) \['result1', 'result2'\] do not existrD   r   r    r   r   r   r   r   rF  s      r   test_agg_no_columnrZ  1  s?     ?C	xs	+sCj$$ 
,	+	+s	   ?Az	cols, aggr  c                     t        j                  ||||gd      }t         j                  j                  g d      |_        || |   }n| }|j                  |      }	t        j                  |	|d       y )Nr   r   ))r   r   r:  rI  rJ  Tr5  )rN   r   rO   r<  r   r   rQ   rV   )
r)  colsr   r  r  r  r  rY   objr1   s
             r   "test_agg_specificationerror_nestedr^  ?  sl      yy%6Q?H}}00AH DkWWS\F&(t<r   c                     d}t        j                  t        j                  j                  |      5  | d   j                  |       d d d        y # 1 sw Y   y xY w)NrC  rD   r   )r   r   rN   rD  rE  r   rF  s      r   "test_agg_specificationerror_seriesr`  \  s@     ,C 
ryy333	?c
s 
@	?	?s   AAc                     d}t        j                  t        |      5  | dg   j                  ddgddgd       d d d        y # 1 sw Y   y xY w)Nz Column\(s\) \['B'\] do not existrD   r   r   r  r.   rg   rY  )r)  rZ   s     r   )test_agg_specificationerror_invalid_namesrb  g  sD     .C	xs	+seu~VUODE 
,	+	+s   AAminr{   prodmedianc                     t        t        ddd      t        ddd      d      }d|_        t        t        j
                  j                  d      j                  d      t        d	      |
      j                  }d}t        j                  t        |      5  |j                  dd      }t        j                  t        d      5  |j!                  |        d 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   -DataFrame.resample with axis=1 is deprecated.rD   MEr   z"axis other than 0 is not supported)r	   r   r   r   r   r   r   r   TrQ   rR   r   r(   r   r   NotImplementedErrorr   )r   rC   rW   warning_msgress        r   test_multi_agg_axis_1_raisesrm  o  s     xa+XdAr-BMEEJ	
		a ''0$t*E
a  BK		#	#M	Ekk$Qk']]'K
 GGDM
 
F	E
 
 
F	Es$   /C4C(C4(C1	-C44C=c                     t        t        ddd      t        ddd      d      } d| _        t        t        j
                  j                  d      j                  d      t        d	      | 
      }|j                         }|j                         }t        j                  j                  t        d      |j                  gddg      |_        |j                  d      }||j                  dd      |j                  dd      |j!                  t        j"                  d            g}d}|D ]V  }t%        j&                  t        j(                  j*                  |      5  |j-                  dddgidddgid       d d d        X |D ]  }t%        j&                  t        j(                  j*                  |      5  |ddg   j/                  dddgidddgid       d d d        t%        j&                  t        j(                  j*                  |      5  |j/                  dddgidddgid       d d d         y # 1 sw Y   xY w# 1 sw Y   mxY w# 1 sw Y   xY w)Nr   r   r   r`   r   r<   r   r   r   r   rC   r@   r  ra   r  rC  rD   r   r.   r   r    r   rar  rbrg   )r	   r   r   r   r   r   r   r   r   rr   rN   rO   rP   r  rC   r(   rT   r   r   r   rD  rE  r0  r   )rC   rW   r  r  r*   r)  rZ   r   s           r   test_agg_nested_dictsrq    s   xa+XdAr-BMEEJ	
		a ''0$t*E
B ^^FkkmGMM--	rBHHgv%6 . GM 	DA	(V,


2::4()	E ,C]]29977sCKKfe_5cFE?=STU DC  ]]29977sCsCjMfe_-TFE?4KL D
 ]]29977sCEE/tfe_6MNO DC  DC DC
 DCs$   H:9"II:I	I	I	c                  T   t        dddd      dddt        dddd      dddt        dddd      d	d
dg} t        |       j                  d      }d}t        j                  t
        |      5  |j                  d      j                  dgdgdgd       d d d        y # 1 sw Y   y xY w)Ni  r9   r   r   g      ?g       @)dtrJ   yr   g      @g      ?rs  z Column\(s\) \['z'\] do not existrD   30minr.   re  r   )rJ   rt  z)r   r   rL   r   r   r   r(   r   )datarW   rZ   s      r   &test_try_aggregate_non_existing_columnrx    s     aA&Ss;aA&Ss;aA&Ss;D
 
4	"	"4	(B .C	xs	+
G  xxjw!OP 
,	+	+s   -(BB'c                     t        dg dit        ddd            } dd}dd	}d
}t        j                  t        |      5  | j                  d      j                  ||gddd       d d d        | j                  d      j                  ||gdd      }t        ddgddgddggt        ddd      t        j                  j                  ddg            }t        j                  ||       y # 1 sw Y   xY w)NrJ   )r   r   r   
2020-01-01r   r`   r   rB   c                     | |z   |z   S rm   r   )rJ   r   cs      r   foo1z/test_agg_list_like_func_with_args.<locals>.foo1      1uqyr   c                     | |z   |z   S rm   r   )rJ   r   r|  s      r   foo2z/test_agg_list_like_func_with_args.<locals>.foo2  r~  r   z/foo1\(\) got an unexpected keyword argument 'b'rD   r5   )r   r|  )r|  r;   	   r   )rJ   r}  )rJ   r  r   )r   r   )r   r   )r   r	   r   r   r   r(   r   rN   rO   r<  rQ   rV   )rW   r}  r  rZ   r1   rY   s         r   !test_agg_list_like_func_with_argsr    s    		i
< M
B =C	y	,
CdD\1Q7 
- [[!!4,Q!7F
Q!Q"b"qs;))=-*HIH
 &(+ 
-	,s   'C00C9c                     t        t        ddd      t        ddd      d      } t        j                  t	        |       t        j
                        }t        | |dt        j                  j                  || gdd	g
            }t        d|i|       }d}t        j                  t        |      5  |j                  dd       d d d        d}t        j                  t        |      5  |j                  ddd	       d d d        d}t        j                  t        |      5  |j                  dddg       d d d        d}t        j                  t        |      5  |j                  dddg       d d d        d}t        j                  t        |      5  |j                  dd	      j!                          d d d        t        j                  t        |      5  |j                  dd      j!                          d d d        |j                  d      j#                         }d|j$                  _        |j                  dd      j#                         }t)        j*                  ||       d	|j$                  _        t        j                  t        d      5  |j                  dd	      j#                          d d d        |j                  dd	      j#                  d      }t)        j*                  ||       y # 1 sw Y   =xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   zxY w# 1 sw Y   BxY w# 1 sw Y   xY w)Nr   r   r   r`   r   r   )r<   r   vdr@   rB   r   z\Only valid with DatetimeIndex, TimedeltaIndex or PeriodIndex, but got an instance of 'Index'rD   r  r  z2The Grouper cannot specify both a key and a level!r<   )rb   r   zunhashable type: 'list'ra   z#\"Level \['a', 'date'\] not found\"z|Upsampling from level= or on= selection is not supported, use \.set_index\(\.\.\.\) to explicitly set index to datetime-likez$datetime64 type does not support sumTr   )r	   r   r   r"   r   r   r   rN   rO   rP   r   r   r   r(   r   r   r   r   rC   r   rQ   rV   )rC   r   rW   df_exprZ   expr1   s          r   test_selection_api_validationr    s   xa+XdAr-BME
))CJbhh
/C	S!mm''eS#J'G
B Sz/F	)  
y	,
D$ 
- ?C	z	-
DV3/ 
. $C	y	,
Dc6]+ 
- 1C	xs	+
Df. 
,
	J  
z	-
D$++- 
.	z	-
DV$++- 
. //$

#
#
%CCIIN[[&[)--/F#v&CIIN	y(N	O
D$((* 
P[[S[)--4-@F#v&E 
-	, 
.	- 
-	, 
,	+ 
.	-	-	- 
P	OsT   2L+L%L L("L5 "M"MLLL%(L25L?MMcol_name)t2t2xt2qT_2Mt2pt2mt2m1T2Mc           	      B   t        t        t        d            t        dddd      | g      }|j	                  d      j                  dg      }t        g d	t        dd
dd      t        j                  | gdggdgdgg            }t        j                  ||       y )N   z
2017-01-0115minzEurope/Berlin)r   r   r7   tzr   1dr.   )g     G@g     a@g     ph@r`   r   r   )levelscodes)
r   r   r  r	   r(   r0  rN   rO   rQ   rV   )r  rW   r1   rY   s       r   *test_agg_with_datetime_index_list_agg_funcr    s     
U3ZWco
 

B [[((&2F|#q_Uxj6(%;QC!:NH
 &(+r   c                  X   t        ddd      } t        j                  |       }|j                  d       t	        ||       }|j                  d      }t	        t        j                  d	      t        j                  d	      g| d d d
         }|j                  d      }t        j                  ||       |j                  d      }t        j                  ||       |j                  d      }t        j                  ||       |j                  d      }t        j                  ||       y )Nrz  z
2020-01-021hr   F)writerB   rG   r      lastfirstr{   rc  )r	   r   
zeros_likesetflagsr   r(   rN   	Timestampr   rQ   r   )rC   arrserr   rY   r1   s         r   test_resample_agg_readonlyr    s    |\=E
--
CLLuL
E
"C	d	Br||AQ8ddLHVVF^F68,VVG_F68,VVE]F68,VVE]F68,r   zLstart,end,freq,data,resample_freq,origin,closed,exp_data,exp_end,exp_periodsz2000-10-01 23:30:00z2000-10-02 00:26:007min)	r   r   r9   r     r         r  17minr   )r   r     ?   z20001002 00:26:00r5   z20200101 8:26:35z20200101 9:31:5877sr   3   right)
r   r9   r8   r9   r8   r9   r8   r9   r8   r9   z2020-01-01 09:30:45r   left)r   r  r  '   r  z20001002 00:43:00r8   end_day)r   r   -   r  z2000-10-02 00:29:00c
                     t        | ||      }
t        ||
      }|j                  |||      j                         }t        |t        |||	            }t	        j
                  ||       y )Nr   rB   )r'   closed)r   r   r7   )r	   r   r(   r   rQ   r   )r   r   r   rw  resample_freqr'   r  exp_dataexp_endexp_periodsr   r   rl  rY   s                 r   test_end_and_end_day_originr  3  sg    B UCd
+C	C	 B
++mF6+
B
F
F
HCW=+NH
 3)r   z#method, numeric_only, expected_dataTnumr   F
cat_1cat_2catr  r   )rd  Fcan't multiply sequencer  cat_1r   cat_2r  r  g      )@)r.   FCould not convertr  )re  F-Cannot convert \['cat_1' 'cat_2'\] to numericr  gH6%@)r  F!could not convert string to floatr  varg      \@)r  Fr  semg      @)r  Fr  c                    t        ddd      }t        ddd      }t        dd	gd
dgd|      }|j                  d      }|t        j                  u ri }nd|i}t        ||       }t        |t              rU| dv r t        }	t        j                  d|  d      }
nt        }	|}
t        j                  |	|
      5   |di |}d d d        y  |di |}t        ||      }t        j                  ||       y # 1 sw Y   y xY w)N
2018-01-01r   r`   r   
2018-12-31r   YEr  r  r8   r   r  rB   r   )r  r.   re  rd  zagg function failed [how->z,dtype->rD   r   )r	   r   r(   r   
no_defaultr   r/   r)   r   r   r   r   r   r   rQ   rV   )r   r   expected_datarC   expected_indexrW   	resampledkwargsr   klassrZ   _r1   rY   s                 r   test_frame_downsample_methodr    s    T |QS9EadCN	GW-q"g>e	LBD!Is~~% ,/9f%D-%66E))8IJCEC]]5,vA -, ].A
fh/ -,s   :	C88D)r   Tr   )rd  Tr   )rd  Fr   r   )rc  Tr   )r{   Tr   )r  Tr   )r  Tr   c                 d   t        ddd      }t        ddd      }t        dd	g|
      }|j                  d      }|t        j                  u ri nd|i}t        ||       }|rD|t        j                  ur2d|  }	t        j                  t        |	      5   |di | d d d        y | dk(  rBt        j                  d      }	t        j                  t        |	      5   |di | d d d        y  |di |}
t        ||
      }t        j                  |
|       y # 1 sw Y   y xY w# 1 sw Y   y xY w)Nr  r   r`   r   r  r   r  r  r  rB   r   z1Cannot use numeric_only=True with SeriesGroupBy\.rD   rd  z&agg function failed [how->prod,dtype->r   )r	   r   r(   r   r  r   r   r   r   r   r   rQ   r   )r   r   r  rC   r  rW   r  r  r   rZ   r1   rY   s               r   test_series_downsample_methodr    s   4 |QS9EadCN	'"%	0BD!I3>>1R7UF9f%DCNN:B6(K]]9C0N6N 10	6	ii@A]]9C0N6N 10 -~>
vx0 10 10s   	D	D&D#&D/zmethod, raises))r   T)rd  T)rc  T)r{   T)r  F)r  F)re  F)r.   T)r  T)r  T)r  F)ohlcF)nuniqueFc                 T   t        ddd      }t        g d|      }|j                  d      }d}t        ||       }d	}d
}d|  }	|rYt	        j
                  t        |	      5  t        j                  t        |      5   |g |dddd  d d d        d d d        y t	        j
                  t        |	      5  t        j                  t        |      5   |g |dddd  d d d        d d d        y # 1 sw Y   kxY w# 1 sw Y   y xY w# 1 sw Y   *xY w# 1 sw Y   y xY w)N20180101r   r%   r   )r   r5   r9   rB   ru  r   z-numpy operations are not valid with resample.ztoo many arguments passed inz2Passing additional args to DatetimeIndexResampler.rD   r   r   r5   )r	   r   r(   r   rQ   rR   r   r   r   r   r   )
r   r   rC   rW   r  argsr   	error_msgerror_msg_typewarn_msgs
             r   test_args_kwargs_deprr    s   & z137E			'BG$ID9f%D?I3NCF8LH''XF6iH'd'A'q'!'Q' I GF ''XFy?'d'A'q'!'Q' @ GF IH GF
 @? GFsH   #D?C:D<DD)D:D	?DDD	DD'c                      t        t        ddd      t        ddd      d      } d| _        t        t        j
                  j                  d      j                  d      t        d	      | 
      j                  }d}t        j                  t        |      5  |j                  dd       d d d        |j                  }d}t        j                  t        |      5  |j                  dd       d d d        y # 1 sw Y   OxY w# 1 sw Y   y xY w)Nr   r   r   r`   r   r<   r   r   r   r   rg  rD   rh  r   z_The 'axis' keyword in DataFrame.resample is deprecated and will be removed in a future version.r   )r	   r   r   r   r   r   r   r   ri  rQ   rR   r   r(   )rC   rW   rk  s      r   test_df_axis_param_deprr    s    xa+XdAr-BMEEJ	
		a ''0$t*E
a 
 BK		#	#M	E
Dq! 
F 
B	/  
	#	#M	E
Dq! 
F	E 
F	E 
F	Es   C8D8DDc                     d}t        j                  t        |      5  | j                  dd       d d d        y # 1 sw Y   y xY w)Nz\The 'axis' keyword in Series.resample is deprecated and will be removed in a future version.rD   r%   r   r   )rQ   rR   r   r(   )r   rk  s     r   test_series_axis_param_deprr  0  s>    	>  
	#	#M	Ec* 
F	E	Es	   ;Ac                      t        t        j                  g d            } t        t        j                  g d            }| j                  d      j	                         }t        j                  ||       y )N)2018-01-01 00:00:00z2018-01-01 12:00:002018-01-02 00:00:00rB   )r  z2018-01-01 08:00:00z2018-01-01 16:00:00r  8h)r   rN   rs   r(   r.   rQ   rV   rd   s      r   test_resample_emptyr  9  sa    	nnQ

B
 nn
	H [[##%F&(+r   )Yr   r   numpyr   r   pandas._libsr   pandas.errorsr   pandasrN   r   r   r   pandas._testing_testingrQ   pandas.core.indexes.datetimesr	   fixturer   r   r#   r+   r2   r[   re   rw   r   r   markparametrizer   r   r   r   r   r   r   r   r   r   r   r   r   rC   rW   r  r  r	  r  r  r  r  r  r  r  r!  r#  r)  r3  r.   r  r7  r=  r?  rG  rK  r   rU  rZ  r^  r`  rb  rm  rq  rx  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   <module>r     s	    	    1  
  4 Y Y B B W W	,2,",4, O #c
 34 54
 !AB C, 	-4-n- f~., /,$4 
7G 
Y  11?+ '&         ) ) ( ( ( ( ) ) ( ( ( (   , , 0 0 - - X22," 		rwwRVV,-BGGnC=1sBGG$8C+@A==, 	Vfe_%u'EF,, 		ve,- /!51	
		= 		rvv$?@ABFFm3(C"DEsBFF#(38S*TU== 		RVV89"&&!BGG(<=y"&&)BGG0LM%% 	eU^65/:;  %.7	
	==  	S5%.!%vuo#NOF 
eWvuoU|65QR"PDQ,22'j I,,,-0 R "!,	
 C"H*!	
 "!,	
 "!,!	
K14j*k4j*0 )"	urdm$"	~rd;<" 
t DE" 
u~&	"
 	3" 
!:;" 
uqcl#" 
y!56" 
	1# >?" 
urdm$" 
y"67" 
	2$ ?@" 
$%" 
%'A378" 
#..7)QC"@A"  
t}%!"" 
	2$78#"$ 
'B4!@A%"& 
v''"( 	-)"* 
!45+", 
4%$)-". 	L/"0 
3>>#ST1"2 
u12343"4 	<5"6 
 CD7"8 
uug&'9": 	<;"< 
 CD="> 
usen%?"@ 	<A"B 
 CDC"&N0O&N08 )	~&	/	$	y!		*	y!		*	%'#	#..7),		"	'+%.1/.10 $(%$(,",+,r   