o
    Û­jœ&  ã                
   @   sB  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 dd„ Zdd„ Zdd„ Zej d	d
d
dgg¡dd„ ƒZdd„ Zdd„ Zdd„ Zej d¡ej dddg¡ej d	dgddgg¡dd„ ƒƒƒZdd„ ZG dd„ dƒZej d eeeg¡ej d!g d"¢d#dd$œg d"¢dd%gd$œg d"¢d%gdd$œg¡d&d'„ ƒƒZdS )(é    N)Ú	DataFrameÚIndexÚ
MultiIndexÚSeriesÚ	TimestampÚ
date_rangec                 C   s   | j dd�}| ¡  d S )NÚfirst)Úlevel)ÚgroupbyÚdescribe)Ú multiindex_dataframe_random_dataÚgrouped© r   úg/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pandas/tests/groupby/methods/test_describe.pyÚtest_apply_describe_bug   s   r   c                  C   sŠ   t tjdtjd�tddd�d�} |  dd„ dd„ g¡}| ¡ }tj|d	 | 	¡ d
d� tj|d | 
¡ d
d� tj|d | ¡ d
d� d S )Né
   ©Údtypeú
2020-01-01©Úperiods©Úindexc                 S   ó   | j S ©N©Úyear©Úxr   r   r   Ú<lambda>   ó    z/test_series_describe_multikey.<locals>.<lambda>c                 S   r   r   ©Úmonthr   r   r   r   r      r    ÚmeanF)Úcheck_namesÚstdÚmin)r   ÚnpÚarangeÚfloat64r   r
   r   ÚtmÚassert_series_equalr#   r%   r&   )Útsr   Úresultr   r   r   Útest_series_describe_multikey   s   ÿr.   c                  C   s\   t tjdtjd�tddd�d�} |  dd„ ¡}| dd„ ¡}| ¡ jd	d
�}t	 
||¡ d S )Nr   r   r   r   r   c                 S   r   r   r!   r   r   r   r   r   $   r    z-test_series_describe_single.<locals>.<lambda>c                 S   s   |   ¡ S r   )r   r   r   r   r   r   %   s    T)Úfuture_stack)r   r'   r(   r)   r   r
   Úapplyr   Ústackr*   r+   )r,   r   r-   Úexpectedr   r   r   Útest_series_describe_single    s   ÿr3   ÚkeysÚkey1Úkey2c                 C   s¸   t g d¢g d¢g d¢dœƒ}|j|| d�d }| ¡ }t g d¢g d¢g d¢tjtjd	gg d
¢g d¢g d¢g d¢g d¢dœ	ƒ}t|ƒdkrM| dd|d ¡ | rT| |¡}t 	||¡ d S )N)ÚoneÚtwor8   Úthreer8   )é   é   é   r<   é   )r5   r6   Úfoo2©Úas_indexr>   )r7   r9   r8   )ç      ð?rA   ç      @)rA   ç      @rC   ç       @)rA   rC   rD   )rA   rC   rB   )rA   rC   ç      @)rA   rC   ç      @)	r5   Úcountr#   r%   r&   ú25%ú50%ú75%Úmaxr;   r:   r6   r5   )
r   r
   r   r'   ÚnanÚlenÚinsertÚ	set_indexr*   Úassert_frame_equal)r@   r4   ÚdfÚgbr-   r2   r   r   r   Útest_series_describe_as_index*   s2   ýÿ÷ÿ
rS   c                 C   sF  |   dd„ dd„ g¡}| ¡ }g }| D ]3}||  ¡ }tt|g| jjd�|jgdgt|jƒ tt|jƒƒgd�}t|j	||j
d�}| |¡ qtj|dd	�}t ||¡ |rXd S d
}	tjt|	d�� | j dddddœdd	�}
W d   ƒ n1 sxw   Y  |
 ¡ }|  ¡ j}tddg|j
gg d¢tt|j
ƒƒgd�|_
t ||¡ d S )Nc                 S   r   r   r   r   r   r   r   r   K   r    z.test_frame_describe_multikey.<locals>.<lambda>c                 S   r   r   r!   r   r   r   r   r   K   r    r   r   ©ÚlevelsÚcodes)Úcolumnsr   r:   ©Úaxisz+DataFrame.groupby with axis=1 is deprecated©Úmatch)ÚAÚBÚCÚD)r   r   r:   r:   )r
   r   r   r   rW   r   rM   Úranger   Úvaluesr   ÚappendÚpdÚconcatr*   rP   Úassert_produces_warningÚFutureWarningÚT)ÚtsframeÚusing_infer_stringr   r-   Údesc_groupsÚcolÚgroupÚ	group_colr2   ÚmsgÚgroupedTr   r   r   Útest_frame_describe_multikeyJ   s4   þÿ
þrp   c                  C   sÊ   t g d¢d g d¢d g d¢d dœƒ} g d¢d | d< | jdd	id
�}d}tjt|d�� |  d¡ ¡  W d   ƒ n1 s?w   Y  tjt|d�� | d	¡ ¡  W d   ƒ d S 1 s^w   Y  d S )N)r:   r;   é   r<   é   rq   )r   é   é   é(   é2   )éd   éÈ   i,  i�  iô  )r   ÚyÚz))r   r   r:   )r   r:   r   )r:   r   r   rr   ÚkÚkey©rW   z*Names should be list-like for a MultiIndexrZ   )r   ÚrenameÚpytestÚraisesÚ
ValueErrorr
   r   )Údf1Údf2rn   r   r   r   Útest_frame_describe_tupleindexk   s   


ýÿÿ"ÿr„   c                  C   sÐ   t dd d�dt dd d�dt dd d�di} t dd d�dt dd d�dt dd d�d	i}t| |d
œƒ}| d¡j ¡ }||jdk j ¡ j ¡ ||jdk j ¡ j ¡ g}t|tddgdd�g d¢d�}t	 
||¡ d S )Nz2011-01-06 10:59:05)Útziža  z2011-01-06 12:43:33i›c  z2011-01-06 12:54:09i /hYl    rT i áõ)ÚPRICEÚVOLUMEr†   ©Úname©rG   r#   r%   r&   rH   rI   rJ   rK   ©r   rW   )r   r   r
   r‡   r   r†   ra   Útolistr   r*   rP   )ÚpricesÚvolumesrQ   r-   Údatar2   r   r   r   Ú$test_frame_describe_unstacked_format}   s&   ýýþýr�   zZignore:indexing past lexsort depth may impact performance:pandas.errors.PerformanceWarningr@   TFÚa1Úa2c                 C   sâ   t g d¢g d¢g d¢g d¢dœg d¢dd�}|dgkr!|jd	d
�}t  g d¢¡ ddg¡j}d d g|j_t|ƒdkrQtddgddggddgddggdd	gd�|_	n	t
ddgdd�|_	| s`| ¡ }|j|| d� ¡ }t ||¡ d S )N)éc   r“   r“   éX   r”   r”   )r:   r;   rq   r<   rr   r=   )r   rs   rt   ru   rv   é<   )r‘   r’   ÚbÚc)r‘   r’   r–   r–   F)rW   Úcopyr‘   r’   r}   )©r–   rG   rB   rB   ©r–   r#   rE   rD   ©r–   r%   rA   rA   ©r–   r&   rC   rA   ©r–   rH   g      @g      ø?©r–   rI   rE   rD   ©r–   rJ   g      @g      @©r–   rK   rF   rB   r™   rš   r›   rœ   r�   rž   rŸ   r    r   r:   r;   r”   r“   )rU   rV   Únamesrˆ   r?   )r   ÚdropÚfrom_recordsrO   rg   rW   r¡   rM   r   r   r   Úreset_indexr
   r   r*   rP   )r@   r4   rQ   r2   r-   r   r   r   Ú0test_describe_with_duplicate_output_column_names—   s6   	üø

ÿ
ê"
ÿr¥   c                     s´   t g d¢gƒ} g d¢| _|  | d ¡}|jg d�}g d¢‰ ‡ fdd„dD ƒ}tj|dd	�}td
dgˆ gdd
g ddg  dd
g  dttdƒƒ gd�|_dg|j	_
t ||¡ d S )N)r   r:   r;   rq   )r   r:   r;   r   r:   )Úpercentiles)rG   r#   r%   r&   rI   rK   c              	      s,   g | ]}t d |tj|||ggdgˆ d�‘qS )rA   r:   r‹   ©r   r'   rL   )Ú.0Úvalr}   r   r   Ú
<listcomp>Ý   s    ÿÿz3test_describe_duplicate_columns.<locals>.<listcomp>)ç        rD   rB   rX   r   r;   r=   rq   rT   )r   rW   r
   r   rc   rd   r   Úlistr`   r   r¡   r*   rP   )rQ   rR   r-   Úframesr2   r   r}   r   Útest_describe_duplicate_columnsÕ   s   

þ
,þ
r®   c                   @   s>   e Zd Zejdd„ ƒZejdd„ ƒZejdd„ ƒZdd„ Zd	S )
ÚTestGroupByNonCythonPathsc                 C   s.   t g d¢dtjdgdtjdggg d¢d�}|S )N)r:   r;   Úfoor:   Úbarrq   Úbaz©r\   r]   r^   r}   r§   )ÚselfrQ   r   r   r   rQ   î   s
   þzTestGroupByNonCythonPaths.dfc                 C   s   |  d¡}|S )Nr\   ©r
   )r´   rQ   rR   r   r   r   rR   ö   s   
zTestGroupByNonCythonPaths.gbc                 C   s   |j ddd�}|S )Nr\   Fr?   rµ   )r´   rQ   Úgnir   r   r   r¶   û   s   zTestGroupByNonCythonPaths.gnic              
   C   s®   t ddgdd�}tdgg d¢gdgd ttdƒƒgd	�}td
dtjdddddgdtjtjtjtjtjtjtjgg||d�}| ¡ }t 	||¡ | 
¡ }| ¡ }t 	||¡ d S )Nr:   rq   r\   rˆ   r]   rŠ   r   é   rT   rA   rD   r«   r‹   )r   r   r¬   r`   r   r'   rL   r   r*   rP   r¤   )r´   rQ   rR   r¶   Úexpected_indexÚexpected_colr2   r-   r   r   r   Útest_describe   s"   þ þúz'TestGroupByNonCythonPaths.test_describeN)	Ú__name__Ú
__module__Ú__qualname__r   ÚfixturerQ   rR   r¶   rº   r   r   r   r   r¯   ê   s    


r¯   r   Úkwargs)gš™™™™™¹?gš™™™™™É?g333333Ó?Úall)r¦   ÚincludeÚexcludeÚintc                 C   sþ   t g d¢gg d¢| d�}|d  t¡|d< |d  t¡|d< |jd d…  d¡jdi |¤Ž}| d¡jdi |¤Žjdd	�jd d… }t 	||¡ |jd d…  d¡j
jdi |¤Ž}| d¡j
jdi |¤Žjdd	�jd d… }tg |jjd
�|_t 	||¡ d S )N)r:   r;   rq   r³   )rW   r   r]   r^   r   r\   T)r¢   r   r   )r   ÚastyperÃ   ÚfloatÚilocr
   r   r¤   r*   rP   r]   r   rW   r   r   )r   r¿   rQ   r-   r2   r   r   r   Útest_groupby_empty_dataset  s    ("*rÇ   )Únumpyr'   r   Úpandasrc   r   r   r   r   r   r   Úpandas._testingÚ_testingr*   r   r.   r3   ÚmarkÚparametrizerS   rp   r„   r�   Úfilterwarningsr¥   r®   r¯   rÃ   rÅ   ÚobjectrÇ   r   r   r   r   Ú<module>   s<     

!ÿ7-ýþ