o
    թZh                     @   sj   d dl Zd dlZd dlmZ d dlmZmZ d dlm	Z	m
Z
mZmZmZmZ d dlmZ G dd dZdS )    N)np_version_gte1p25)is_complex_dtypeis_extension_array_dtype)NAPeriodSeries	Timedelta	Timestamp
date_rangec                   @   sp   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd Zejddd Zdd ZdS )TestSeriesDescribec              	   C   sN   t g ddd}| }t dd| ddddd	gdg d
d}t|| d S )N)r               Zint_dataname   r   r   r   r   r   countmeanstdmin25%50%75%maxr   index)r   describer   tmassert_series_equalselfserresultexpected r&   `/var/www/html/lang_env/lib/python3.10/site-packages/pandas/tests/series/methods/test_describe.pytest_describe_ints   s   z%TestSeriesDescribe.test_describe_intsc                 C   >   t g ddd}| }t g ddg dd}t|| d S )N)TTFFFZ	bool_datar   )r   r   Fr   r   uniquetopfreqr   r   r   r   r    r!   r&   r&   r'   test_describe_bools!      z&TestSeriesDescribe.test_describe_boolsc                 C   r)   )N)ar1   bcdZstr_datar   )r   r   r1   r   r*   r   r.   r!   r&   r&   r'   test_describe_strs)   r0   z%TestSeriesDescribe.test_describe_strsc              
   C   s   t tdtdtdtdtdgdd}| }t d|d	 | |d
 |d |d	 |d |d gdg dd}t|| d S )Nz1 daysz2 daysz3 daysz4 daysz5 daysZtimedelta_datar   r   r   r   r   r   r   r   r   )r   r   r   r   r   r    r!   r&   r&   r'   test_describe_timedelta641   s    
.z,TestSeriesDescribe.test_describe_timedelta64c                 C   sZ   t tddtddtddgdd}| }t dd|d dgdg d	d
}t|| d S )Nz2020-01Mz2019-12Zperiod_datar   r   r   r   r*   r   )r   r   r   r   r    r!   r&   r&   r'   test_describe_periodD   s   z'TestSeriesDescribe.test_describe_periodc                 C   s   t d d gtd}| }t ddtjtjgtg dd}t|| |d d  }t|| t|jd s9J t|jd sCJ d S )Ndtyper   r*   r:   r   r   r   )	r   objectr   npnanr   r    isnanZilocr"   sr$   r%   r&   r&   r'   test_describe_empty_objectQ   s   z-TestSeriesDescribe.test_describe_empty_objectc           	   
   C   s   |}t |}tddd}tddd}tt|||d|d}| }tdtddd||||d |d |d ||g|g dd	}t|| d S )
N  r   r   tzr   r   r   r   r   r   r   r   r   r   r   )strr	   r   r
   r   Ztz_localizer   r    )	r"   Ztz_naive_fixturerE   r   startendrA   r$   r%   r&   r&   r'   test_describe_with_tzb   s&   	z(TestSeriesDescribe.test_describe_with_tzc                 C   s   d }}t ddd}t ddd}tt|||d|d}| }tdt d|dt d|dt d	|dt d|dt d
|dt d|dg|g dd}t|| d S )NZCETrC   r   r   rD   r   z2018-01-03 00:00:00z2018-01-01 00:00:00z2018-01-02 00:00:00z2018-01-04 00:00:00z2018-01-05 00:00:00rF   r   )r	   r   r
   r   r   r    )r"   r   rE   rH   rI   rA   r$   r%   r&   r&   r'   test_describe_with_tz_numericy   s$   





	z0TestSeriesDescribe.test_describe_with_tz_numericc              	   C   s^   t tddd}| }t dtdtdtdtdtdtdgg d	d
}t|| d S )NZ2012r   )Zperiodsz
2012-01-02z
2012-01-01z2012-01-01T12:00:00z2012-01-02T12:00:00z
2012-01-03rF   )r   )r   r
   r   r	   r   r    r@   r&   r&   r'   *test_datetime_is_numeric_includes_datetime   s   	z=TestSeriesDescribe.test_datetime_is_numeric_includes_datetimez.ignore:Casting complex values to real discardsc              	   C   s   t |rd}nt|rdnd }tddg|d}|dkr;tr;tjtdd |  W d    d S 1 s4w   Y  d S | }tdd	| dd
d	ddgg d|d}t	
|| d S )NFloat64Z
complex128r   r   r9   z$^a must be an array of real numbers$)matchg       @g      ?g      ?g      ?g      ?r   )r   r:   )r   r   r   r   pytestZraises	TypeErrorr   r   r   r    )r"   Zany_numeric_dtyper:   r#   r$   r%   r&   r&   r'   test_numeric_result_dtype   s8   


z,TestSeriesDescribe.test_numeric_result_dtypec              	   C   sr   t dgdd}td  | }W d    n1 sw   Y  t ddtdddddgdg dd}t|| d S )Ng        rM   r9   r   r   r   r;   )r   r   Zassert_produces_warningr   r   r    r!   r&   r&   r'   test_describe_one_element_ea   s   
z/TestSeriesDescribe.test_describe_one_element_eaN)__name__
__module____qualname__r(   r/   r5   r6   r8   rB   rJ   rK   rL   rO   markfilterwarningsrQ   rR   r&   r&   r&   r'   r      s    


r   )numpyr=   rO   Zpandas.compat.numpyr   Zpandas.core.dtypes.commonr   r   Zpandasr   r   r   r   r	   r
   Zpandas._testingZ_testingr   r   r&   r&   r&   r'   <module>   s     