o
    Û­j=(  ã                   @   s‚   d dl Z d dlZd dlZd dlZd dl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ej deeeg¡dd„ ƒZdS )é    N)Ú	DataFrameÚIndexÚSeriesÚ
date_rangeÚperiod_rangeÚtimedelta_rangec                   @   s&  e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zej	 
deedƒd dd�edd„ edƒD ƒƒeg d¢d ƒeddd�edddd�eddd�ee d¡ejd�ee d¡ejd�ee d¡ejd�eddgƒedd„ edƒD ƒƒej eddƒ¡ej eg d ¢dƒ¡g¡d!d"„ ƒZej	 
d#eed�ed$gƒg¡d%d&„ ƒZd'd(„ Zd)d*„ Zd+d,„ Z d-d.„ Z!d/d0„ Z"d1d2„ Z#d3d4„ Z$ej	 
d5d6eg¡d7d8„ ƒZ%ej	 
d5d9d:g¡d;d<„ ƒZ&d=d>„ Z'd?d@„ Z(dAdB„ Z)ej	 
dCg dD¢¡dEdF„ ƒZ*dGdH„ Z+dIdJ„ Z,ej	 -dK¡ej	 
dLg dM¢¡ej	 
d5e.e/e0eg¡dNdO„ ƒƒƒZ1d9S )PÚTestSeriesMiscc                 C   s@   t tdƒƒ}dt|ƒv sJ ‚dt|ƒvsJ ‚dt|ƒvsJ ‚d S )NÚabcdÚstrÚdtÚcat©r   ÚlistÚdir©ÚselfÚs© r   úY/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pandas/tests/series/test_api.pyÚtest_tab_completion   s   z"TestSeriesMisc.test_tab_completionc                 C   sD   t tddd�ƒ}dt|ƒv sJ ‚dt|ƒvsJ ‚dt|ƒvs J ‚d S )Nú1/1/2015é   ©Úperiodsr   r
   r   )r   r   r   r   r   r   r   Útest_tab_completion_dt   s   z%TestSeriesMisc.test_tab_completion_dtc                 C   sD   t tdƒdd�}dt|ƒv sJ ‚dt|ƒv sJ ‚dt|ƒvs J ‚d S )NÚabbcdÚcategory©Údtyper   r
   r   r   r   r   r   r   Útest_tab_completion_cat#   s   z&TestSeriesMisc.test_tab_completion_catc                 C   sJ   t tddd�ƒ d¡}dt|ƒv sJ ‚dt|ƒvsJ ‚dt|ƒv s#J ‚d S )Nr   r   r   r   r   r
   r   )r   r   Úastyper   r   r   r   r   Útest_tab_completion_cat_str+   s   z*TestSeriesMisc.test_tab_completion_cat_strc                 C   sJ   g d¢}t tdƒƒ d¡}tdd„ |j ¡ D ƒƒ}t |tt|ƒƒ¡ d S )N)Ú
categoriesÚcodesÚorderedÚset_categoriesÚadd_categoriesÚremove_categoriesÚrename_categoriesÚreorder_categoriesÚremove_unused_categoriesÚ
as_orderedÚas_unorderedÚaabbcder   c                 S   s   h | ]	}|  d ¡s|’qS )Ú_)Ú
startswith)Ú.0Úrr   r   r   Ú	<setcomp>C   s    zFTestSeriesMisc.test_tab_completion_with_categorical.<locals>.<setcomp>)	r   r   r    Úsortedr   Ú__dir__ÚtmÚassert_almost_equalÚset)r   Ú
ok_for_catr   Úresultsr   r   r   Ú$test_tab_completion_with_categorical2   s   z3TestSeriesMisc.test_tab_completion_with_categoricalÚindexÚabr   r   r   c                 C   s   g | ]}t |ƒ‘qS r   )r
   ©r0   Úir   r   r   Ú
<listcomp>J   s    zTestSeriesMisc.<listcomp>é
   )ÚfooÚbarÚbazé   z
2020-01-01r   ÚD)r   Úfreqz1 dayTFc                 C   s   g | ]}d |› �‘qS )Úar   r=   r   r   r   r?   S   s    ée   ÚABCDÚEFGH)r   é   rD   é   c                 C   sh   t |td�}t|ƒ}t|jjdd�ƒD ]\}}|dk r+t|tƒr*| ¡ r*||v s*J ‚q||vs1J ‚qd S )N©r;   r   r   )Úleveléd   )	r   Úobjectr   Ú	enumerater;   ÚuniqueÚ
isinstancer
   Úisidentifier)r   r;   r   Údir_sr>   Úxr   r   r   Útest_index_tab_completionF   s   €üz(TestSeriesMisc.test_index_tab_completionÚserrK   c                 C   s@   d}t jt|d�� t|ƒ W d   ƒ d S 1 sw   Y  d S )Nzunhashable type: 'Series'©Úmatch)ÚpytestÚraisesÚ	TypeErrorÚhash©r   rX   Úmsgr   r   r   Útest_not_hashableb   s   
"ÿz TestSeriesMisc.test_not_hashablec                 C   s   t  |j|¡ d S ©N)r5   Úassert_contains_allr;   )r   Údatetime_seriesr   r   r   Útest_containsh   s   zTestSeriesMisc.test_containsc                 C   sj   t ddtjgƒ}t |jdd�|jdd�¡ | ¡  d¡dks!J ‚| d¡dks*J ‚| d¡dks3J ‚d S )NrK   rD   Úrows)Úaxisr;   rL   r   )	r   ÚnpÚnanr5   Úassert_series_equalÚdropnaÚsumÚ_get_axis_numberÚ_get_axis_namer   r   r   r   Útest_axis_aliask   s
   zTestSeriesMisc.test_axis_aliasc                 C   s   t  tj¡sJ ‚d S rb   )ÚpydocÚgetdocr   r;   )r   r   r   r   Útest_class_axisr   s   zTestSeriesMisc.test_class_axisc                 C   sR   t tj d¡ d¡g d¢tddd�d�}dd	„ }| |¡}| ¡ }t 	||¡ d S )
NrD   )éè  rL   )ÚAÚBÚCz1/1/2000rs   r   )Úcolumnsr;   c                 S   s   | |   ¡  S rb   )Úidxmax)rV   r   r   r   Úf   s   z-TestSeriesMisc.test_ndarray_compat.<locals>.f)
r   rh   ÚrandomÚdefault_rngÚstandard_normalr   ÚapplyÚmaxr5   rj   )r   Útsdfry   ÚresultÚexpectedr   r   r   Útest_ndarray_compatw   s   
ý
z"TestSeriesMisc.test_ndarray_compatc                 C   sF   t tj d¡ d¡ƒ}t t |¡ƒ}t dtdƒdd�}t ||¡ d S )NrD   r@   rK   Úfloat64rM   )	r   rh   rz   r{   r|   Ú	ones_likeÚranger5   rj   )r   r   r€   r�   r   r   r   Útest_ndarray_compat_like_func†   s   z,TestSeriesMisc.test_ndarray_compat_like_funcc                 C   sj   t tj d¡ d¡ƒ}tjtdd�� |jdd�}W d   ƒ n1 s#w   Y  t 	||j
jdd�¡ d S )NrD   r@   zravel is deprecatedrY   ÚF)Úorder)r   rh   rz   r{   r|   r5   Úassert_produces_warningÚFutureWarningÚravelr6   Úvalues©r   r   r€   r   r   r   Útest_ndarray_compat_ravel�   s
   ÿz(TestSeriesMisc.test_ndarray_compat_ravelc                 C   s   t td�}|js
J ‚d S )Nr   )r   rP   Úempty)r   Ús_emptyr   r   r   Útest_empty_method”   s   
z TestSeriesMisc.test_empty_methodr   Úint64c                 C   s   t dg|d�}|jrJ ‚d S )NrK   rM   )r   r�   )r   r   Úfull_seriesr   r   r   Útest_empty_method_full_series˜   s   z,TestSeriesMisc.test_empty_method_full_seriesNÚInt64c                 C   s"   t tdƒ|d�}|jdksJ ‚d S )Né	   r   )r   r…   Úsize)r   r   r   r   r   r   Útest_integer_series_size�   s   z'TestSeriesMisc.test_integer_series_sizec                 C   sF   t ddgdd�}|ji ksJ ‚d|jd< |d }|jddiks!J ‚d S )Nr   rK   Úabc)ÚnameÚversion)r   Úattrsr�   r   r   r   Ú
test_attrs£   s
   
zTestSeriesMisc.test_attrsc                 C   sN   t td�}d}tjt|dd�� t |¡ W d   ƒ d S 1 s w   Y  d S )Nr   zSeries._data is deprecatedF)rZ   Úcheck_stacklevel)r   rP   r5   r‰   ÚDeprecationWarningÚinspectÚ
getmembersr_   r   r   r   Útest_inspect_getmembersª   s   
ÿ"ýz&TestSeriesMisc.test_inspect_getmembersc                 C   sv   t dddd�}ttj d¡jdd�|d�}d|jvsJ ‚d	}tjt	|d
�� |j
 W d   ƒ d S 1 s4w   Y  d S )Nr   r@   Ú1s)Ústartr   rF   rD   )r—   )r;   rA   z&'Series' object has no attribute 'foo'rY   )r   r   rh   rz   r{   ÚnormalÚ__dict__r[   r\   ÚAttributeErrorrA   )r   ÚtdirX   r`   r   r   r   Útest_unknown_attribute³   s   "ÿz%TestSeriesMisc.test_unknown_attributeÚop)ÚyearÚdayÚsecondÚweekdayc                 C   sJ   d|› d�}t jt|d�� t||ƒ W d   ƒ d S 1 sw   Y  d S )Nz"'Series' object has no attribute 'ú'rY   )r[   r\   r§   Úgetattr)r   rª   rd   r`   r   r   r   Ú&test_datetime_series_no_datelike_attrs¼   s   "ÿz5TestSeriesMisc.test_datetime_series_no_datelike_attrsc                 C   s>   t ddddœƒ}|jdksJ ‚|jdksJ ‚|jdksJ ‚d S )NéÐ  rK   r@   ©r«   Úmonthr¬   )r   r«   r´   r¬   )r   rX   r   r   r   Ú)test_series_datetimelike_attribute_accessÃ   s   z8TestSeriesMisc.test_series_datetimelike_attribute_accessc                 C   sN   t ddddœƒ}d}tjt|d�� |j W d   ƒ d S 1 s w   Y  d S )Nr²   rK   r@   r³   z*'Series' object has no attribute 'weekday'rY   )r   r[   r\   r§   r®   r_   r   r   r   Ú1test_series_datetimelike_attribute_access_invalidÊ   s
   "ÿz@TestSeriesMisc.test_series_datetimelike_attribute_access_invalidz4ignore:Downcasting object dtype arrays:FutureWarningzkernel, has_numeric_only)$)ÚskewT)ÚvarT)ÚallF)ÚprodT)ÚanyF)ÚidxminF)ÚquantileF)rx   F)ÚminT)ÚsemT)ÚmeanT)ÚnuniqueF)r~   T)rl   T)ÚcountF)ÚmedianT)ÚstdT)ÚbackfillF)ÚrankT)Ú
pct_changeF)ÚcummaxF)ÚshiftF)ÚdiffF)ÚcumsumF)ÚcumminF)ÚcumprodF)ÚfillnaF)ÚffillF)ÚpadF)ÚbfillF)ÚsampleF)ÚtailF)ÚtakeF)ÚheadF)ÚcovF)ÚcorrFc           
      C   s~  t g d¢|d�}|dkr|f}n7|dkr|f}n/|dkr |f}n'|dkr'd}n |dkr.d	}n|dkr5d
}n|dkr>dgf}n	|dkrEd}nd}t||ƒ}|sqd}tjt|d�� ||ddiŽ W d   ƒ d S 1 sjw   Y  d S |tu rœd|› d�}tjt|d�� ||ddiŽ W d   ƒ d S 1 s•w   Y  d S ||ddiŽ}||ddiŽ}	t|	t ƒr·t ||	¡ d S ||	ks½J ‚d S )N)r   rK   rK   r   Úcorrwithr×   rÖ   Únth)r   rÎ   )T)rÏ   rÔ   r   r½   )g      à?r   zP(got an unexpected keyword argument 'numeric_only'|too many arguments passed in)rY   Únumeric_onlyTzSeries.z2 does not allow numeric_only=True with non-numericF)	r   r°   r[   r\   r]   rP   rS   r5   rj   )
r   ÚkernelÚhas_numeric_onlyr   rX   ÚargsÚmethodr`   r€   r�   r   r   r   Útest_numeric_onlyÐ   sF   -

ÿ"ÿ"ÿ
z TestSeriesMisc.test_numeric_only)2Ú__name__Ú
__module__Ú__qualname__r   r   r   r!   r:   r[   ÚmarkÚparametrizer   r   r…   r   r   r   rh   ÚarangeÚuint64r’   rƒ   ÚpdÚ
MultiIndexÚfrom_tuplesÚziprW   r   rP   ra   re   ro   rr   r‚   r†   rŽ   r‘   r”   r˜   r�   r¢   r©   r±   rµ   r¶   ÚfilterwarningsÚboolÚintÚfloatrß   r   r   r   r   r      sf    


óþ




		

þ)r   Ú	converterc                 C   sJ   t  t¡� | tdgƒƒ| dƒksJ ‚W d   ƒ d S 1 sw   Y  d S )NrK   )r5   r‰   rŠ   r   )rï   r   r   r   Útest_float_int_deprecated'  s   "ÿrð   )r    rp   Únumpyrh   r[   Úpandasrç   r   r   r   r   r   r   Úpandas._testingÚ_testingr5   r   rã   rä   rí   rî   Úcomplexrð   r   r   r   r   Ú<module>   s       