a
    Pfw                     @   s  d dl Zd dlZd dlZd dlmZ d dlmZ ej	
dddgdd Zej	
dd	d
gdd Zdd Zdd Zdd Zej	
dd	d
gdd Zdd Zdd Zej	
dejejgej	
ddd	ide igdd Zd d! Zd"d# Zd$d% Zd&d' Zd(d) Zd*d+ ZdS ),    N)Serieszoperation, expected)mina)maxbc                 C   s,   t ddgdd}t||  }||ks(J d S )Nr   r   stringdtype)r   getattr)Z	operationexpectedserZres_operation_serie r   \/var/www/ai-form-bot/venv/lib/python3.9/site-packages/pandas/tests/series/test_reductions.pytest_reductions_series_strings	   s    r   	as_periodTFc                 C   s^   t dd tddD }| r*|jd}n|jd}| }|j|jksNJ t|| d S )Nc                 S   s   g | ]}t d d|qS )i     )pd	Timestamp).0nr   r   r   
<listcomp>       z-test_mode_extension_dtype.<locals>.<listcomp>      Dz
US/Central)	r   rangedtZ	to_periodZtz_localizemoder	   tmassert_series_equal)r   r   resr   r   r   test_mode_extension_dtype   s    r!   c                 C   s   t dddtjddtjg| d}|jdd}t ddtjg| d}t|| |jdd}t ddg| d}t|| tj|d< |jdd}t ddg| d}t|| |jdd}t tjg| d}t|| d S )	Nr         r   F)ZdropnaT)r   r   ZNAr   r   r   )Zany_numeric_ea_dtyper   resultr   r   r   r   test_mode_nullable_dtype    s    
r&   c                  C   sn   t d tddgtd} tdd |  }W d    n1 sD0    Y  tddgtd}t|| d S )NZpyarrowr   r   r   zfuture.infer_stringT)	pytestZimportorskipr   objectr   Zoption_contextr   r   r   )r   r%   r   r   r   r   test_mode_infer_string6   s    
&r)   c                  C   sN   t dtjgdd} | d }|  |ks*J |  |ks:J |  |ksJJ d S )Nr   zm8[ns]r   )r   r   ZNaTmedianr   r   )r   expr   r   r   test_reductions_td64_with_nat@   s
    r,   skipnac                 C   s>   t g dd}|j| d}t|tjs(J |tdks:J d S )Nztimedelta64[ns]r   )r-   r   )r   sum
isinstancer   	Timedelta)r-   r   r%   r   r   r   test_td64_sum_emptyI   s    r1   c                  C   s(  t tjdddd} | d  td7  < | |    }tt| |   jt|  	 }t
|jd |jd s|J d}tjt|d	  | |   	  W d    n1 s0    Y  | dd
 }tjt|d	  ||  	  W d    n1 s0    Y  | dd }||  	  d S )NZ20130101i h)Zperiodsfreqr   z1s 1msi  zoverflow in timedelta operationmatchi'  )r   r   Z
date_ranger0   r   meanZTimedeltaIndexZasi8lenr.   npZallclose_valuer'   raises
ValueError)r   r%   r   msgs1s2r   r   r   test_td64_summation_overflowS   s    &..r?   c                  C   s.   t g dtdd} |  }t|t r*J d S )N)      ?r@   r@   r"   )index)r   r   prodr/   )r   r%   r   r   r   test_prod_numpy16_bugl   s    rC   funckwargskeepdimsoutc                 C   sr   t ddg}tt| }|j}d| d| d}tjt|d  ||fi |  W d    n1 sd0    Y  d S )Nr   r#   zthe 'z=' parameter is not supported in the pandas implementation of z\(\)r4   )r   nextiter__name__r'   r:   r;   )rE   rD   r   paramnamer<   r   r   r   )test_validate_any_all_out_keepdims_raisess   s    rM   c                  C   sP   t ddg} d}tjt|d tj| dd W d    n1 sB0    Y  d S )Nr   r#   zPthe 'initial' parameter is not supported in the pandas implementation of sum\(\)r4   
   )initialr   r'   r:   r;   r8   r.   r   r<   r   r   r   test_validate_sum_initial   s
    rR   c                  C   sN   t ddg} d}tjt|d | jdd W d    n1 s@0    Y  d S )Nr   r#   z[the 'overwrite_input' parameter is not supported in the pandas implementation of median\(\)r4   T)Zoverwrite_input)r   r'   r:   r;   r*   rQ   r   r   r   test_validate_median_initial   s
    rS   c                  C   sP   t ddg} d}tjt|d tj| dd W d    n1 sB0    Y  d S )Nr   r#   zQthe 'keepdims' parameter is not supported in the pandas implementation of sum\(\)r4   T)rF   rP   rQ   r   r   r   test_validate_stat_keepdims   s
    rT   c                 C   s   t ddg}|rLd}tjt|d |  W d    q\1 s@0    Y  n| dks\J d}tjt|d |  W d    n1 s0    Y  | }| sd}tjt|d |  W d    n1 s0    Y  d S )N12zdoes not supportr4   Z12z9Could not convert string '12' to numeric|does not supportz6Could not convert \['12'\] to numeric|does not support)r   r'   r:   	TypeErrorr.   r6   to_frame)using_array_managerZusing_infer_stringr   r<   dfr   r   r   (test_mean_with_convertible_string_raises   s    (&r[   c                 C   s  t dddg}| rd}nd}tjt|d |  W d    n1 sL0    Y  tjt|d |d W d    n1 s0    Y  d}tjt|d |d	   W d    n1 s0    Y  d
}tjt|d& t|d	 dj	 W d    n1 s0    Y  d S )NJ{   )dbnumericz'Could not convert string 'J' to numericz5Could not convert \['J'\] to numeric|does not supportr4   r6   z8Could not convert string 'J' to numeric|does not supportr^   z6Could not convert string 'J' to numeric|ufunc 'divide'r   )
r   Z	DataFramer'   r:   rW   r6   Zaggr8   Zastypearray)rY   rZ   r<   r   r   r   #test_mean_dont_convert_j_to_complex   s    &(*ra   c                 C   s   d}t g d}tjt|d |  W d    n1 s<0    Y  | sNd}| }tjt|d |  W d    n1 s0    Y  d S )Nz:Cannot convert \['1' '2' '3'\] to numeric|does not support)rU   rV   3r4   z>Cannot convert \[\['1' '2' '3'\]\] to numeric|does not support)r   r'   r:   rW   r*   rX   )rY   r<   r   rZ   r   r   r   *test_median_with_convertible_string_raises   s    &rc   )numpyr8   r'   Zpandasr   r   Zpandas._testingZ_testingr   markZparametrizer   r!   r&   r)   r,   r1   r?   rC   anyallr(   rM   rR   rS   rT   r[   ra   rc   r   r   r   r   <module>   s0   


	
	