
    d4!                        d dl m Z  d dlZd dlZd dl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g d          d                         Z%eej                            dg d          ej                            ddd g          d!                                     Z&eej                            dg d          d"                         Z'eej                            dg d          d#                         Z(eej                            dg d          d$                         Z)ej                            d% ej*        d                     ej                            d&e+e,e-d'g          d(                         Z.eej                            dg d          d)                         Z/ed*             Z0ed+             Z1dS ),    )datetimeN)	DataFrameNaTPeriodIndexSeries)	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/t/fyr/venv311/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_asfreqr.   -   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   g      @)
fill_value)
r#   r$   r%   r&   r'   assert_series_equalastypeto_frameilocassert_frame_equal)seriesr   serr+   r,   r-   frames          r   test_asfreq_fill_valuer;   :   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                     | }t          j        |                    d                                                                          |                    d                                                     d S )N1T)r'   r7   r#   r$   interpolate)r:   dfs     r   test_resample_interpolater@   P   si     
B
D  ""..00"++d2C2C2O2O2Q2Q    r   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')matchA)r   pytestraises	TypeErrorr#   mean)xpmsgs     r   %test_raises_on_non_datetimelike_indexrJ   Y   s    	B	.  
y	,	,	,    
C                                   s   (A!!A%(A%)MDHc                    |dk    rVt          |j        t                    r<|j                            t
          j                            d| d                     |} t          |	                    |           |                      }|
                                }t          |j        |           |_        t          j        |j        |j                   |j        j        |j        j        k    sJ t          j        ||d           d S )Nohlcz	GH13083: z fails for PeriodIndexreasonFcheck_dtype)
isinstancer%   r   node
add_markerrD   markxfailgetattrr#   copyr   r'   assert_index_equalr   r3   )r   empty_series_dtiresample_methodrequestr9   r+   r-   s          r   test_resample_empty_seriesr_   d   s    
 &  Z0@0F%T%T KJ?JJJ   	
 	
 	
 C9WS\\$''99;;FxxzzH#CIt44HN&,777< 3333368??????r   c                    |dk    r8| j                             t          j                            d                     |                                }t          t          gt          |          z  |          |_	        |
                    |          } 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 )NrK   zDon't know why this failsrP   r"   rO   r   )openhighlowclose)r%   columnsFrR   )rU   rV   rD   rW   rX   rZ   r   r   lenr%   r#   rY   r   r'   r7   r3   r[   r   )r^   r   r8   r]   r9   rsr+   r-   s           r   test_resample_nat_index_seriesrh   {   sR   
 s{{ 1 19T 1 U UVVV
++--CSECHH,4888CI	d		B)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3r   r]   countsizec                      t          |                    |           |                      }t          |j        |           }t	          g d||j                  }t          j        ||           d S )Nint64)dtyper%   name)rY   r#   r   r%   r   rn   r'   r3   )r   r\   r]   r+   r%   r-   s         r    test_resample_count_empty_seriesro      sq    
 GW%..t44oFFHHF+1488Ebu;K;PQQQH68,,,,,r   c                    | } t          |                    |d          |                      }|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 )NF
group_keysrj   )rm   )rY   r#   rZ   r   nprl   r   r%   r'   r[   r   r(   )empty_frame_dtir   r]   r?   r+   r-   s         r   test_resample_empty_dataframeru      s     
BJWR[[%[88/JJLLF&  7799 "BH---#BHd33HN&,777< 3333368,,,,,r   c                     g |d<   |                     |                                           }t          |j        |           }t	          dg id|          }t          j        ||           d S Narl   )rm   r%   )r#   ri   r   r%   r   r'   r7   r   rt   r+   r%   r-   s        r   #test_resample_count_empty_dataframerz      sp    
 OC%%d++1133F?0$77E#r'???H&(+++++r   c                     g |d<   |                     |                                           }t          |j        |           }t	          g d|          }t          j        ||           d S rw   )r#   rj   r   r%   r   r'   r3   ry   s        r   "test_resample_size_empty_dataframer|      sl    
 OC%%d++0022F?0$77Ebu555H68,,,,,r   r%   rm   zdatetime64[ns]c                     t          g | |          }	  t          |                    dd          |                       d S # t          $ r Y d S w xY w)NdFrq   )r   rY   r#   r   )r%   rm   r]   r\   s       r   test_resample_empty_dtypesr      sq     b%//R ))#%)@@/RRTTTTT    	s   -A 
AAc                     | }|                     |d                              d           }|                     |                              t          j                  }t	          j        ||d           d S )NFrq   c                     dS )Nr   r   )xs    r   <lambda>z,test_apply_to_empty_series.<locals>.<lambda>   s    ! r   rR   )r#   applyrs   sumr'   r3   )r\   r   r9   r+   r-   s        r   test_apply_to_empty_seriesr      sm     C\\$5\1177DDF||D!!''//H68??????r   c                     d}t          |d          }|                     |          }|                     |          }t          ||          D ](\  \  }}\  }}||k    sJ t	          j        ||           )d S )NrM   start)r   
convention)r	   groupbyr#   zipr'   r3   )	r8   r   tggrouped	resampledrkrvgkgvs	            r   test_resampler_is_iterabler      s     D	dw	/	/	/BnnR  G%%I!)W55 ' 'R(2rRxxxx
r2&&&&' 'r   c                    | }dd}|                     |                                        }|                     |                              fd                              |j                  }t          j        ||           d S )Ng      ?rM   c                 .    |                                S )N)quantile)r   qs    r   r   z(test_resample_quantile.<locals>.<lambda>  s    

1 r   )r#   r   aggrenamern   r'   r3   )r8   r9   r   r+   r-   r   s        @r   test_resample_quantiler      s     CAD\\$((++F||D!!%%&=&=&=&=>>EEchOOH68,,,,,r   )2r   numpyrs   rD   pandasr   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_RANGErW   parametrizeall_tsfixturer   r.   r;   r@   rJ   r_   rh   ro   ru   rz   r|   all_timeseries_index_generatorr0   intobjectr   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@ @ 21 @* 114 4 21 4. 11*Wf,=>>- - ?> 21 - 11- - 21 -( 11, , 21 , 11- - 21 - "C""CA"F"FGG5#v7G"HII
 
 JI HG
 11@ @ 21 @ ' ' ' - - - - -r   