
    bMhs<              
       6   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mZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ ed e ddd           e ddd          fZed e ddd           e ddd          fZ edddfZ!ej"        #                    dee e!g          Z$ej%        d             Z&ej"        #                    dddg          ej"        #                    dee!g          d                         Z'ej"        #                    dee!g          d             Z(e$d             Z)d Z*e$ej"        #                    dg d          d                         Z+e$ej"        #                    d ej,        dej"        -                    d           !          d"d#g          d$                         Z.e$ej"        #                    dg d          ej"        #                    d%d&d'g          d(                                     Z/e$ej"        #                    dg d          d)                         Z0e$ej"        #                    dg d          d*                         Z1e$ej"        #                    dg d          d+                         Z2ej"        #                    d, eg d-d./           e	g d.0           eg d.0          g          ej"        #                    d1e3e4e5d2g          ej"        6                    d3          d4                                     Z7e$ej"        #                    dg d          d5                         Z8e$d6             Z9e$d7             Z:ej"        #                    d8d9d:g          d;             Z;dS )<    )datetimeN)is_extension_array_dtype)	DataFrameDatetimeIndexIndex
MultiIndexNaTPeriodIndexSeriesTimedeltaIndex)	DataError)Grouper)
date_range)period_range)timedelta_range)_asfreq_compatdtii     
   pitdiz1 dayz10 dayz3_index_factory,_series_name,_index_start,_index_endc                       fd}|S )Nc                       | i |S )z8return the _index_factory created using the args, kwargs )argskwargs_index_factorys     _/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/resample/test_base.py_create_indexz#create_index.<locals>._create_index-   s    ~t.v...    r   )r   r   s   ` r   create_indexr!   +   s$    / / / / / r    freq2D1hc                     | }|                     |                                          } ||j        d         |j        d         |          }|                    |          }t	          j        ||           d S )Nr   r"   )resampleasfreqindexreindextmassert_almost_equal)series_and_framer"   r!   objresult	new_indexexpecteds          r   test_asfreqr3   4   sr    
 C\\$&&((FSYq\39R=tDDDI{{9%%H68,,,,,r    c                 J   | }|                     d                                          } ||j        d         |j        d         d          }|                    |          }t	          j        ||           |                    d                              d          }d |j        d<   |                     d                              d	          } ||j        d         |j        d         d          }|                    |d	          }t	          j	        ||           d S )
Nr$   r   r&   r'   floatvaluer         @)
fill_value)
r(   r)   r*   r+   r,   assert_series_equalastypeto_frameilocassert_frame_equal)seriesr!   serr0   r1   r2   frames          r   test_asfreq_fill_valuerA   A   s
    C\\$&&((FSYq\39R=tDDDI{{9%%H68,,, JJw((11EEJqM^^D!!((C(88FU[^U[_4HHHI}}Y3}77H&(+++++r    c                    | }d }t          |j        t                    rt          }d}t	          j        ||          5  |                    d                                                                          }|                    d                                          }d d d            n# 1 swxY w Y   t	          j	        ||           d S )N+Resampling with a PeriodIndex is deprecatedmatch1min)

isinstancer*   r
   FutureWarningr,   assert_produces_warningr(   r)   interpolater=   )r@   dfwarnmsgr0   r2   s         r   test_resample_interpolaterN   W   s     
BD"(K(( 
7C		#D	4	4	4 5 5V$$++--99;;;;v&&22445 5 5 5 5 5 5 5 5 5 5 5 5 5 5 &(+++++s   A!B++B/2B/c                      t                      } d}t          j        t          |          5  |                     d           d d d            d S # 1 swxY w Y   d S )NzaOnly valid with DatetimeIndex, TimedeltaIndex or PeriodIndex, but got an instance of 'RangeIndex'rD   YE)r   pytestraises	TypeErrorr(   )xprM   s     r   %test_raises_on_non_datetimelike_indexrU   e   s    	B	.  
y	,	,	,  
D                 s   AAA)MEDhc                    |}| dk    rft          |j        t                    rLd}t          j        t
          |          5  |                    |            d d d            n# 1 swxY w Y   d S | dk    rt          |j        t                    rd} d }t          |j        t                    rt          }d}t          j
        ||          5  |                    |           }d d d            n# 1 swxY w Y    t          ||                      }|dk    ret          g |j        d d                                         g d	          }t          |j        |           |_        t          j        ||d
           nE|                                }t          |j        |           |_        t          j        ||d
           t          j        |j        |j                   |j        j        |j        j        k    sJ d S )NrV   aResampling on a TimedeltaIndex requires fixed-duration `freq`, e.g. '24h' or '3D', not <MonthEnd>rD   MrC   ohlcr   openhighlowcloser*   columnsFcheck_dtype)rG   r*   r   rQ   rR   
ValueErrorr(   r
   rH   r,   rI   getattrr   copyr   r=   r9   assert_index_equalr"   )	r"   empty_series_dtiresample_methodr?   rM   rL   rsr0   r2   s	            r   test_resample_empty_seriesrm   p   sf   
 Ct||
39n==|1 	 ]:S111 	 	LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 		*SY<<D#)[)) 
7C		#D	4	4	4    \\$                             )WR))++F&  cim((**4T4T4T
 
 
 (	488
fhEBBBBB88::'	488
vxUCCCC&,777< 3333333$    A""A&)A&C..C25C2rV   zDon't know why this fails)reason)marksrW   rX   c                    |                                 }t          t          gt          |          z  |           |_        d}t          j        t          |          5  |                    |           }d d d            n# 1 swxY w Y    t          ||                      }|dk    rKt          g |j        d d                                          g d          }t          j        ||d	           n3|d d                                          }t          j        ||d	           t          j        |j        |j                   |j        j        |j        j        k    sJ d S )
Nr'   rC   rD   r\   r   r]   rb   Frd   )rh   r
   r	   lenr*   r,   rI   rH   r(   rg   r   r=   r9   ri   r"   )r"   r>   rk   r?   rM   rl   r0   r2   s           r   test_resample_nat_index_seriesrs      s    ++--CSECHH,4888CI
7C		#M	=	=	=    \\$                             )WR))++F&  cim((**4T4T4T
 
 
 	fhEBBBBBrr7<<>>
vxUCCCC&,777< 3333333s   B  BBrk   countsizec                    |}| dk    rft          |j        t                    rLd}t          j        t
          |          5  |                    |            d d d            n# 1 swxY w Y   d S | dk    rt          |j        t                    rd} d }t          |j        t                    rt          }d}t          j
        ||          5  |                    |           }d d d            n# 1 swxY w Y    t          ||                      }t          |j        |           }t          g d||j                  }	t          j        ||	           d S )NrV   rZ   rD   r[   rC   int64)dtyper*   name)rG   r*   r   rQ   rR   rf   r(   r
   rH   r,   rI   rg   r   r   ry   r9   )
r"   rj   rk   r?   rM   rL   rl   r0   r*   r2   s
             r    test_resample_count_empty_seriesrz      s   
 Ct||
39n==|1 	 ]:S111 	 	LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 		*SY<<D#)[)) 
7C		#D	4	4	4    \\$                              *WR))++F39d++Ebu38DDDH68,,,,,rn   c                 b   | }|dk    rht          |j        t                    rNd}t          j        t
          |          5  |                    |d           d d d            n# 1 swxY w Y   d S |dk    rt          |j        t                    rd}d }t          |j        t                    rt          }d}t          j
        ||          5  |                    |d          }d d d            n# 1 swxY w Y    t          ||                      }|dk    rtt          j        |j        g d	g          }t          g |j        d d
                                         |t"          j                  }	t'          |j        |          |	_        n6|dk    r|                                }	nt)          g t"          j                  }	t'          |j        |          |	_        t          j        |j        |	j                   |j        j        |	j        j        k    sJ t          j        ||	           d S )NrV   rZ   rD   F
group_keysr[   rC   r\   r]   r   )r*   rc   rx   ru   rx   )rG   r*   r   rQ   rR   rf   r(   r
   rH   r,   rI   rg   r   from_productrc   r   rh   npfloat64r   r   rw   ri   r"   r-   )
empty_frame_dtir"   rk   rK   rM   rL   rl   r0   mir2   s
             r   test_resample_empty_dataframer      s    
Bt||
28^<<|1 	 ]:S111 	0 	0KKK///	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0	*RX{;;D"(K(( 
7C		#D	4	4	4 1 1[[%[001 1 1 1 1 1 1 1 1 1 1 1 1 1 1)WR))++F&  $bj2R2R2R%STTbhrrl''))2RZ
 
 
 ($77	F	"	"7799 "BH---#BHd33HN&,777< 3333368,,,,,s$    A$$A(+A(C22C69C6c                    g |d<   | dk    rft          |j        t                    rLd}t          j        t
          |          5  |                    |            d d d            n# 1 swxY w Y   d S | dk    rt          |j        t                    rd} d }t          |j        t                    rt          }d}t          j
        ||          5  |                    |           }d d d            n# 1 swxY w Y   |                                }t          |j        |           }t          d|t          dgt                    	          }t          j        ||           d S )
NarV   rZ   rD   r[   rC   rw   r~   )rx   r*   rc   )rG   r*   r   rQ   rR   rf   r(   r
   rH   r,   rI   rt   r   r   r   objectr=   r"   r   rM   rL   rl   r0   r*   r2   s           r   #test_resample_count_empty_dataframer     s   
 OCt||
?#8.II|1 	 ]:S111 	+ 	+$$T***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+	*_%:KHHD/'55 
7C		#D	4	4	4 , ,%%d++, , , , , , , , , , , , , , ,XXZZF?0$77EweUC5PV=W=W=WXXXH&(+++++$   A%%A),A)C11C58C5c                    g |d<   | dk    rft          |j        t                    rLd}t          j        t
          |          5  |                    |            d d d            n# 1 swxY w Y   d S | dk    rt          |j        t                    rd} d}d }t          |j        t                    rt          }t          j
        ||          5  |                    |           }d d d            n# 1 swxY w Y   |                                }t          |j        |           }t          g d|          }t          j        ||           d S )	Nr   rV   rZ   rD   r[   Resampling with a PeriodIndexrw   )rx   r*   )rG   r*   r   rQ   rR   rf   r(   r
   rH   r,   rI   ru   r   r   r9   r   s           r   "test_resample_size_empty_dataframer   -  s   
 OCt||
?#8.II|1 	 ]:S111 	+ 	+$$T***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+	*_%:KHH
)CD/'55 		#D	4	4	4 , ,%%d++, , , , , , , , , , , , , , ,WWYYF?0$77Ebu555H68,,,,,r   r*   r[   r   r"   ry   )ry   rx   zdatetime64[ns]z3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                 t   d }t          | t                    rt          g d| j                  } t          }d}t	          g | |          }t          j        ||          5  |                    dd          }d d d            n# 1 swxY w Y   	  t          ||                       d S # t          $ r Y d S w xY w)NBr   rC   rD   dFr|   )
rG   r
   ry   rH   r   r,   rI   r(   rg   r   )r*   rx   rk   rL   rM   rj   rl   s          r   test_resample_empty_dtypesr   O  s    D%%% BSuz:::
7Cb%//		#D	4	4	4 > >&&su&==> > > > > > > > > > > > > > >$O$$&&&&&    	s$   BB
BB) )
B76B7c                     | }|dk    rft          | j        t                    rLd}t          j        t
          |          5  |                     |           d d d            n# 1 swxY w Y   d S |dk    rt          | j        t                    rd}d}d }t          | j        t                    rt          }t          j
        ||          5  |                    |d          }d d d            n# 1 swxY w Y   |                    d           }t          j
        ||          5  |                    |                              d	          }d d d            n# 1 swxY w Y   t          j        ||d
           d S )NrV   rZ   rD   r[   r   Fr|   c                     dS )Nr   r   )xs    r   <lambda>z,test_apply_to_empty_series.<locals>.<lambda>  s     r    sumrd   )rG   r*   r   rQ   rR   rf   r(   r
   rH   r,   rI   applyr9   )rj   r"   r?   rM   rL   rl   r0   r2   s           r   test_apply_to_empty_seriesr   o  s7    Ct||
#3#9>JJ|1 	 ]:S111 	, 	,%%d+++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,	*%5%;[II
)CD"(+66 		#D	4	4	4 2 2\\$5\112 2 2 2 2 2 2 2 2 2 2 2 2 2 2 XXkk""F		#D	4	4	4 3 3<<%%++E223 3 3 3 3 3 3 3 3 3 3 3 3 3 3 68??????s6    A""A&)A&C00C47C4')EE #E c                    d}t          |d          }d}d }t          | j        t                    rt          }t          j        ||          5  |                     |          }d d d            n# 1 swxY w Y   t          j        ||          5  |                     |          }d d d            n# 1 swxY w Y   t          ||          D ](\  \  }}\  }	}
||	k    sJ t          j
        ||
           )d S )NrX   start)r"   
conventionr   rD   )r   rG   r*   r
   rH   r,   rI   groupbyr(   zipr9   )r>   r"   tgrM   rL   grouped	resampledrkrvgkgvs              r   test_resampler_is_iterabler     s    D	dw	/	/	/B
)CD&,,, 		#D	4	4	4 % %..$$% % % % % % % % % % % % % % % 
	#D	4	4	4 * *OOD))	* * * * * * * * * * * * * * *!)W55 ' 'R(2rRxxxx
r2&&&&' 's$   A11A58A5B44B8;B8c                    | }dd}d}d }t          | j        t                    rt          }t	          j        ||          5  |                    |                                        }|                    |                              fd          	                    |j
                  }d d d            n# 1 swxY w Y   t	          j        ||           d S )Ng      ?rX   r   rD   c                 .    |                                S )N)quantile)r   qs    r   r   z(test_resample_quantile.<locals>.<lambda>  s    AJJqMM r    )rG   r*   r
   rH   r,   rI   r(   r   aggrenamery   r9   )r>   r?   r"   rM   rL   r0   r2   r   s          @r   test_resample_quantiler     s&    CAD
)CD&,,, 		#D	4	4	4 T Td##,,Q//<<%%))*A*A*A*ABBII#(SST T T T T T T T T T T T T T T 68,,,,,s   A,B;;B?B?howfirstlastc                    t          |           rt          |           j        j        }nt          j        }t          g d|d|dg|d|dgdt          ddd	          | 
          }|                    d          }t          ||          } ||          }|
                    |j        d         t          j        d          gz            } t          ||          |          }	d|	j        _        t!          j        ||	           d S )Nr~   )   r   r   r   g      @r7   )r   bcz
2020-01-01   rW   )periodsr"   )r*   rx   rV   )skipnar   z
2020-01-31)r   r   rx   na_valuer   nanr   r   r(   rg   r   shapepdto_datetimer*   r"   r,   r=   )
any_real_nullable_dtyper   r   r   rK   rl   methodr0   gbr2   s
             r   test_first_last_skipnar     s%      788  7888>G6	C3/C3/	
 	

 qs;;;%
 
 
B 
T		BRFV6"""F	BHQK2>,#?#?"@@	A	ABwr3v...HHN&(+++++r    )<r   numpyr   rQ   pandas.core.dtypes.commonr   pandasr   r   r   r   r   r	   r
   r   r   pandas._testing_testingr,   pandas.core.groupby.groupbyr   pandas.core.groupby.grouperr   pandas.core.indexes.datetimesr   pandas.core.indexes.periodr   pandas.core.indexes.timedeltasr   pandas.core.resampler   
DATE_RANGEPERIOD_RANGETIMEDELTA_RANGEmarkparametrizeall_tsfixturer!   r3   rA   rN   rU   rm   paramxfailrs   rz   r   r   r   r5   intr   filterwarningsr   r   r   r   r   r   r    r   <module>r      s              > > > > > >    	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	       1 1 1 1 1 1 / / / / / / 4 4 4 4 4 4 3 3 3 3 3 3 : : : : : : / / / / / / %$1!5!5xxa7L7LM
dHHT1a$8$8((4B:O:OP"E7H=		 	 9/
 
    $..9J;X - -  /.- 9J;X , , ,& 
, 
, 
,   !1!1!122$4 $4 32 $4N 
T!2!2:U!2!V!VWWW 4 4  4. !1!1!122*Wf,=>>- - ?> 32 -> !1!1!122)- )- 32 )-\ !1!1!122, , 32 ,@ !1!1!122- - 32 -@ BSs+++bs###r$$$  5#v7G"HIIRSS  TS JI , !1!1!122@ @ 32 @> ' ' '& - - -  & 122, , 32, , ,r    